TensorFlow туторијал за почетнике
TensorFlow је један од најпопуларнијих фрејмворка за дубоко учење и машинско учење. Развијен од стране тима Google Brain, TensorFlow се широко користи у бројним истраживачким пројектима и индустријским применама. Овај чланак пружа водич корак по корак који ће вам, као почетнику, помоћи да почнете са TensorFlow-ом.
1. Разумевање основа TensorFlow-а
Пре него што почнемо са инсталирањем и коришћењем TensorFlow-а, важно је разумети шта је TensorFlow и основне концепте који стоје иза њега. TensorFlow је оквир отвореног кода за нумеричко рачунање и машинско учење. Користи графове тока података за извођење нумеричких операција, где чворови у графу представљају математичке операције, а ивице представљају вишедимензионалне низове података (тензоре) повезане између њих.
2. Инсталација TensorFlow-а
Први корак у коришћењу TensorFlow-а је његова инсталација. Ево како да инсталирате TensorFlow користећи pip, менаџер пакета у Пајтону.
1. Инсталација Пајтона:
Уверите се да имате инсталиран Пајтон на свом систему. TensorFlow је компатибилан са Пајтоном од 3.6 до 3.9 у време писања овог текста. Пајтон можете преузети са званичне веб странице Пајтона.
2. Виртуелно окружење:
Топло се препоручује креирање виртуелног окружења како бисте изоловали свој TensorFlow пројекат:
„ш“
python -m venv myenv
извор myenv/bin/activate За кориснике Mac/Linux-а
myenv\Scripts\activate За кориснике Windows-а
„`
3. Инсталација TensorFlow-а:
Сада инсталирајте TensorFlow користећи pip:
„ш“
пип инсталл тенсорфлов
„`
3. Здраво свете са TensorFlow-ом
Сада када је TensorFlow инсталиран, хајде да направимо једноставан Python скрипт да бисмо проверили инсталацију. Направите нову Python датотеку и назовите је `hello_tensorflow.py`.
„`питхон
импорт тенсорфлов као тф
Направите константу
здраво = tf.constant('Здраво, TensorFlow!')
Покрени сесију
са tf.Session() као sess:
резултат = sess.run(здраво)
штампа (резултат)
„`
Прилагодите код према TensorFlow верзији 2.x:
„`питхон
импорт тенсорфлов као тф
Направите константу
здраво = tf.constant('Здраво, TensorFlow!')
Покрени користећи жељно извршавање (подразумевано укључено)
штампај(здраво.нумпи())
„`
Сачувајте датотеку, а затим покрените:
„ш“
пајтон hello_tensorflow.py
„`
4. Разумевање тензора и основних операција
Тензори су примарна структура података у TensorFlow-у, који представљају вишедимензионалне низове. Ево неколико примера који ће вам помоћи да разумете тензоре:
„`питхон
импорт тенсорфлов као тф
Креирање тензора
скалар = 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]]]) 3Д тензор
print(f'Скалар: {скалар}')
print(f'Вектор: {вектор}')
print(f'Матрица: {матрица}')
print(f'Тензор 3Д: {тензор3д}')
„`
Да бисте извршили основне операције на тензорима:
„`питхон
a = tf.constant([[1, 2], [3, 4]])
b = tf.constant([[5, 6], [7, 8]])
Операција сабирања
додај = tf.додај(а, б)
Операције множења матрица
mul = tf.matmul(a, b)
print(f'Сабирање: {додај}')
print(f'Множење матрица: {mul}')
„`
5. Креирање једноставног модела неуронске мреже
Следећи корак је креирање једноставног модела неуронске мреже. Направићемо модел класификације слика користећи скуп података MNIST, базу података слика рукописних цифара. Хајде да почнемо:
„`питхон
импорт тенсорфлов као тф
из tensorflow.keras увозите скупове података, слојеве, моделе
Преузимање скупа података MNIST
(слике_воза, ознаке_воза), (тестне_слике, ознаке_тестних) = datasets.mnist.load_data()
Нормализација слике
слике_воза, тест_слике = слике_воза / 255.0, тест_слике / 255.0
Израда модела
модел = модели.Секвенцијални([
слојеви.Изравнај(уносни_облик=(28, 28)),
лаиерс.Денсе(128, ацтиватион='релу'),
слојеви.Густа(10)
])
Компилација модела
модел.цомпиле(оптимизер='адам',
губитак=тф.керас.лоси.СпарсеКатегоричкиКросентропија(фром_логитс=Тачно),
метрицс=['аццураци'])
Обука модела
модел.фит(слике_воза, ознаке_воза, епохе=5)
Тестирање модела
тест_губитак, тест_акц = модел.евалуација(тест_слике, тест_ознаке)
print(f'Тест тачности: {test_acc}')
„`
Објашњење:
– Скупови података: Увозимо и учитавамо скуп података MNIST.
– Претходна обрада: Нормализујте скуп података дељењем вредности пиксела са 255.
– Модел: Дефинишемо једноставан модел са два слоја. Први слој је слој „Flatten“ за претварање 2D слике у 1D низ. Други слој је слој „Dense“ са 128 неурона и „relu“ као активационом функцијом, а последњи је слој „Dense“ са 10 неурона који представљају 10 класа.
– Компајлирање: Компајлирамо модел користећи оптимизатор `adam` и `SparseCategoricalCrossentropy` као функцију губитака.
– Обука: Обучите модел током 5 епоха.
– Процена: Процените модел у односу на тест податке.
6. Чување и учитавање модела
Након што тренирате модел, можда ћете желети да га сачувате за каснију употребу без потребе да га поново тренирате. Ево како да сачувате и учитате модел:
„`питхон
Чување модела
модел.сачувај('мој_модел.х5')
Учитавање модела
нови_модел = тф.керас.моделс.учитај_модел('мој_модел.х5')
Провера учитаног модела
губитак, акц = new_model.evaluate(test_images, test_labels)
print(f'Тачност учитаног модела: {acc}')
„`
Закључак
Овај водич пружа детаљан увод у коришћење TensorFlow-а за почетнике. Обрадили смо инсталацију, основне тензорске операције и изградњу једноставног модела неуронске мреже користећи MNIST скуп података. TensorFlow нуди многе напредне могућности за истраживање, као што су напредна обрада података, сложенији модели и коришћење TensorFlow-а на уређајима попут TPU-ова и GPU-ова. Надамо се да ће вам овај водич помоћи да започнете свет машинског учења са TensorFlow-ом.