Partager la publication "Installation de Anaconda – Rodeo – TensorFlow et Keras sous Windows 10"
Dans cet article il n’y aura pratiquement pas de code source mais juste un tutoriel pour installer un environnement permettant de faire du Deep Learning : Anaconda + Rodeo + TensorFlow + Keras.
Comme j’ai un peu galéré, je vous mets la procédure que j’ai suivie. Ceci vous fera gagner du temps si vous vous retrouvez dans la même situation que moi.
De quoi aurons nous besoin ?
Anaconda
Anaconda est une version de Python dédiée aux sciences de données avec plus de 1400 packages spécialisés. Anaconda est recommandée si l’on utilise Rodeo (voir plus bas). Anaconda est actuellement construite sur une base de Python 3.6.5, ce qui convient à TensorFlow et Keras (voir plus bas) qui ne sont pas, à ce jour, compatibles avec Python 3.7.
ERRATUM (01/08/2019) : la version d’Anaconda par défaut est maintenant la 3.7 donc non compatible avec TensorFlow : vous devrez donc « downgrader » en 3.6.
Rodeo
Rodeo est un environnement de développement pour les sciences de données avec Python. Rodeo ressemble beaucoup à R Studio (l’environnement de développement pour R dont nous avons l’habitude), c’est pourquoi nous avons opté pour celui-ci.
TensorFlow
TensorFlow est une bibliothèque de ressources permettant d’effectuer de l’apprentissage machine (Machine Learning) ainsi que de réaliser du deep learning et des réseaux de neurones.
TenserFlow a été développée au départ par l’équipe Google Brain de Google.
Keras
Keras est une bibliothèque open source de réseau de neurones qui interagit avec d’autres outils comme TensorFlow mais aussi Microsoft Cognitive Toolkit ou Theano. Keras a pour objectif de faciliter le développement de réseaux de neurones profonds et l’utilisation des outils précités.
Procédure
Installation d’Anaconda
Téléchargez Anaconda sur cette page : https://www.anaconda.com/download/
Téléchargez la version Python 3.6 qui convient à votre ordinateur Windows : 64-Bit (dans mon cas) ou 32 Bit (non testé) et installez-la :
La version d’Anaconda actuelle s’appelle aussi « Anaconda3 5.2 ».
Durant la procédure d’installation notez bien l’emplacement d’installation, cela peut être C:\ProgramData\Anaconda3 ou C:\Users\Nom_utilisateur\Anaconda3, vous en aurez besoin par la suite.
A la fin de l’installation d’Anaconda à proprement parlé, le système vous propose d’installer Microsoft Visual Studio Code. Si vous n’en n’avez pas d’installé au préalable installez-le. Dans notre cas il ne nous sert pas à grand chose mais il installe un fichier .dll dont TensorFlow a besoin : msvcp140.dll.
Installation de Rodeo
Pour une raison que j’ignore la page de téléchargement de Rodeo https://www.yhat.com/products/rodeo/downloads semble indisponible en ce moment. Vous pouvez récupérer Rodeo chez 01Net : https://www.01net.com/telecharger/windows/Programmation/creation/fiches/134424.html
La version que j’ai récupérée est « Rodeo.Setup.2.5.2.exe ». Installez-la :
Il n’y a rien de particulier à faire, à la fin de l’installation Rodeo s’ouvre avec un example de programme Python.
Vérifiez juste que la version de Python qui tourne avec Rodeo est la bonne (celle qui se trouve dans le répertoire d’installation d’Anaconda). Pour moi : C:\ProgramData\Anaconda3\python.exe
Pour cela, cliquez en haut à gauche dans le menu sur Rodeo puis Preferences
Installation de TensorFlow et Keras
Anaconda installe un certain nombre d’outils sur votre machine dont une invite de commande « Anaconda Prompt ». Il est conseillé d’utiliser cette invite de commande plutôt que l’invite de commande standard Windows « cmd » car vous êtes directement chargé avec l’environnement Python d’Anaconda.
Ouvrez Anaconda Prompt en mode ADMINISTRATEUR. Ceci vous évitera des erreurs de droits en écritures par la suite lors de l’installation des bibliothèques / paquets.
Anaconda prompt s’ouvre :
Notez bien le « (base) » avant le prompt « xxx> » : cela indique que nous sommes bien dans l’environnement de base d’Anaconda. Par ailleurs le prompt est quelque chose comme « C:\WINDOWS\system32> » plutôt que quelque chose comme « C:\Users\MonNomUtilisateur> » et qui indique que nous sommes bien en mode administrateur.
Dans Anaconda, il est conseillé d’utiliser le gestionnaire de paquets « conda » plutôt que « pip », autre gestionnaire de paquets de Python. Un gestionnaire de paquets permet de mettre à jour les bibliothèques et paquets (packages) dont on a besoin.
Profitons-en pour mette à jour le gestionnaire de paquets lui-même, si besoin, avec la commande :
conda update conda
ERRATUM : 01/08/2019 : downgradez Python 3.7 en 3.6 : (TensorFlow n’est pas compatible avec Python 3.7) :
conda install python==3.6
Installation de TensorFlow et Keras : il m’a fallu un bon moment pour trouver 2 versions de TensorFlow et Keras compatibles entre-elles ici TensorFlow 1.5 et Keras 2. Il existe certainement d’autres combinaisons.
Tapez le code suivant dans Anaconda prompt :
conda install tensorflow=1.5 keras=2 -c defaults -c conda-forge
Comme vous le voyez, le système va ajouter des paquets, « upgrader » certains et « downgrader » d’autres afin que tout soit compatible.
Si vous n’avez pas d’erreur après « Executing transaction: » c’est que tout c’est bien passé.
Vérification de l’installation
Nous allons vérifier notre installation dans Rodeo :
Après avoir ouvert Rodeo, saisissez le petit programme suivant soit dans un script soit dans le terminal pour vérifier l’installation de TensorFlow :
import tensorflow as tf hello = tf.constant('Hello, TensorFlow!') sess = tf.Session() print(sess.run(hello))
Le système doit renvoyer « b’Hello, TensorFlow!' »
Saisissez la ligne suivante pour vérifier que Keras est installé et prend bien en compte TensorFlow en « backend ».
from keras.models import Sequential
Le système doit renvoyer « Using TensorFlow backend. »
Vous trouverez une illustration de l’utilisation de Keras (avec TensorFlow) dans une nouvelle série d’articles sur le Deep Learning qui démarre par l’article « Classification de pages Web via Deep Learning – Réseau de Neurones à propagation avant« .
Merci pour vos commentaires.
Pierre
jimprideaux
12 octobre 2018 at 6 h 34 minBonjour Pierre, merci pour ce billet. Sais-tu si l’on peut modifier le backend utilisé par Keras par une instruction dans le script ? Merci
Pierre • Post Author •
12 octobre 2018 at 9 h 53 minBonjour,
Je n’ai pas trouvé de méthode pour modifier le backend directement dans le script.
il faut aller modifier le fichier de configuration de Keras : keras.json. Sous Windows il se trouve dans le répertoire Nom_d_utilisateur/.keras .
{
« floatx »: « float32 »,
« epsilon »: 1e-07,
« backend »: « tensorflow »,
« image_data_format »: « channels_last »
}
Tu peux changer le champ backend en « theano »ou « cntk » selon ton environnement.
Plus d’info dans la documentation de Keras https://keras.io/backend/
Pierre
Pierre • Post Author •
12 octobre 2018 at 10 h 05 minAh finalement j’ai trouvé cela mais je n’ai pas testé :
from keras import backend as K
from os import environ
# user defined function to change keras backend
def set_keras_backend(backend):
if K.backend() != backend:
environ[‘KERAS_BACKEND’] = backend
reload(K)
assert K.backend() == backend
# call the function with « theano »
set_keras_backend(« theano »)
Amo
15 janvier 2019 at 18 h 32 minMerci pour l’info sur les versions compatibles entre tensorflow et keras.
Pierre • Post Author •
28 septembre 2019 at 15 h 40 minAttention !!!! à partir de la version 1.6, les versions binaires de tensorflow ont été compilées pour un processeur compatible avec les instructions AVX.
Voir discussion ici : https://github.com/openai/gpt-2/issues/34
Pour déterminer votre processeur, tapez la touche Windows + S
tapez « informations système » et récupérez le nom de votre processeur par exemple pour moi : Intel(R) Celeron(R) CPU 1000M.
Pour Intel, allez ensuite sur le site des caractéristiques techniques : https://ark.intel.com/content/www/fr/fr/ark.html et recherchez votre processeur.
Allez sur la page de votre processeur et dans la rubrique avancée, recherchez la ligne « Extensions au jeu d’instructions » et vérifiez que vous avez « AVX », par exemple : » Intel® AVX2, Intel® AVX-512″.
Pas de chance pour moi mon PC n’est pas compatible AVX !!!!
Si je veux un tensorflow plus récent, je vais être obligé de le compiler moi même sur mon ordi, ce qui n’est pas une mince affaire 🙁 : https://www.tensorflow.org/install/source_windows
Pierre • Post Author •
6 décembre 2019 at 18 h 27 minFinalement j’ai compilé la dernière version de Tensorflow (2.0 à ce jour) pour la faire tourner sur les vieux ordinateurs. Plus d’explications (en anglais) sur notre Github à l’adresse : https://github.com/Anakeyn/Tensorflow2.0ForOldComputers