Башталгычтар үчүн 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 орнотуу tensorflow
""
3. TensorFlow менен Салам Дүйнө
Эми TensorFlow орнотулгандан кийин, орнотууну текшерүү үчүн жөнөкөй Python скриптин түзөлү. Жаңы Python файлын түзүп, ага `hello_tensorflow.py` деп ат коюңуз.
"`python
tf катары импорттоо тензорflow
Константа түзүү
салам = tf.constant('Салам, TensorFlow!')
Сеансты баштоо
tf.Session() функциясын сессия катары колдонуп:
натыйжа = sess.run(салам)
басып чыгаруу (натыйжа)
""
Кодду TensorFlow 2.x версиясына ылайык ыңгайлаштырыңыз:
"`python
tf катары импорттоо тензорflow
Константа түзүү
салам = tf.constant('Салам, TensorFlow!')
Эңсеген аткарууну колдонуп иштетиңиз (демейки шартта күйгүзүлгөн)
басып чыгаруу(hello.numpy())
""
Файлды сактап, андан кийин төмөнкүнү иштетиңиз:
"`ш
python hello_tensorflow.py
""
4. Тензорлорду жана негизги операцияларды түшүнүү
Тензорлор – бул TensorFlow программасындагы негизги маалымат түзүмү, алар көп өлчөмдүү массивдер. Тензорлорду түшүнүүгө жардам берүүчү бир нече мисалдар:
"`python
tf катары импорттоо тензорflow
Тензорлорду түзүү
скалярдык = 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'Scalar: {scalar}')
басып чыгаруу(f'Вектор: {вектор}')
print(f'Матрица: {матрица}')
басып чыгаруу(f'Tensor 3D: {tensor3d}')
""
Тензорлор боюнча негизги операцияларды аткаруу үчүн:
"`python
a = tf.constant([[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 маалымат топтомун колдонуп, сүрөттөрдү классификациялоо моделин түзөбүз. Баштайлы:
"`python
tf катары импорттоо тензорflow
tensorflow.keras'тан маалымат топтомдорун, катмарларды, моделдерди импорттоо
MNIST маалымат топтомун жүктөп алуу
(train_images, train_labels), (test_images, test_labels) = datasets.mnist.load_data()
Сүрөттү нормалдаштыруу
поезд_сүрөттөрү, тест_сүрөттөрү = поезд_сүрөттөрү / 255.0, тест_сүрөттөрү / 255.0
Модель жасоо
модель = моделдер.Кезектешүү([
катмарлар.Flatten(input_shape=(28, 28)),
катмарлар.Тыз(128, активдештирүү='relu'),
катмарлар.Тыз(10)
])
Моделди чогултуу
model.compile(optimizer='adam',
жоготуу=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
метрика = ['тактык'])
Моделди окутуу
model.fit(поезд_сүрөттөрү, поезд_энбелгилери, доорлор=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. Моделдерди сактоо жана жүктөө
Модельди үйрөткөндөн кийин, аны кайра үйрөтпөстөн кийин колдонуу үчүн сактап койсоңуз болот. Модельди кантип сактоо жана жүктөө керек:
"`python
Моделди сактоо
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 менен машиналык окутуу дүйнөсүндө баштоого жардам берет деп үмүттөнөбүз.