Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 04/10/2017, à 10:54

taamer

[Résolu] - Ubuntu 16.04 LTS Python 3.6 -- Installation de tensorflow

Bonjour à tous,

Je suis en train de réinstaller un environnement pour développer en Python, et je m'interroge sur la manière la plus simple d'installer et de maintenir les librairies numpy et tensorflow.
- Recommandez-vous l'usage d'une distribution Python qui les inclut (genre Anaconda... ou une autre)?
- Ou y a-t-il un autre moyen plus classique (ppa et apt)

L'état actuel des installations - l'alias commande python pointe vers 2.7 et python3 pointe vers 3.6.

alexandre@Martin-2:~$ ls -al /usr/bin/ | grep python
lrwxrwxrwx  1 root   root          26 mai   18  2016 dh_pypy -> ../share/dh-python/dh_pypy
-rwxr-xr-x  1 root   root        1056 déc.  10  2015 dh_python2
lrwxrwxrwx  1 root   root          29 mai   18  2016 dh_python3 -> ../share/dh-python/dh_python3
lrwxrwxrwx  1 root   root          23 nov.  19  2016 pdb2.7 -> ../lib/python2.7/pdb.py
lrwxrwxrwx  1 root   root          23 sept. 18 17:59 pdb3.5 -> ../lib/python3.5/pdb.py
lrwxrwxrwx  1 root   root          23 juil. 29 17:26 pdb3.6 -> ../lib/python3.6/pdb.py
lrwxrwxrwx  1 root   root          31 mars  23  2016 py3versions -> ../share/python3/py3versions.py
lrwxrwxrwx  1 root   root          26 mai   18  2016 pybuild -> ../share/dh-python/pybuild
lrwxrwxrwx  1 root   root           9 déc.  10  2015 python -> python2.7
lrwxrwxrwx  1 root   root           9 déc.  10  2015 python2 -> python2.7
-rwxr-xr-x  1 root   root     3546104 nov.  19  2016 python2.7
lrwxrwxrwx  1 root   root          18 oct.   3 20:20 python3 -> /usr/bin/python3.6
-rwxr-xr-x  2 root   root     4456240 sept. 18 17:59 python3.5
-rwxr-xr-x  2 root   root     4456240 sept. 18 17:59 python3.5m
-rwxr-xr-x  2 root   root     4437376 juil. 29 17:26 python3.6
-rwxr-xr-x  2 root   root     4437376 juil. 29 17:26 python3.6m
lrwxrwxrwx  1 root   root          10 mars  23  2016 python3m -> python3.5m
lrwxrwxrwx  1 root   root          29 déc.  10  2015 pyversions -> ../share/python/pyversions.py

Merci pour votre aide.

Edition : du coup, je viens de supprimer le lien python et le recréer pour le faire pointer vers python3. Un pas de fourmi vers quelque chose de propre.

Dernière modification par taamer (Le 12/10/2017, à 16:43)

Hors ligne

#2 Le 04/10/2017, à 12:57

shoot76

Re : [Résolu] - Ubuntu 16.04 LTS Python 3.6 -- Installation de tensorflow

Ce qui se fait d'usage : créer un virtualenv et y ajouter un fichier qui gère les dépendances (traditionnellement nommé requirements.txt). Ainsi tu as un environnement isolé avec la bonne version de python et de tes dépendances.

Tu peux également passé par un conteneur Docker et créer ta propre image que tu pourras trimballer partout si tu en a besoin sur plusieurs ordis.

Sinon, l'utlime solution (mais perso je l'aime pas) c'est de partir sur des gestionnaires genre Anaconda ou autre. Mais ça fait rajouter un truc en plus alors que Python gère ça tout seul comme un grand.


~ Data-sientist freelance : https://skulder.fr

Hors ligne

#3 Le 12/10/2017, à 14:36

taamer

Re : [Résolu] - Ubuntu 16.04 LTS Python 3.6 -- Installation de tensorflow

shoot76 a écrit :

Ce qui se fait d'usage : créer un virtualenv et y ajouter un fichier qui gère les dépendances (traditionnellement nommé requirements.txt). Ainsi tu as un environnement isolé avec la bonne version de python et de tes dépendances.

Merci pour cet avis, j'ai finalement pris VirtualEnv. Usage facile, simple et de bon goût. Le tutoriel google d'installation de tensorflow permet de ne pas avoir à gérer requirements.txt à la main.

taamer a écrit :

Edition : du coup, je viens de supprimer le lien python et le recréer pour le faire pointer vers python3. Un pas de fourmi vers quelque chose de propre.

... (rire jaune) ou comment j'ai réussi à crash Ubuntu avec un petit lien (python3 --> python3.6). J'ignorais qu'un grand nombre de paquets d'Ubuntu - des programmes et des applications systèmes - utilisent python3, et que le lien vers python3.5 est très important (dans Ubuntu 16.04). Après un reboot forcé où unity ne démarrait plus - entre autres -, et un peu de troubleshooting, j'ai remis mon système d'équerre en ligne de commande et j'ai pu réparer mon système avant de procéder à l'installation de Python et de tensorflow.

J'ai suivi le tutoriel de Google https://www.tensorflow.org/install/ qui est très bien fait, en choisissant Ubuntu et VirtualEnv comme conteneur, afin de faire tourner un environnement de dev sans risquer d'abimer l'environnement python système. J'ai installé tensorflow pour python2.7 et python3.5. (environnements 001 et 002)

Puis j'ai vu que tensorflow pouvait être utilisé avec une configuration qui utilise le GPU pour faire les calculs. J'ai suivi le tutoriel Nvidia (puisque ma carte graphique est Nvidia) http://docs.nvidia.com/cuda/cuda-instal … z4VZnqTJ2A. Tout se passe bien - avec tensorflow 1.3, il faut installer cuda-8-0 (apt-get install) et cuDNN-6.0, et non cuda-9.0 et cuDNN-7.0 qui vous sont proposés en premier en cliquant sur les liens de la page nvidia. (environnements 003 et 004)

Enfin, j'ai pu observer, en faisant tourner du code, que mon GPU nvidia supporte des jeux de commandes qui ne sont pas compilés par défaut dans tensorflow 1.3. J'ai d'abord regardé comment compiler moi-même les sources avec les bonnes options; puis j'ai trouvé quelqu'un qui l'avait déjà fait https://github.com/mind/wheels et j'ai pris les bonnes versions. (environnements 005 et 006).

alexandre@Martin-2:~/Documents/Ordinateur/VirtualEnv$ ls -al | grep tensorflow
drwxrwxr-x  7 alexandre alexandre  4096 oct.   7 14:59 001-tensorflow-1.3-py2.7-cpu
drwxrwxr-x  6 alexandre alexandre  4096 oct.   7 15:03 002-tensorflow-1.3-py3.5-cpu
drwxrwxr-x  7 alexandre alexandre  4096 oct.   7 15:05 003-tensorflow-1.3-py2.7-gpu-cuda-8.0-cuDNN-6.0
drwxrwxr-x  6 alexandre alexandre  4096 oct.   7 15:07 004-tensorflow-1.3-py3.5-gpu-cuda-8.0-cuDNN-6.0
drwxrwxr-x  7 alexandre alexandre  4096 oct.   7 17:36 005-tensorflow-1.3-py2.7-gpu-opt-cuda-8.0-cuDNN-6.0
drwxrwxr-x  6 alexandre alexandre  4096 oct.   7 19:00 006-tensorflow-1.3-py3.5-gpu-opt-cuda-8.0-cuDNN-6.0

Il ressort de tout cela qu'Ubuntu 16.04 est construit pour fonctionner avec Python3.5, tout comme tensorflow 1.3. Cela a parfois du bon d'utiliser une LTS pour rester dans les clous de la compatibilité. On verra bien comment tout cela fonctionne en 18.04, mais pour l'instant, tous mes environnements fonctionnent.

Post scriptum : je vais sûrement regarder d'autres packages python (numpy, scipy, scikit-learn) et SageMath. A suivre.

Hors ligne

#4 Le 16/10/2017, à 09:35

shoot76

Re : [Résolu] - Ubuntu 16.04 LTS Python 3.6 -- Installation de tensorflow

Parfait. Il ne me reste plus qu'à te souhaiter un bon développement big_smile


~ Data-sientist freelance : https://skulder.fr

Hors ligne