Падручнік па TensorFlow для пачаткоўцаў
TensorFlow — адзін з самых папулярных фрэймворкаў для глыбокага навучання і машыннага навучання. Распрацаваны камандай Google Brain, TensorFlow шырока выкарыстоўваецца ў шматлікіх даследчых праектах і прамысловых ужываннях. Гэты артыкул змяшчае пакрокавае кіраўніцтва, якое дапаможа вам, як пачаткоўцу, пачаць працаваць з TensorFlow.
1. Разуменне асноў TensorFlow
Перш чым пачаць усталёўваць і выкарыстоўваць TensorFlow, важна зразумець, што такое TensorFlow і якія асноўныя канцэпцыі ён мае. TensorFlow — гэта фрэймворк з адкрытым зыходным кодам для лікавых вылічэнняў і машыннага навучання . Ён выкарыстоўвае графы патокаў дадзеных для выканання лікавых аперацый, дзе вузлы ў графе ўяўляюць сабой матэматычныя аперацыі, а рэбры — шматмерныя масівы дадзеных (тэнзары), звязаныя паміж імі.
2. Усталёўка TensorFlow
Першы крок у выкарыстанні TensorFlow — гэта яго ўстаноўка. Вось як усталяваць TensorFlow з дапамогай pip, менеджара пакетаў Python.
1. Усталёўка Python:
Пераканайцеся, што ў вашай сістэме ўсталяваны Python. На момант напісання гэтага артыкула TensorFlow сумяшчальны з Python версій ад 3.6 да 3.9. Вы можаце спампаваць Python з афіцыйнага сайта Python.
2. Віртуальнае асяроддзе:
Настойліва рэкамендуецца стварыць віртуальнае асяроддзе для ізаляцыі вашага праекта TensorFlow:
«ш»
python -m venv myenv
зыходны код myenv/bin/activate Для карыстальнікаў Mac/Linux
myenv\Scripts\activate Для карыстальнікаў Windows
"
3. Усталёўка TensorFlow:
Цяпер усталюйце TensorFlow з дапамогай pip:
«ш»
pip ўсталяваць tensorflow
"
3. Прывітанне, свет з TensorFlow
Цяпер, калі TensorFlow усталяваны, давайце створым просты скрыпт Python для праверкі ўсталёўкі. Стварыце новы файл Python і назавіце яго `hello_tensorflow.py`.
«пітон
імпартаваць tensorflow як tf
Стварыць канстанту
прывітанне = tf.constant('Прывітанне, TensorFlow!')
Пачаць сеанс
з tf.Session() як sess:
вынік = sess.run(прывітанне)
друк (вынік)
"
Адаптуйце код у адпаведнасці з TensorFlow версіі 2.x:
«пітон
імпартаваць tensorflow як tf
Стварыць канстанту
прывітанне = tf.constant('Прывітанне, TensorFlow!')
Запускаць з выкарыстаннем неадкладнага выканання (па змаўчанні ўключана)
друк(прывітанне.numpy())
"
Захавайце файл, а затым запусціце:
«ш»
python hello_tensorflow.py
"
4. Разуменне тэнзарных элементаў і асноўных аперацый
Тэнзары — гэта асноўная структура дадзеных у TensorFlow, якая ўяўляе сабой шматмерныя масівы. Вось некалькі прыкладаў, якія дапамогуць вам зразумець тэнзары:
«пітон
імпартаваць tensorflow як tf
Стварэнне тэнзараў
скаляр = tf.constant(7) скаляр
вектар = tf.канстанта([1, 2, 3]) вектар
матрыца = tf.constant([[1, 2], [3, 4]]) матрыца
tensor3d = tf.constant([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) 3D-тэнзар
print(f'Скаляр: {скаляр}')
print(f'Вектар: {вектар}')
print(f'Матрыца: {матрыца}')
print(f'Тэнзар 3D: {тэнзар 3d}')
"
Каб выканаць асноўныя аперацыі з тэнзарамі:
«пітон
a = tf.constant([[1, 2], [3, 4]])
b = tf.constant([[5, 6], [7, 8]])
Аперацыя складання
дадаць = tf.дадаць(a, b)
Аперацыі множання матрыц
mul = tf.matmul(a, b)
print(f'Дапаўненне: {дадаць}')
print(f'Множанне матрыц: {mul}')
"
5. Стварэнне простай мадэлі нейроннай сеткі
Наступны крок — стварэнне простай мадэлі нейроннай сеткі. Мы пабудуем мадэль класіфікацыі малюнкаў, выкарыстоўваючы набор дадзеных MNIST, базу дадзеных рукапісных лічбаў. Пачнем:
«пітон
імпартаваць tensorflow як tf
з tensorflow.keras імпартаваць наборы дадзеных, пласты, мадэлі
Загрузка набору дадзеных MNIST
(выявы_цягніка, этыкеткі_цягніка), (тэставыя_выявы, тэставыя_этыкеткі) = datasets.mnist.load_data()
Нармалізацыя выявы
выявы_цягніка, тэставыя_выявы = выявы_цягніка / 255.0, тэставыя_выявы / 255.0
Стварэнне мадэлі
мадэль = мадэлі.Паслядоўнасць([
layers.Flatten(input_shape=(28, 28)),
layers.Dense(128, activation='relu'),
пласты.Шчыльны(10)
])
Кампіляцыя мадэлі
model.compile(аптымізатар='адам',
страта=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
metrics=['дакладнасць'])
Навучанне мадэлі
model.fit(train_images, train_labels, epochs=5)
Тэставанне мадэлі
test_loss, test_acc = model.evaluate(test_images, test_labels)
print(f'Дакладнасць тэсту: {test_acc}')
"
Тлумачэнне:
– Наборы даных: Мы імпартуем і загружаем набор даных MNIST.
– Папярэдняя апрацоўка: нармалізацыя набору дадзеных шляхам дзялення значэнняў пікселяў на 255.
– Мадэль: Мы вызначаем простую мадэль з двума пластамі. Першы пласт — гэта пласт «Flatten» для пераўтварэння 2D-выявы ў 1D-масіў. Другі пласт — гэта пласт «Dense» са 128 нейронамі і функцыяй актывацыі «relu», а апошні — гэта пласт «Dense» з 10 нейронамі, якія прадстаўляюць 10 класаў.
– Кампіляцыя: Мы кампілюем мадэль, выкарыстоўваючы аптымізатар `adam` і `SparseCategoricalCrossentropy` у якасці функцыі страт.
– Навучанне: Навучанне мадэлі на працягу 5 эпох.
– Ацэнка: Ацаніце мадэль у параўнанні з тэставымі дадзенымі.
6. Захаванне і загрузка мадэляў
Пасля навучання мадэлі вы можаце захаваць яе для наступнага выкарыстання без неабходнасці перавучвання. Вось як захаваць і загрузіць мадэль:
«пітон
Захаванне мадэлі
мадэль.захаваць('мая_мадэль.h5')
Загрузка мадэлі
new_model = tf.keras.models.load_model('мая_мадэль.h5')
Праверка загружанай мадэлі
страта, acc = new_model.evaluate(test_images, test_labels)
print(f'Дакладнасць загружанай мадэлі: {acc}')
"
Выснова
Гэта кіраўніцтва змяшчае падрабязнае ўвядзенне ў працу з TensorFlow для пачаткоўцаў. Мы разгледзелі ўстаноўку, асноўныя аперацыі з тэнзарамі і стварэнне простай мадэлі нейроннай сеткі з выкарыстаннем набору дадзеных MNIST. TensorFlow прапануе мноства пашыраных магчымасцей для вывучэння, такіх як пашыраная апрацоўка дадзеных , больш складаныя мадэлі і выкарыстанне TensorFlow на такіх прыладах, як TPU і GPU. Мы спадзяемся, што гэта кіраўніцтва дапаможа вам пачаць працу ў свеце машыннага навучання з TensorFlow.