Keras – это библиотека глубокого обучения, написанная на Python, которая предоставляет пользователю простой и удобный интерфейс для построения нейронных сетей. Она позволяет легко создавать и обучать нейронные сети, а также проводить исследования в области искусственного интеллекта и глубокого обучения.
В этом руководстве мы рассмотрим, как установить Keras на вашем компьютере и создать первую нейронную сеть на Python.
Установка Keras
Для установки Keras вам потребуется установить Python и установщик пакетов pip, если у вас их еще нет. Для начала откройте терминал или командную строку и выполните следующие команды:
- Установите TensorFlow, базовую библиотеку, на которой работает Keras:
pip install tensorflow
- Установите саму библиотеку Keras:
pip install keras
После завершения установки вы можете начать использовать Keras для создания нейронных сетей на Python.
Первое знакомство с Keras
Давайте создадим простую нейронную сеть с одним скрытым слоем, которая будет классифицировать изображения из набора данных MNIST (набор данных рукописных цифр).
- Импортируйте необходимые библиотеки:
import numpy as np
from keras.models import Sequential
from keras.layers import Dense, Flatten
from keras.datasets import mnist
from keras.utils import to_categorical
- Загрузите данные:
(x_train, y_train), (x_test, y_test) = mnist.load_data()
- Предобработайте данные:
x_train = x_train.astype('float32') / 255
x_test = x_test.astype('float32') / 255
y_train = to_categorical(y_train)
y_test = to_categorical(y_test)
- Создайте модель нейронной сети:
model = Sequential()
model.add(Flatten(input_shape=(28, 28)))
model.add(Dense(128, activation='relu'))
model.add(Dense(10, activation='softmax'))
- Скомпилируйте модель:
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
- Обучите модель:
model.fit(x_train, y_train, epochs=5, batch_size=32, validation_data=(x_test, y_test))
После обучения можно протестировать модель на тестовых данных и посмотреть ее точность:
loss, accuracy = model.evaluate(x_test, y_test)
print(f'Test loss: {loss}, Test accuracy: {accuracy}')
Это лишь простой пример того, как создать нейронную сеть с помощью Keras. Библиотека предоставляет более широкие возможности для настройки моделей, добавления различных слоев, использования предварительно обученных моделей и многое другое.
Мы рекомендуем ознакомиться с документацией Keras и провести больше экспериментов, чтобы лучше понять, как работать с этой мощной библиотекой для глубокого обучения.
Очень полезно, спасибо
Где взялась цифра 255?
x_train = x_train / 255
x_test = x_test / 255
Скажите, а эта программа при каждом новом запуске не будет заново обучаться? Вообще, если мы пишем на каком-либо языке нейросеть, то ведь надо как-то отсечь ту часть в которой обучаем от остальной, так сказать, рабочей части? Иначе каждый раз будет запускаться обучение?
Что означает dtype=float32? Здесь 32 как-то связана с тем, что 32 это смещение?
спасибо!
Кто знает, на каких версиях Tensorflow и Keras написаны примеры? В нашем 2024-м код уже не работает – в новых версиях другой порядок создания слоёв в model 🙁
По поводу видеокарты, у кого стоит какая-нибудь RTX, хочется затестить, но вы на Windows
Как человек, который потратил день, пытаясь установить все на Windows, лучше установите Docker, передайте код через -v и используйте образ tensorflow:latest-gpu
В официальной документации TensorFlow есть руководство
Но именно эту задачу процессор прогоняет быстрее
А вот код из 14-го урока видеокарта гораздо быстрее прогонит
Пока логику не понял, если знаете, подскажите, пожалуйста
На новых версиях надо менять
model.predict([100])
На
model.predict(np.array([100]))
Не знаю Автор ведёшь ли ты ещё свой канал, но знай, что ты очень талантливый человек! Хочу написать виртуального помошника по работе на основе нейросетей и благодаря тебе есть надежда, что у меня всё получится 🙂 Спасибо тебе Автор и с Наступающиим 🙂
у меня выдает 2 ошибки в строке from tensorflow.keras.layers import Dense: 1 – Cannot find reference 'keras' in '__init__.py', 2 – Unresolved reference 'Dense', что это может значить (я нуб в питоне, больно не бейте, только начинаю смотреть уроки)
Не видно изображения- нет четкости.
в PyCharm пишет при установке Tensorflow о том что не хватает места , хотя места достаточно.
но слава Богу есть коллаборотория от Google
Замечательный урок, но, изучив перед этим нумпай, и запомнив, что стоит выбирать самые разные данные в выборке для более продуктивного обучения, я немного изменил логику получения выборки:
df = np.random.randint(-200, 200, 200)
df_out = np.array([x*1.8 + 32 for x in df]) (генерация массива по формуле)
Хватило всего 150 эпох для почти идеального результата
Вот веса: [array([[1.7999605]], dtype=float32), array([31.988386], dtype=float32)]
Автор, спасибо большое дошел на урок по бэк керас и бланр у тебя есть и этот курс
полностью повторяю и код и ошибка TypeError: compile() missing 1 required positional argument: 'self', может кто знает с чем связано? я устал искать решение…
А что мне дальше учить, что бы идти дальше после этого курса?
Капец ну и канал. Спасибо всем высшим существам, что создают таких продуктивных альтруистов. Автору мой поклон
Огромное спасибо за простой и понятный урок! Есть вопрос. Есть ли какой-нибудь общий алгоритм для нахождения необходимого количества нейронов?
Большое спасибо!
У меня получилось, что идеальное количество поколений лежит в районе от 600 до 800. Там значения веса(и вывода) практически перестают меняться