dimanche 13 août 2017

Installer Keras et tester l'apprentissage profond

Contenu du didacticiel 

Preparation
1. 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 tensorflow
$ 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

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])


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