You are on page 1of 1

Sign up

MachineLearnia /
Deep-Learning-Youtube Public

Code Issues Pull requests Ac

main

Deep-Learning-Youtube /
Tensorflow_MNIST_pour_débutants.ipynb

MachineLearnia Created using …

1 contributor

368 lines (368 sloc) 28.2 KB

Open in Colab

Tensorflow
MNIST pour
débutants
Ce Notebook permet aux
débutants d'apprendre à
développer un premier
modèle de classification sur
le dataset MNIST, en
utilisant l'API Keras.

In [7]: !pip install tensorflow

Requirement already satisfi


ed: tensorflow in /usr/loca
l/lib/python3.6/dist-packag
es (2.4.0)
Requirement already satisfi
ed: keras-preprocessing~=1.
1.2 in /usr/local/lib/pytho
n3.6/dist-packages (from te
nsorflow) (1.1.2)
Requirement already satisfi
ed: protobuf>=3.9.2 in /usr
/local/lib/python3.6/dist-p
ackages (from tensorflow) (
3.12.4)
Requirement already satisfi
ed: absl-py~=0.10 in /usr/l
ocal/lib/python3.6/dist-pac
kages (from tensorflow) (0.
10.0)
Requirement already satisfi
ed: flatbuffers~=1.12.0 in
/usr/local/lib/python3.6/di
st-packages (from tensorflo
w) (1.12)
Requirement already satisfi
ed: termcolor~=1.1.0 in /us
r/local/lib/python3.6/dist-
packages (from tensorflow)
(1.1.0)
Requirement already satisfi
ed: tensorboard~=2.4 in /us
r/local/lib/python3.6/dist-
packages (from tensorflow)
(2.4.0)
Requirement already satisfi
ed: opt-einsum~=3.3.0 in /u
sr/local/lib/python3.6/dist
-packages (from tensorflow)
(3.3.0)
Requirement already satisfi
ed: six~=1.15.0 in /usr/loc
al/lib/python3.6/dist-packa
ges (from tensorflow) (1.15
.0)
Requirement already satisfi
ed: typing-extensions~=3.7.
4 in /usr/local/lib/python3
.6/dist-packages (from tens
orflow) (3.7.4.3)
Requirement already satisfi
ed: google-pasta~=0.2 in /u
sr/local/lib/python3.6/dist
-packages (from tensorflow)
(0.2.0)
Requirement already satisfi
ed: astunparse~=1.6.3 in /u
sr/local/lib/python3.6/dist
-packages (from tensorflow)
(1.6.3)
Requirement already satisfi
ed: gast==0.3.3 in /usr/loc
al/lib/python3.6/dist-packa
ges (from tensorflow) (0.3.
3)
Requirement already satisfi
ed: h5py~=2.10.0 in /usr/lo
cal/lib/python3.6/dist-pack
ages (from tensorflow) (2.1
0.0)
Requirement already satisfi
ed: tensorflow-estimator<2.
5.0,>=2.4.0rc0 in /usr/loca
l/lib/python3.6/dist-packag
es (from tensorflow) (2.4.0
)
Requirement already satisfi
ed: grpcio~=1.32.0 in /usr/
local/lib/python3.6/dist-pa
ckages (from tensorflow) (1
.32.0)
Requirement already satisfi
ed: wheel~=0.35 in /usr/loc
al/lib/python3.6/dist-packa
ges (from tensorflow) (0.36
.2)
Requirement already satisfi
ed: wrapt~=1.12.1 in /usr/l
ocal/lib/python3.6/dist-pac
kages (from tensorflow) (1.
12.1)
Requirement already satisfi
ed: numpy~=1.19.2 in /usr/l
ocal/lib/python3.6/dist-pac
kages (from tensorflow) (1.
19.4)
Requirement already satisfi
ed: setuptools in /usr/loca
l/lib/python3.6/dist-packag
es (from protobuf>=3.9.2->t
ensorflow) (51.0.0)
Requirement already satisfi
ed: google-auth-oauthlib<0.
5,>=0.4.1 in /usr/local/lib
/python3.6/dist-packages (f
rom tensorboard~=2.4->tenso
rflow) (0.4.2)
Requirement already satisfi
ed: requests<3,>=2.21.0 in
/usr/local/lib/python3.6/di
st-packages (from tensorboa
rd~=2.4->tensorflow) (2.23.
0)
Requirement already satisfi
ed: werkzeug>=0.11.15 in /u
sr/local/lib/python3.6/dist
-packages (from tensorboard
~=2.4->tensorflow) (1.0.1)
Requirement already satisfi
ed: tensorboard-plugin-wit>
=1.6.0 in /usr/local/lib/py
thon3.6/dist-packages (from
tensorboard~=2.4->tensorflo
w) (1.7.0)
Requirement already satisfi
ed: markdown>=2.6.8 in /usr
/local/lib/python3.6/dist-p
ackages (from tensorboard~=
2.4->tensorflow) (3.3.3)
Requirement already satisfi
ed: google-auth<2,>=1.6.3 i
n /usr/local/lib/python3.6/
dist-packages (from tensorb
oard~=2.4->tensorflow) (1.1
7.2)
Requirement already satisfi
ed: requests-oauthlib>=0.7.
0 in /usr/local/lib/python3
.6/dist-packages (from goog
le-auth-oauthlib<0.5,>=0.4.
1->tensorboard~=2.4->tensor
flow) (1.3.0)
Requirement already satisfi
ed: urllib3!=1.25.0,!=1.25.
1,<1.26,>=1.21.1 in /usr/lo
cal/lib/python3.6/dist-pack
ages (from requests<3,>=2.2
1.0->tensorboard~=2.4->tens
orflow) (1.24.3)
Requirement already satisfi
ed: certifi>=2017.4.17 in /
usr/local/lib/python3.6/dis
t-packages (from requests<3
,>=2.21.0->tensorboard~=2.4
->tensorflow) (2020.12.5)
Requirement already satisfi
ed: idna<3,>=2.5 in /usr/lo
cal/lib/python3.6/dist-pack
ages (from requests<3,>=2.2
1.0->tensorboard~=2.4->tens
orflow) (2.10)
Requirement already satisfi
ed: chardet<4,>=3.0.2 in /u
sr/local/lib/python3.6/dist
-packages (from requests<3,
>=2.21.0->tensorboard~=2.4-
>tensorflow) (3.0.4)
Requirement already satisfi
ed: importlib-metadata; pyt
hon_version < "3.8" in /usr
/local/lib/python3.6/dist-p
ackages (from markdown>=2.6
.8->tensorboard~=2.4->tenso
rflow) (3.3.0)
Requirement already satisfi
ed: cachetools<5.0,>=2.0.0
in /usr/local/lib/python3.6
/dist-packages (from google
-auth<2,>=1.6.3->tensorboar
d~=2.4->tensorflow) (4.2.0)
Requirement already satisfi
ed: rsa<5,>=3.1.4; python_v
ersion >= "3" in /usr/local
/lib/python3.6/dist-package
s (from google-auth<2,>=1.6
.3->tensorboard~=2.4->tenso
rflow) (4.6)
Requirement already satisfi
ed: pyasn1-modules>=0.2.1 i
n /usr/local/lib/python3.6/
dist-packages (from google-
auth<2,>=1.6.3->tensorboard
~=2.4->tensorflow) (0.2.8)
Requirement already satisfi
ed: oauthlib>=3.0.0 in /usr
/local/lib/python3.6/dist-p
ackages (from requests-oaut
hlib>=0.7.0->google-auth-oa
uthlib<0.5,>=0.4.1->tensorb
oard~=2.4->tensorflow) (3.1
.0)
Requirement already satisfi
ed: zipp>=0.5 in /usr/local
/lib/python3.6/dist-package
s (from importlib-metadata;
python_version < "3.8"->mar
kdown>=2.6.8->tensorboard~=
2.4->tensorflow) (3.4.0)
Requirement already satisfi
ed: pyasn1>=0.1.3 in /usr/l
ocal/lib/python3.6/dist-pac
kages (from rsa<5,>=3.1.4;
python_version >= "3"->goog
le-auth<2,>=1.6.3->tensorbo
ard~=2.4->tensorflow) (0.4.
8)

In [8]: import numpy as np


import matplotlib.pyplot as plt
from tensorflow import keras

1. Chargement
des données et
Normalisation
In [ ]: # Chargement des données MNIST
(X_train, y_train) , (X_test, y

print('trainset:', X_train.shap
print('testset:', X_test.shape)

# Normalisation des données


X_train = X_train / 255
X_test = X_test / 255

Downloading data from https


://storage.googleapis.com/t
ensorflow/tf-keras-datasets
/mnist.npz
11493376/11490434 [========
======================] - 0
s 0us/step
trainset: (60000, 28, 28)
testset: (10000, 28, 28)

2. Visualisation
des données
In [ ]: # visualisation de quelques ima
fig, ax = plt.subplots(nrows=1,
for i in range(10):
ax[i].imshow(X_train[i], cmap

plt.tight_layout()
plt.show()

3. Configuration
des Couches du
Réseau de
Neurones
In [ ]: # Configuration des couches du
model = keras.Sequential([
keras.layers.Flatten(input_
keras.layers.Dense(128, act
keras.layers.Dense(128, act
keras.layers.Dense(10)
])

4. Entrainement
du Réseau de
Neurones
In [ ]: # Compilation du modele
model.compile(optimizer='adam',
loss= keras.losse
metrics=['accurac

# Entrainement du modele
model.fit(X_train, y_train, epo

Epoch 1/10
1875/1875 [================
==============] - 4s 2ms/st
ep - loss: 0.4070 - accurac
y: 0.8833
Epoch 2/10
1875/1875 [================
==============] - 4s 2ms/st
ep - loss: 0.1002 - accurac
y: 0.9692
Epoch 3/10
1875/1875 [================
==============] - 4s 2ms/st
ep - loss: 0.0653 - accurac
y: 0.9781
Epoch 4/10
1875/1875 [================
==============] - 4s 2ms/st
ep - loss: 0.0468 - accurac
y: 0.9845
Epoch 5/10
1875/1875 [================
==============] - 4s 2ms/st
ep - loss: 0.0373 - accurac
y: 0.9872
Epoch 6/10
1875/1875 [================
==============] - 4s 2ms/st
ep - loss: 0.0310 - accurac
y: 0.9898
Epoch 7/10
1875/1875 [================
==============] - 4s 2ms/st
ep - loss: 0.0251 - accurac
y: 0.9916
Epoch 8/10
1875/1875 [================
==============] - 4s 2ms/st
ep - loss: 0.0245 - accurac
y: 0.9919
Epoch 9/10
1875/1875 [================
==============] - 4s 2ms/st
ep - loss: 0.0180 - accurac
y: 0.9940
Epoch 10/10
1875/1875 [================
==============] - 4s 2ms/st
ep - loss: 0.0155 - accurac
y: 0.9950
Out[ ]: <tensorflow.python.keras.c
allbacks.History at 0x7ff7
9086e7f0>

5. Évaluation du
réseau de
neurone sur les
données de Test
In [ ]: # Evaluation du modele
test_loss, test_acc = model.eva
print('Test accuracy:', test_ac

313/313 [==================
============] - 0s 1ms/step
- loss: 0.0843 - accuracy:
0.9797
Test accuracy: 0.9797000288
963318

6. Création d'un
modele prédictif
In [ ]: # modele prédictif (softmax)
prediction_model = keras.Sequen
predict_proba = prediction_mode
predictions = np.argmax(predict

print(predictions[:10])
print(y_test[:10])

[7 2 1 0 4 1 4 9 5 9]
[7 2 1 0 4 1 4 9 5 9]

Terms Privacy Security Status Docs


Contact GitHub Pricing API Training Blog About

© 2023 GitHub, Inc.

You might also like