Памятка Keras: создание нейронных сетей с помощью Python

машинное обучение искусственный интеллект Программа перевода самородков Keras Нейронные сети

Создайте свою собственную нейронную сеть с помощью Keras Cheat Sheet для начинающих Глубокое изучение Python с примерами кода

Keras— это простая в использовании и мощная библиотека, основанная на Theano и TensorFlow, которая предоставляет некоторые высокоуровневые интерфейсы нейронных сетей для разработки и оценки моделей глубокого обучения.

Недавно мы запустили первый интерактивный онлайн-курс глубокого обучения, разработанный с использованием Keras 2.0, под названием «Deep Learning in Python".

Теперь DataCamp создал шпаргалку Keras для тех, кто уже прошел курс, но все еще нуждается в странице ссылок, или для тех, кому нужен дополнительный толчок, чтобы начать.

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

Кроме того, вы можете увидеть несколько примеров того, как проверить вашу модель, как сохранить и загрузить модель. Наконец, вы также найдете несколько примеров того, как делать прогнозы на тестовых данных и как точно настраивать модель, настраивая параметры оптимизации и раннюю остановку.

Короче говоря, вы увидите, что эта шпаргалка не просто показывает шесть шагов для построения нейронной сети на Python с использованием библиотеки Keras.

keras cheat sheet

В заключение, эта шпаргалка ускорит ваше путешествие по глубокому обучению Python: с помощью этих примеров кода вы будете выполнять предварительную обработку, создавать, проверять и настраивать свои модели глубокого обучения в кратчайшие сроки!

(Щелкните изображение выше, чтобы загрузить версию для печати, или прочитайте онлайн-версию ниже)

Памятка Python Data Science: Keras

Keras — это простая в использовании и мощная библиотека, основанная на Theano и TensorFlow, которая предоставляет некоторые высокоуровневые интерфейсы нейронных сетей для разработки и оценки моделей глубокого обучения.

базовый пример

>>> import numpy as np
>>> from keras.models import Sequential
>>> from keras.layers import Dense
>>> data = np.random.random((1000,100))
>>> labels = np.random.randint(2,size=(1000,1))
>>> model = Sequential()
>>> model.add(Dense(32, activation='relu', input_dim=100))
>>> model.add(Dense(1, activation='sigmoid'))
>>> model.compile(optimizer='rmsprop', loss='binary_crossentropy', metrics=['accuracy'])
>>> model.fit(data,labels,epochs=10,batch_size=32)
>>> predictions = model.predict(data)

данные

Ваши данные должны храниться в формате массивов Numpy или списка массивов Numpy. В идеале данные будут разделены на тренировочный набор и тестовый набор, и вы можете использоватьsklearn.cross_validationвнизtrain_test_splitмодуль для реализации.

Набор данных Керас

>>> from keras.datasets import boston_housing, mnist, cifar10, imdb
>>> (x_train,y_train),(x_test,y_test) = mnist.load_data()
>>> (x_train2,y_train2),(x_test2,y_test2) = boston_housing.load_data()
>>> (x_train3,y_train3),(x_test3,y_test3) = cifar10.load_data()
>>> (x_train4,y_train4),(x_test4,y_test4) = imdb.load_data(num_words=20000)
>>> num_classes = 10

разное

>>> from urllib.request import urlopen
>>> data = np.loadtxt(urlopen("http://archive.ics.uci.edu/ml/machine-learning-databases/pima-indians-diabetes/pima-indians-diabetes.data"),delimiter=",")
>>> X = data[:,0:8]
>>> y = data [:,8]

предварительная обработка

заполнение последовательности

>>> from keras.preprocessing import sequence
>>> x_train4 = sequence.pad_sequences(x_train4,maxlen=80)
>>> x_test4 = sequence.pad_sequences(x_test4,maxlen=80)

Горячее кодирование

>>> from keras.utils import to_categorical
>>> Y_train = to_categorical(y_train, num_classes)
>>> Y_test = to_categorical(y_test, num_classes)
>>> Y_train3 = to_categorical(y_train3, num_classes)
>>> Y_test3 = to_categorical(y_test3, num_classes)

поезд и тестовый набор

>>> from sklearn.model_selection import train_test_split
>>> X_train5, X_test5, y_train5, y_test5 = train_test_split(X, y, test_size=0.33, random_state=42)

нормализовать / нормализовать

>>> from sklearn.preprocessing import StandardScaler
>>> scaler = StandardScaler().fit(x_train2)
>>> standardized_X = scaler.transform(x_train2)
>>> standardized_X_test = scaler.transform(x_test2)

Структура модели

последовательная модель

>>> from keras.models import Sequential
>>> model = Sequential()
>>> model2 = Sequential()
>>> model3 = Sequential()

Многослойный персептрон (MLP)

двухклассный

>>> from keras.layers import Dense
>>> model.add(Dense(12, input_dim=8, kernel_initializer='uniform', activation='relu'))
>>> model.add(Dense(8, kernel_initializer='uniform', activation='relu'))
>>> model.add(Dense(1, kernel_initializer='uniform', activation='sigmoid'))

Мультикласс

>>> from keras.layers import Dropout
>>> model.add(Dense(512,activation='relu',input_shape=(784,)))
>>> model.add(Dropout(0.2))
>>> model.add(Dense(512,activation='relu'))
>>> model.add(Dropout(0.2))
>>> model.add(Dense(10,activation='softmax'))

возвращение

>>> model.add(Dense(64, activation='relu', input_dim=train_data.shape[1]))
>>> model.add(Dense(1))

Сверточная нейронная сеть (CNN)

>>> from keras.layers import Activation, Conv2D, MaxPooling2D, Flatten
>>> model2.add(Conv2D(32, (3,3), padding='same', input_shape=x_train.shape[1:]))
>>> model2.add(Activation('relu'))
>>> model2.add(Conv2D(32, (3,3)))
>>> model2.add(Activation('relu'))
>>> model2.add(MaxPooling2D(pool_size=(2,2)))
>>> model2.add(Dropout(0.25))
>>> model2.add(Conv2D(64, (3,3), padding='same'))
>>> model2.add(Activation('relu'))
>>> model2.add(Conv2D(64, (3, 3)))
>>> model2.add(Activation('relu'))
>>> model2.add(MaxPooling2D(pool_size=(2,2)))
>>> model2.add(Dropout(0.25))
>>> model2.add(Flatten())
>>> model2.add(Dense(512))
>>> model2.add(Activation('relu'))
>>> model2.add(Dropout(0.5))
>>> model2.add(Dense(num_classes))
>>> model2.add(Activation('softmax'))

Рекуррентная нейронная сеть (RNN)

>>> from keras.klayers import Embedding,LSTM
>>> model3.add(Embedding(20000,128))
>>> model3.add(LSTM(128,dropout=0.2,recurrent_dropout=0.2))
>>> model3.add(Dense(1,activation='sigmoid'))

Проверить модель

форма вывода модели

>>> model.output_shape

Описание модели

>>> model.summary()

Конфигурация модели

>>> model.get_config()

Перечислите все весовые тензоры в модели

>>> model.get_weights()

Скомпилируйте модель

Многослойный персептрон (MLP)

Многослойные персептроны: бинарная классификация

>>> model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])

Многослойные персептроны: мультиклассификация

>>> model.compile(optimizer='rmsprop', loss='categorical_crossentropy', metrics=['accuracy'])

Многослойные персептроны: регрессия

>>> model.compile(optimizer='rmsprop', loss='mse', metrics=['mae'])

Рекуррентная нейронная сеть (RNN)

>>> model3.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

обучение модели

>>> model3.fit(x_train4, y_train4, batch_size=32, epochs=15, verbose=1, validation_data=(x_test4, y_test4))

Оцените производительность вашей модели

>>> score = model3.evaluate(x_test, y_test, batch_size=32)

предсказывать

>>> model3.predict(x_test4, batch_size=32)
>>> model3.predict_classes(x_test4,batch_size=32)

сохранить/загрузить модель

>>> from keras.models import load_model
>>> model3.save('model_file.h5')
>>> my_model = load_model('my_model.h5')

Тонкая настройка модели

Параметры оптимизации

>>> from keras.optimizers import RMSprop
>>> opt = RMSprop(lr=0.0001, decay=1e-6)
>>> model2.compile(loss='categorical_crossentropy', optimizer=opt, metrics=['accuracy'])

ранняя остановка

>>> from keras.callbacks import EarlyStopping
>>> early_stopping_monitor = EarlyStopping(patience=2)
>>> model3.fit(x_train4, y_train4, batch_size=32, epochs=15, validation_data=(x_test4, y_test4), callbacks=[early_stopping_monitor])

Узнайте больше

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

Кроме этого, не пропустите нашШпаргалка Scikit-Learn,Шпаргалка NumPyиШпаргалка Панды!

Если вы обнаружите ошибки в переводе или в других областях, требующих доработки, добро пожаловать наПрограмма перевода самородковВы также можете получить соответствующие бонусные баллы за доработку перевода и PR. начало статьиПостоянная ссылка на эту статьюЭто ссылка MarkDown этой статьи на GitHub.


Программа перевода самородковэто сообщество, которое переводит высококачественные технические статьи из Интернета сНаггетсДелитесь статьями на английском языке на . Охват контентаAndroid,iOS,внешний интерфейс,задняя часть,блокчейн,продукт,дизайн,искусственный интеллектЕсли вы хотите видеть более качественные переводы, пожалуйста, продолжайте обращать вниманиеПрограмма перевода самородков,официальный Вейбо,Знай колонку.