06-01-2025, 08:56 AM
Создание нейронной сети может показаться сложной задачей, особенно для новичков. Однако с помощью Python и библиотеки TensorFlow этот процесс становится доступным даже для тех, кто только начинает изучать машинное обучение. В этой статье я расскажу, как шаг за шагом создать простую нейронную сеть для решения задачи классификации.
Подготовка среды
Перед началом работы убедитесь, что у вас установлены Python и TensorFlow. Если у вас их нет, выполните следующие шаги:
- Установите Python с официального сайта.
- Установите TensorFlow с помощью команды:
```bash
pip install tensorflow
Code:
Теперь вы готовы к созданию своей первой нейронной сети. Code:
### Создание нейронной сети Code:
Для начала импортируем необходимые библиотеки: python
import tensorflow as tf
from tensorflow.keras import layers, models
import numpy as np
import tensorflow as tf
from tensorflow.keras import layers, models
import numpy as np
Code:
#### Шаг 1: Подготовка данных Code:
Для примера возьмем набор данных MNIST, который содержит изображения рукописных цифр. Этот набор часто используется для обучения и тестирования нейронных сетей. python
mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
Нормализация данных
x_train, x_test = x_train / 255.0, x_test / 255.0
Code:
#### Шаг 2: Создание модели Code:
Теперь создадим простую нейронную сеть с одним скрытым слоем. python
model = models.Sequential([
layers.Flatten(input_shape=(28, 28)), # Преобразуем изображение в одномерный массив
layers.Dense(128, activation='relu'), # Полносвязный слой с 128 нейронами
layers.Dropout(0.2), # Регуляризация для предотвращения переобучения
layers.Dense(10) # Выходной слой с 10 нейронами (по количеству классов)
])
model = models.Sequential([
layers.Flatten(input_shape=(28, 28)), # Преобразуем изображение в одномерный массив
layers.Dense(128, activation='relu'), # Полносвязный слой с 128 нейронами
layers.Dropout(0.2), # Регуляризация для предотвращения переобучения
layers.Dense(10) # Выходной слой с 10 нейронами (по количеству классов)
])
Code:
#### Шаг 3: Компиляция модели Code:
Перед обучением модели необходимо указать функцию потерь, оптимизатор и метрики для оценки. python
model.compile(optimizer='adam',
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
metrics=['accuracy'])
model.compile(optimizer='adam',
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
metrics=['accuracy'])
Code:
#### Шаг 4: Обучение модели Code:
Теперь обучим модель на тренировочных данных. python
model.fit(x_train, y_train, epochs=5)
model.fit(x_train, y_train, epochs=5)
Code:
#### Шаг 5: Оценка модели Code:
После обучения проверим точность модели на тестовых данных. python
test_loss, test_acc = model.evaluate(x_test, y_test, verbose=2)
print(f"Точность на тестовых данных: {test_acc}")
```
test_loss, test_acc = model.evaluate(x_test, y_test, verbose=2)
print(f"Точность на тестовых данных: {test_acc}")
```
Заключение
Вы только что создали свою первую нейронную сеть! Это простой пример, но он демонстрирует основные шаги, которые необходимы для работы с TensorFlow.
Если у вас возникнут вопросы или вы захотите поделиться своими результатами, не стесняйтесь оставлять отзывы на форуме. Участники сообщества всегда готовы помочь и дать полезные советы

