Дастур бо истифода аз TensorFlow барои шурӯъкунандагон

Дастури TensorFlow барои шурӯъкунандагон

TensorFlow яке аз маъмултарин чаҳорчӯбаҳо барои омӯзиши амиқ ва омӯзиши мошинӣ мебошад. TensorFlow, ки аз ҷониби дастаи Google Brain таҳия шудааст, дар лоиҳаҳои сершумори тадқиқотӣ ва барномаҳои саноатӣ васеъ истифода шудааст. Ин мақола як дастури қадам ба қадамро пешниҳод мекунад, то ба шумо ҳамчун як шурӯъкунанда дар оғози кор бо 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
source myenv/bin/activate Барои корбарони Mac/Linux
myenv\Scripts\activate Барои корбарони Windows
""

3. Насби TensorFlow:
Акнун, TensorFlow-ро бо истифода аз pip насб кунед:
"`ш
насби пип тензорфлоу
""

3. Салом Ҷаҳон бо TensorFlow

Акнун, ки TensorFlow насб шудааст, биёед скрипти оддии Python-ро барои тасдиқи насб эҷод кунем. Файли нави Python эҷод кунед ва онро `hello_tensorflow.py` номгузорӣ кунед.

"`питон
воридоти тензорflow ҳамчун tf

Як доимӣ эҷод кунед
салом = tf.constant('Салом, TensorFlow!')

Оғози сессия
бо tf.Session() ҳамчун сессия:
натиҷа = sess.run(салом)
чоп (натиҷа)
""

Кодро мувофиқи версияи 2.x TensorFlow мутобиқ кунед:

"`питон
воридоти тензорflow ҳамчун tf

Як доимӣ эҷод кунед
салом = tf.constant('Салом, TensorFlow!')

Иҷро бо истифода аз иҷрои дилхоҳ (пешфарз фаъол аст)
чоп(салом.numpy())
""

Файлро захира кунед ва сипас иҷро кунед:
"`ш
python hello_tensorflow.py
""

4. Фаҳмидани тензорҳо ва амалиётҳои асосӣ

Тензорҳо сохтори асосии додаҳо дар TensorFlow мебошанд, ки массивҳои бисёрченака мебошанд. Инҳоянд чанд мисол барои фаҳмидани тензорҳо:

"`питон
воридоти тензорflow ҳамчун tf

Эҷоди тензорҳо
скалярӣ = tf. доимӣ(7) скалярӣ
вектор = tf. доимӣ([1, 2, 3]) вектор
матритса = tf. доимӣ([[1, 2], [3, 4]]) матритса
tensor3d = tf.constant([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) Тензори сеченака

чоп(f'Scalar: {scalar}')
чоп(f'Вектор: {вектор}')
чоп(f'Матритса: {матритса}')
чоп (f'Tensor 3D: {tensor3d}')
""

Барои иҷрои амалиётҳои асосӣ дар тензорҳо:

"`питон
a = tf.constant([[1, 2], [3, 4]])
b = tf.constant([[5, 6], [7, 8]])

Амали илова
илова кардан = tf.add(a, b)
Амалҳои зарби матритса
мул = tf.matmul(a, b)

чоп(f'Илова: {илова}')
print(f'Зарбии матритса: {mul}')
""

5. Эҷоди модели оддии шабакаи асабӣ

Қадами навбатӣ эҷоди модели оддии шабакаи нейронӣ мебошад. Мо модели таснифоти тасвирро бо истифода аз маҷмӯи додаҳои MNIST, ки пойгоҳи додаҳои тасвирҳои рақамии дастнавис аст, месозем. Биёед оғоз кунем:

"`питон
воридоти тензорflow ҳамчун tf
аз tensorflow.keras воридоти маҷмӯаҳои додаҳо, қабатҳо ва моделҳо

Зеркашии маҷмӯи додаҳои MNIST
(тасвирҳои_қаторӣ, тамғаҳои_қаторӣ), (тасвирҳои_тестӣ, тамғаҳои_тестӣ) = маҷмӯи додаҳо.mnist.load_data()

Нормализатсияи тасвир
тасвирҳои_қаторӣ, тасвирҳои_тестӣ = тасвирҳои_қаторӣ / 255.0, тасвирҳои_тестӣ / 255.0

Сохтани модел
модел = моделҳо.Пайдарпай([
қабатҳо.Ҳамвор кардан(input_shape=(28, 28)),
қабатҳои зич (128, фаъолсозӣ = 'relu'),
қабатҳо. Зич(10)
])

Тартиб додани модел
model.compile(optimizer='adam',
талафот=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
метрикаҳо = ['дақиқӣ']])

Омӯзиши модел
model.fit(тасвирҳои_қаторӣ, тамғаҳои_қаторӣ, давраҳо=5)

Санҷиши модел
озмоиши_талафот, озмоиши_аcc = модел.баҳодиҳӣ(озмоиши_тасвирҳо, озмоиши_тамғаҳо)
чоп(f'Дақиқии санҷиш: {test_acc}')
""

Шарҳ:
– Маҷмӯи додаҳо: Мо маҷмӯи додаҳои MNIST-ро ворид ва бор мекунем.
– Коркарди пешакӣ: Маҷмӯи додаҳоро бо тақсим кардани арзишҳои пиксел ба 255 ба меъёр гардонед.
– Модел: Мо модели оддиро бо ду қабат муайян мекунем. Қабати аввал қабати "Ҳамвор" аст, ки тасвири 2D-ро ба массиви 1D табдил медиҳад. Қабати дуюм қабати "Зич" бо 128 нейрон ва "relu" ҳамчун функсияи фаъолсозӣ мебошад ва охирин қабати "Зич" бо 10 нейрон, ки 10 синфро ифода мекунанд, мебошад.
– Компиляция: Мо моделро бо истифода аз оптимизатори `adam` ва `SparseCategoricalCrossentropy` ҳамчун функсияи талафот тартиб медиҳем.
– Омӯзиш: Моделро барои 5 давра омӯзонед.
– Арзёбӣ: Моделро бо маълумоти санҷишӣ арзёбӣ кунед.

6. Моделҳои захиракунӣ ва боркунӣ

Пас аз омӯзонидани модел, шумо метавонед онро барои истифодаи баъдӣ бидуни аз нав омӯзонидани он захира кунед. Ин аст, ки чӣ тавр моделро захира ва бор кардан мумкин аст:

"`питон
Нигоҳдории модел
модел.захира кардан('модели_ман_ҳ5')

Модели боркунӣ
модели_нав = tf.keras.models.load_model('модели_ман.h5′)

Тасдиқи модели боршуда
талафот, acc = new_model.evaluate(test_images, test_labels)
print(f'Дақиқии модели боршуда: {acc}')
""

Хулоса

Ин дастур муқаддимаи муфассалро дар бораи оғози кор бо TensorFlow барои шурӯъкунандагон пешниҳод мекунад. Мо насб, амалиётҳои асосии тензор ва сохтани модели оддии шабакаи асабро бо истифода аз маҷмӯи додаҳои MNIST баррасӣ кардем. TensorFlow имконоти зиёди пешрафтаро барои омӯхтан пешниҳод мекунад, ба монанди коркарди пешрафтаи маълумот, моделҳои мураккабтар ва истифодаи TensorFlow дар дастгоҳҳо ба монанди TPU ва GPU. Мо умедворем, ки ин дастур ба шумо дар оғози кор дар ҷаҳони омӯзиши мошинӣ бо TensorFlow кӯмак мекунад.

Шарҳ гузоред