Написание собственной нейросети на Python: шаг за шагом 🚀🧠



Создание нейросети может показаться сложным, но с современными библиотеками на Python, такими как TensorFlow и Keras, это стало намного проще. В этом посте мы рассмотрим, как написать простую нейросеть на Python для решения задачи классификации.



Шаг 1: Установка необходимых библиотек



Для начала установите библиотеки TensorFlow и Keras, если они еще не установлены. Это можно сделать с помощью pip:



bash

pip install tensorflow keras



Шаг 2: Импортируем необходимые модули



Импортируем библиотеки и подготовим данные для обучения. В качестве примера возьмем популярный датасет MNIST (цифры от 0 до 9).



python

import tensorflow as tf

from tensorflow.keras import layers, models

from tensorflow.keras.datasets import mnist

import matplotlib.pyplot as plt



# Загружаем данные

(train_images, train_labels), (test_images, test_labels) = mnist.load_data()



# Нормализуем данные

train_images = train_images / 255.0

test_images = test_images / 255.0



Шаг 3: Создание модели нейросети



Определим архитектуру нашей нейросети. В данном случае мы создадим простую сверточную нейросеть (CNN).



python

model = models.Sequential([

  layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)),

  layers.MaxPooling2D((2, 2)),

  layers.Conv2D(64, (3, 3), activation='relu'),

  layers.MaxPooling2D((2, 2)),

  layers.Conv2D(64, (3, 3), activation='relu'),

  layers.Flatten(),

  layers.Dense(64, activation='relu'),

  layers.Dense(10, activation='softmax')

])



Шаг 4: Компиляция модели



Компилируем модель, указав функцию потерь, оптимизатор и метрики для оценки.



python

model.compile(optimizer='adam',

       loss='sparse_categorical_crossentropy',

       metrics=['accuracy'])



Шаг 5: Обучение модели



Теперь обучим нашу модель на тренировочных данных.



python

history = model.fit(train_images, train_labels, epochs=5, 

          validation_data=(test_images, test_labels))



Шаг 6: Оценка модели



Оценим точность модели на тестовых данных.



python

test_loss, test_acc = model.evaluate(test_images, test_labels)

print(f'Точность модели на тестовых данных: {test_acc}')



Шаг 7: Визуализация результатов



Визуализируем результаты обучения и тестирования.



python

plt.plot(history.history['accuracy'], label='Точность на обучении')

plt.plot(history.history['val_accuracy'], label='Точность на валидации')

plt.xlabel('Эпоха')

plt.ylabel('Точность')

plt.legend(loc='lower right')

plt.show()



Заключение



Поздравляем! Вы создали свою первую нейросеть на Python. Мы использовали сверточную нейросеть для задачи классификации изображений. Этот пример можно адаптировать для других типов данных и задач.



TechVibe