[PYTHON] Erstellen Sie einfach CNNs mit Keras

Hinweise zum Erstellen und Klassifizieren von CNNs mit Keras mithilfe des CIFAR-10-Datasets

Bibliothek zum Importieren

from keras.models import Sequential
from keras.layers.convolutional import Conv2D
from keras.layers.pooling import MaxPool2D
from keras.optimizers import Adam

from keras.layers.core import Dense, Activation, Dropout, Flatten
from keras.utils import plot_model
from keras.callbacks import TensorBoard

from keras.datasets import cifar10
from keras.utils import np_utils

Datenaufbereitung

Laden Sie CIFAR-10 herunter

(X_train, y_train),(X_test, y_test) = cifar10.load_data()

Wird gelagert.

Pixelwerte normalisieren

Normalisieren Sie jeden Pixelwert im Bereich von 0-1

#Geben Sie die Konvertierung in float ein
X_train = X_train.astype('float32')
X_test = X_test.astype('float32')
#Normalisieren Sie jeden Pixelwert
X_train /= 255.0
X_test /= 255.0

In One-Hot-Ausdruck konvertieren

Y_train = np_utils.to_categorical(y_train, nb_classes)
Y_test = np_utils.to_categorical(y_test, nb_classes)

Mit np_utils.to_categorical in eine One-Hot-Darstellung für nb_classes-Klassen konvertieren. Da es diesmal 10 Klassen gibt, setzen wir nb_classes = 10.

Modelldefinition

Definieren Sie tatsächlich das Modell,

#Modelldefinition
model = Sequential()

model.add(Conv2D(32,3,input_shape=(32,32,3)))
model.add(Activation('relu'))
model.add(Conv2D(32,3))
model.add(Activation('relu'))
model.add(MaxPool2D(pool_size=(2,2)))

model.add(Conv2D(64,3))
model.add(Activation('relu'))
model.add(MaxPool2D(pool_size=(2,2)))

model.add(Flatten())
model.add(Dense(1024))
model.add(Activation('relu'))
model.add(Dropout(1.0))

model.add(Dense(nb_classes, activation='softmax'))

adam = Adam(lr=1e-4)

model.compile(optimizer=adam, loss='categorical_crossentropy', metrics=["accuracy"])

Definieren Sie ein Modellobjekt mit model.Sequential (). Es ist möglich, Elemente mit model.add () hinzuzufügen. Das erste model.add () fügt eine 32x32-Faltungsschicht (Kernel 3x3) hinzu, und da das Eingabebild ein 32x32-RGB-Bild ist, ist die Eingabeebene input_shape (32,32,3). Es kann durch definiert werden. Verwenden Sie Activation (), um die Aktivierungsfunktion hinzuzufügen, und Dense (), um die vollständig verbundene Ebene hinzuzufügen. Stellen Sie model.compile () ein, um Adam als Optimierungsmethode, Kreuzentropie als Fehlerfunktion und Genauigkeit als Berechnung zu erhalten.

Ausführung des Lernens

history = model.fit(X_train, Y_train, batch_size=batch_size, nb_epoch=nb_epoch, verbose=1, validation_split=0.1)

Sie können mit model.fit () lernen. Dieses Mal setzen wir nb_epoch = 100, um die Anzahl der Epochen auf 100 zu setzen. varidation_split ist ein Parameter, der einen bestimmten Prozentsatz der Trainingsdaten für den Test verwendet. Dieses Mal werden 10% für den Test verwendet.

Datenvisualisierung

Visualisieren Sie Daten mit Keras

#Zeichnen Sie das Modell
plot_model(model, to_file='./model2.png')

Speichern Sie das trainierte Modell

Da das trainierte Modell als Datei gespeichert werden kann, können die Modellkonfigurationsdaten als JSON-Datei und die Modellgewichtsdaten als HDF5-Datei gespeichert werden.

json_string = model.to_json()
open(os.path.join('./', 'cnn_model.json'), 'w').write(json_string)

model.save_weights(os.path.join('./', 'cnn_model_weight.hdf5'))

Da diesmal Tensorflow für das Backend verwendet wird, kann Tensorboar auch unten verwendet werden. [Keras / TensorFlow] Verwenden von TensorBoard mit Keras

Zusammenfassung

Wir haben CNN mit Keras konstruiert und 10 Kategorien mit CIFAR-10 klassifiziert. Von hier aus werde ich verschiedene Dinge ausprobieren.

Source Code https://github.com/sasayabaku/Machine-Learning/blob/master/Example_CNN/cifar10.ipynb

Verweise

Keras Documentation Deep Learning beginnend mit Keras

Recommended Posts

Erstellen Sie einfach CNNs mit Keras
Erstellen Sie mit Vagrant ganz einfach virtuelle Maschinen
Erstellen Sie mit Laragon ganz einfach eine Entwicklungsumgebung
Mit Supervisor einfach zu dämonisieren
Bilderkennung mit Keras
CIFAR-10-Tutorial mit Keras
Machen Sie einfach einen Piepton mit Python
Multivariates LSTM mit Keras
Erstellen Sie python3.x mit pyenv
Erstellen Sie HPC einfach auf AWS mit echtem AWS Cfn Cluster
Erstellen Sie die Keras AI Prediction Engine in 1 Stunde mit GCP
Mit den Build-Optionen von configure erhalten Sie ganz einfach eine C-Programmabdeckung!
CNN-Implementierung mit nur Numpy
Mit Python mit Kelch ganz einfach ohne Server
Keras-Installation (von Anaconda verwendet)
Multiple Regressionsanalyse mit Keras
AutoEncodder-Notizen mit Keras
Schreiben Sie einfach if-elif mit Lambda
Word2vec mit Theano + Keras implementiert
Versuchen Sie, CNN mit ChainerRL auszuführen
Satzerzeugung mit GRU (Keras)
Optimieren von Keras-Parametern mit Keras Tuner
Erstellen Sie eine Python3-Umgebung mit Ubuntu 16.04
Erstellen Sie mit direnv eine Python-Umgebung
Verwenden Sie Maxout + CNN mit Pylearn2
Effizientes GAN mit Keras implementiert
Überlebe Weihnachten mit CNN auf Charakterebene
Ich habe versucht, die handschriftliche Zeichenerkennung von Runenzeichen mit CNN mithilfe von Keras zu erkennen
Lassen Sie uns Git-Cat mit Python bauen
Erstellen Sie mit AWS CDK Python ganz einfach Netzwerkinfrastruktur und EC2
Einfach cProfile mit einem Dekorateur
Bilderkennung mit Keras + OpenCV
Erstellen Sie mit BERT + LightGBM + optuna ganz einfach ein Modell für die Verarbeitung natürlicher Sprache
Erstellen Sie FastAPI + uvicorn + nginx mit Docker-Compose
QR-Code mit CNN entschlüsseln
MNIST (DCNN) mit Keras (TensorFlow-Backend)
Vorhersage der Titanic von Kaggle mit Keras (kaggle ⑦)
Erstellen Sie eine Deb-Datei mit Docker
Implementieren Sie einfach Unterbefehle mit Python-Klick
Einfache Handhabung von Listen mit Python + SQLite3
Erstellen Sie eine MySQL + Python-Umgebung mit Docker
Wechseln Sie pyenv virtualenvs ganz einfach mit peco
[AWS] ECR mit AWS CDK erstellen
[TensorFlow] [Keras] Aufbau eines neuronalen Netzwerks mit Keras
Erstellen Sie mlpy mit python3.3 (64bit) (Windows 64bit)
Implementieren Sie Keras LSTM Feed Forward mit Numpy
Vergleichen Sie DCGAN und pix2pix mit Keras
Score-CAM-Implementierung mit Keras. Vergleich mit Grad-CAM
Erstellen Sie eine Webanwendung mit Django
Vorhersage der Sinuswelle mit Keras
Erstellen Sie eine IPython Notebook-Umgebung mit boot2docker
Erstellen Sie automatisch eine Python-Dokumentation mit Sphinx
Anfänger RNN (LSTM) | Versuchen Sie es mit Keras
Implementierung von Light CNN (Python Keras)
Mit Python 3 einfach auf Twitter posten
Schreiben Sie Reversi AI mit Keras + DQN
Erstellen Sie Vim mit MinGW. (+ lua, + python)