Жаңадан бастаушыларға арналған TensorFlow оқулығы
TensorFlow - терең оқыту және машиналық оқытуға арналған ең танымал фреймворктардың бірі. Google Brain командасы әзірлеген TensorFlow көптеген зерттеу жобаларында және өнеркәсіптік қолданбаларда кеңінен қолданылды. Бұл мақалада сізге жаңадан бастаушы ретінде TensorFlow-мен жұмыс істеуді бастауға көмектесетін қадамдық нұсқаулық берілген.
1. TensorFlow негіздерін түсіну
TensorFlow орнатуды және пайдалануды бастамас бұрын, TensorFlow деген не екенін және оның негізгі тұжырымдамаларын түсіну маңызды. TensorFlow - сандық есептеулер мен машиналық оқытуға арналған ашық бастапқы кодты құрылым. Ол сандық операцияларды орындау үшін деректер ағынының графиктерін пайдаланады, мұнда графиктегі түйіндер математикалық операцияларды, ал жиектер олардың арасында байланысқан көп өлшемді деректер массивтерін (тензорларды) білдіреді.
2. TensorFlow орнатуы
TensorFlow бағдарламасын пайдаланудың алғашқы қадамы - оны орнату. TensorFlow бағдарламасын Python пакет менеджері pip арқылы қалай орнату керектігі туралы мына жерден біле аласыз.
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 арқылы орнатыңыз:
«`ш
pip install tensorflow
««
3. TensorFlow көмегімен әлемге сәлем
TensorFlow орнатылғаннан кейін, орнатуды тексеру үшін қарапайым Python скриптін жасайық. Жаңа Python файлын жасап, оны `hello_tensorflow.py` деп атаңыз.
«` питон
тензор ағынын tf ретінде импорттау
Тұрақты мәнді жасаңыз
сәлем = tf.constant('Сәлем, TensorFlow!')
Сеансты бастау
tf.Session() функциясын сесс ретінде пайдалану арқылы:
нәтиже = sess.run(сәлем)
басып шығару (нәтиже)
««
Кодты TensorFlow 2.x нұсқасына сәйкес бейімдеңіз:
«` питон
тензор ағынын tf ретінде импорттау
Тұрақты мәнді жасаңыз
сәлем = tf.constant('Сәлем, TensorFlow!')
Ehtirasly орындау арқылы іске қосыңыз (әдепкі бойынша қосулы)
басып шығару(сәлем.numpy())
««
Файлды сақтаңыз, содан кейін іске қосыңыз:
«`ш
python hello_tensorflow.py
««
4. Тензорларды және негізгі операцияларды түсіну
Тензорлар - TensorFlow бағдарламасындағы көп өлшемді массивтер болып табылатын негізгі деректер құрылымы. Тензорларды түсінуге көмектесетін бірнеше мысалдар:
«` питон
тензор ағынын 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]]]) 3D тензоры
басып шығару(f'Скалярлық: {скалярлық}')
басып шығару(f'Вектор: {вектор}')
print(f'Матрица: {матрица}')
басып шығару(f'Tensor 3D: {tensor3d}')
««
Тензорларда негізгі операцияларды орындау үшін:
«` питон
a = tf.тұрақты([[1, 2], [3, 4]])
b = tf.тұрақты([[5, 6], [7, 8]])
Қосу операциясы
қосу = tf.add(a, b)
Матрицаны көбейту амалдары
mul = tf.matmul(a, b)
басып шығару(f'Қосу: {қосу}')
print(f'Матрицаны көбейту: {mul}')
««
5. Қарапайым нейрондық желі моделін құру
Келесі қадам - қарапайым нейрондық желі моделін жасау. Біз қолжазбамен жазылған сандық кескіндердің дерекқоры болып табылатын MNIST деректер жиынтығын пайдаланып кескіндерді жіктеу моделін құрамыз. Бастайық:
«` питон
тензор ағынын tf ретінде импорттау
tensorflow.keras деректер жиынтықтарын, қабаттарын, модельдерін импорттау
MNIST деректер жиынтығын жүктеу
(train_images, train_labels), (test_images, test_labels) = datasets.mnist.load_data()
Кескінді қалыпқа келтіру
train_images, test_images = train_images / 255.0, test_images / 255.0
Модель жасау
модель = модельдер.Тізбекті([
қабаттар.Flatten(input_shape=(28, 28)),
қабаттар.Тығыз(128, белсендіру='relu'),
қабаттар. Тығыз(10)
])
Модель құрастыру
model.compile(оптимизатор='адам',
жоғалту=tf.keras.losses.SarseCategoricalCrossentropy(from_logits=True),
метрика=['дәлдік'])
Модельді оқыту
model.fit(train_images, train_labels, epochs=5)
Модельді сынау
test_loss, test_acc = model.evaluate(test_images, test_labels)
print(f'Тест дәлдігі: {test_acc}')
««
Түсініктеме:
– Деректер жиынтықтары: Біз MNIST деректер жиынын импорттаймыз және жүктейміз.
– Алдын ала өңдеу: Пиксель мәндерін 255-ке бөлу арқылы деректер жиынтығын қалыпқа келтіріңіз.
– Модель: Біз екі қабатты қарапайым модельді анықтаймыз. Бірінші қабат – 2D кескінді 1D массивке түрлендіруге арналған «Flatten» қабаты. Екінші қабат – 128 нейрон және активация функциясы ретінде «relu» бар «Dense» қабаты, ал соңғысы – 10 класты білдіретін 10 нейрон бар «Dense» қабаты.
– Компиляция: Біз модельді `adam` оңтайландырғышын және `SparseCategoricalCrossentropy` функциясын шығын функциясы ретінде пайдаланып компиляциялаймыз.
– Оқыту: Модельді 5 дәуірге үйретіңіз.
– Бағалау: Модельді сынақ деректерімен салыстырыңыз.
6. Модельдерді сақтау және жүктеу
Модельді оқытқаннан кейін, оны қайта оқытпай-ақ кейінірек пайдалану үшін сақтап қоюыңыз мүмкін. Модельді қалай сақтау және жүктеу керек:
«` питон
Модельді сақтау
model.save('менің_үлгім.h5')
Жүктелу моделі
жаңа_үлгі = tf.keras.models.load_model('менің_үлгім.h5')
Жүктелген модельді тексеру
жоғалту, acc = new_model.evaluate(test_images, test_labels)
print(f'Жүктелген модельдің дәлдігі: {acc}')
««
Қорытынды
Бұл нұсқаулық жаңадан бастаушыларға TensorFlow-мен жұмысты бастау туралы егжей-тегжейлі кіріспе ұсынады. Біз орнатуды, негізгі тензорлық операцияларды және MNIST деректер жиынтығын пайдаланып қарапайым нейрондық желі моделін құруды қарастырдық. TensorFlow зерттеуге арналған көптеген кеңейтілген мүмкіндіктерді ұсынады, мысалы, кеңейтілген деректерді өңдеу, күрделі модельдер және TPU және GPU сияқты құрылғыларда TensorFlow-ды пайдалану. Бұл оқулық сізге TensorFlow көмегімен машиналық оқыту әлемінде жұмыс істеуге көмектеседі деп үміттенеміз.