Contenu du didacticiel
Preparation1. Vagrant et Virtual Box.
2. Apache
3. MySQL
4. Python
5. Python Hello World
Apprentissage profond
1. Installer Keras et tester l'apprentissage profond (Deep learning)
2. Enregistrer et charger les paramètres
3. Enregistrer et charger les paramètres en même temps
4. Utiliser son propre le jeu de données
Installer Keras
Au début, on va installer Keras.Si vous avez GPU dans l'ordinateur:
$ python3.6 -m pip install tensorflow-gpu
$ python3.6 -m pip install keras
Si vous n'avez pas:$ python3.6 -m pip install keras
$ python3.6 -m pip tensorflow
$ python3.6 -m pip keras
$ python3.6 -m pip keras
Et matplotlib pour visualizer l'apprentissage profond.
$ sudo yum -y install gcc gcc-c++ kernel-devel
$ sudo yum -y install python-devel libxslt-devel libffi-devel openssl-devel
$ python3.6 -m pip install matplotlib
$ sudo yum -y install python-devel libxslt-devel libffi-devel openssl-devel
$ python3.6 -m pip install matplotlib
h5py aussi pour enregistrer le modèle.
$ python3.6 -m pip install h5py
Ecrire comme ça et enregistrer sous "dplrn.py" dans le dossier partagé:
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
from keras.datasets import mnist
from keras.models import Sequential
from keras.layers.core import Dense, Activation
from keras.utils import np_utils
# Get the default MNIST data (Les donnes des numéros écrit à la main)
(X_train, y_train), (X_test, y_test) = mnist.load_data()
X_train = X_train.reshape(60000, 784) / 255
X_test = X_test.reshape(10000, 784) / 255
y_train = np_utils.to_categorical(y_train)
y_test = np_utils.to_categorical(y_test)
# Network
model = Sequential([
Dense(512, input_shape=(784,)),
Activation('sigmoid'),
Dense(10),
Activation('softmax')
])
# Compile
model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])
# Learning
model.fit(X_train, y_train, batch_size=200, verbose=1, epochs=20, validation_split=0.1)
# Forecast
score = model.evaluate(X_test, y_test, verbose=1)
print('test accuracy : ', score[1])
# -*- coding: UTF-8 -*-
from keras.datasets import mnist
from keras.models import Sequential
from keras.layers.core import Dense, Activation
from keras.utils import np_utils
# Get the default MNIST data (Les donnes des numéros écrit à la main)
(X_train, y_train), (X_test, y_test) = mnist.load_data()
X_train = X_train.reshape(60000, 784) / 255
X_test = X_test.reshape(10000, 784) / 255
y_train = np_utils.to_categorical(y_train)
y_test = np_utils.to_categorical(y_test)
# Network
model = Sequential([
Dense(512, input_shape=(784,)),
Activation('sigmoid'),
Dense(10),
Activation('softmax')
])
# Compile
model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])
# Learning
model.fit(X_train, y_train, batch_size=200, verbose=1, epochs=20, validation_split=0.1)
# Forecast
score = model.evaluate(X_test, y_test, verbose=1)
print('test accuracy : ', score[1])
Tester l'apprentissage profond
Exécuter le fichier de python:
$ python3.6 /vagrant/dplrn.py
L'apprentissage profond de la reconnaissance des numéros écrit à la main va commencer:
"Test accuracy" (La précision du test) va s'afficher:
C'est 88% :) Très bien.
C'est MLP(Multi Layer Perceptron) mais il y a juste une couche pour la simplicité.
Aucun commentaire:
Enregistrer un commentaire