Урок за начинаещи с TensorFlow

Урок за 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`.

„`python
импортирайте tensorflow като tf

Създайте константа
hello = tf.constant('Здравей, TensorFlow!')

Стартиране на сесия
с tf.Session() като sess:
резултат = sess.run(здравей)
печат (резултат)
„„

ПРОЧЕТИ  Най-добрите онлайн ресурси за изучаване на SQL

Адаптирайте кода според TensorFlow версия 2.x:

„`python
импортирайте tensorflow като tf

Създайте константа
hello = tf.constant('Здравей, TensorFlow!')

Изпълнява се с нетърпеливо изпълнение (включено по подразбиране)
печат(hello.numpy())
„„

Запазете файла, след което изпълнете:
„ш“
python hello_tensorflow.py
„„

4. Разбиране на тензорите и основните операции

Тензорите са основната структура от данни в TensorFlow, представляващи многомерни масиви. Ето няколко примера, които ще ви помогнат да разберете тензорите:

„`python
импортирайте tensorflow като tf

Създаване на тензори
скалар = tf.constant(7) скалар
вектор = tf.constant([1, 2, 3]) вектор
матрица = tf.constanta([[1, 2], [3, 4]]) матрица
tensor3d = tf.constant([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) 3D тензор

print(f'Скалар: {скалар}')
печат(f'Вектор: {вектор}')
print(f'Матрица: {матрица}')
печат(f'Тензор 3D: {тензор3d}')
„„

За да извършите основни операции с тензори:

„`python
a = tf.constant([[1, 2], [3, 4]])
b = tf.constant([[5, 6], [7, 8]])

Операция за събиране
добавяне = tf.add(a, b)
Операции за умножение на матрици
mul = tf.matmul(a, b)

print(f'Добавяне: {добавяне}')
print(f'Умножение на матрици: {mul}')
„„

5. Създаване на опростен модел на невронна мрежа

Следващата стъпка е да създадем прост модел на невронна мрежа. Ще изградим модел за класификация на изображения, използвайки набора от данни MNIST, база данни с ръкописни изображения на цифри. Нека започнем:

„`python
импортирайте tensorflow като tf
от tensorflow.keras импортиране на набори от данни, слоеве, модели

Изтегляне на набора от данни MNIST
(изображения_на_влак, етикети_на_влак), (тестови_изображения, етикети_на_влак) = datasets.mnist.load_data()

Нормализиране на изображението
изображения_на_влак, тестови_изображения = изображения_на_влак / 255.0, тестови_изображения / 255.0

Изработване на модел
модел = модели.Последователен([
слоеве.Изравняване(входна_форма=(28, 28)),
layers.Dense(128, activation='relu'),
слоеве.Плътен(10)
])

Компилация на модел
model.compile(optimizer='adam',
загуба=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
metrics=['accuracy'])

Обучение на модела
model.fit(изображения_на_влак, етикети_на_влак, епохи=5)

Тестване на модела
test_loss, test_acc = model.evaluate(тестови_изображения, тестови_етикети)
print(f'Точност на теста: {test_acc}')
„„

Обяснение:
– Набори от данни: Импортираме и зареждаме набора от данни MNIST.
– Предварителна обработка: Нормализиране на набора от данни чрез разделяне на стойностите на пикселите на 255.
– Модел: Дефинираме прост модел с два слоя. Първият слой е слой „Flatten“, който преобразува 2D изображението в 1D масив. Вторият слой е слой „Dense“ със 128 неврона и „relu“ като активираща функция, а последният е слой „Dense“ с 10 неврона, представляващи 10 класа.
– Компилиране: Компилираме модела, използвайки оптимизатора `adam` и `SparseCategoricalCrossentropy` като функция на загуба.
– Обучение: Обучете модела в продължение на 5 епохи.
– Оценка: Оценете модела спрямо тестови данни.

ПРОЧЕТИ  Най-добри практики за мрежова сигурност в малкия бизнес

6. Запазване и зареждане на модели

След като обучавате модел, може да искате да го запазите за по-късна употреба, без да се налага да го обучавате отново. Ето как да запазите и заредите модел:

„`python
Запазване на модела
модел.запазване('моят_модел.h5')

Зареждане на модел
нов_модел = tf.keras.models.load_model('моят_модел.h5')

Проверка на заредения модел
загуба, acc = new_model.evaluate(тестови_изображения, тестови_етикети)
print(f'Точност на заредения модел: {acc}')
„„

Заключение

Това ръководство предоставя подробно въведение в начинаещите с TensorFlow. Разгледахме инсталацията, основните тензорни операции и изграждането на прост модел на невронна мрежа, използвайки набора от данни MNIST. TensorFlow предлага много разширени възможности за изследване, като например разширена обработка на данни, по-сложни модели и използване на TensorFlow на устройства като TPU и GPU. Надяваме се, че този урок ще ви помогне да започнете в света на машинното обучение с TensorFlow.

Оставете коментар