[PYTHON] L'histoire de la gestion de theano avec TSUBAME 2.0

abstract C'est un enregistrement jusqu'à ce que theeano soit exécuté sur TSUBAME 2.0.

Dans TSUBAME 2.0, vous devez créer vous-même tous les éléments liés à Python. J'ai installé numpy, scipy, theano en me référant à ce site, mais scipy.test () a échoué. Et theano n'a pas fonctionné non plus.

2016/7/25 postscript Ce site semblait disparaître, donc postscript. Tout d'abord, enregistrez la clé publique sur le portail. Définir ssh avec

~/.ssh/config


Host login-t2.g.gsic.titech.ac.jp                                            
    HostName login-t2.g.gsic.titech.ac.jp                                      
    User USER_ID                                                              
    IdentityFile WHERE_OF_PUBLIC_KEY                                                 
    RemoteForward 3128 proxy.noc.titech.ac.jp:3128

Du côté TSUBAME,

~/.bashrc


export http_proxy="http://localhost:3128"                                      
export https_proxy="http://localhost:3128"                                     
export ftp_proxy="http://localhost:3128"

Fin du post-scriptum

À la suite d'essais et d'erreurs, l'installation de numpy à l'aide d'OpenBLAS a forcé theano à fonctionner correctement.

[Introduction]

[Démérite]

Tout d'abord, allez à 3.4 (installez matplotlib) sur le site ci-dessus.

OpenBLAS

cd OpenBLAS
make BINARY=64 USE_THREAD=1 FC=gfortran
make PREFIX=~/.local/OpenBLAS/ install 

Mettez-le dans le PATH

export LIBRARY_PATH=~/.local/lib:~/.local/OpenBLAS/lib:$LIBRARY_PATH
export LD_LIBRARY_PATH=~/.local/lib:~/.local/OpenBLAS/lib:$LD_LIBRARY_PATH
export PATH=~/.local/bin:~/.local/OpenBLAS/bin:$PATH
export BLAS=/home/....../.local/OpenBLAS/lib/libopenblas.a
export LAPACK=/home/....../.local/OpenBLAS/lib/libopenblas.a

numpy

cd numpy
cp site.cfg.example site.cfg

Ici, et [ici](http://osdf.github.io/blog/numpyscipy-with-openblas- For-ubuntu-1204-second-try.html), écrivez site.cfg comme suit (ci-après, veuillez réécrire PATH comme il convient)

site.cfg


[default]
library_dirs = /home/....../.local/OpenBLAS/lib

[openblas]
libraries = openblas
library_dirs = /home/....../.local/OpenBLAS/lib
include_dirs = /home/....../.local/OpenBLAS/include

[atlas]
atlas_libs = openblas
library_dirs = /home/....../.local/OpenBLAS/lib

[lapack]
lapack_libs = openblas
library_dirs = /home/....../.local/OpenBLAS/lib

D'une manière ou d'une autre, si atlas et lapack ne sont pas définis, segfo se produira lors du test de la fonction dot () avec scipy.

Vérifiez s'il a été réglé correctement

python setup.py config

Si openblas, atlas, lapack sont affichés comme FOUND, passez à l'installation

python setup.py build
python setup.py install
cd ~
python -c "import numpy;numpy.test(verbose=10)"

scipy Il ne semble pas nécessaire de faire quoi que ce soit à propos de scipy

cd scipy
python setup.py build
python setup.py install
cd ~
python -c "import scipy;scipy.test(verbose=10)"

Theano

cd theano
python setup.py develop --prefix=~/.local
python setup.py install

Créez ~ / .theanorc comme suit

.theanorc


[global]
floatX = float32
device = gpu
openmp = True


[nvcc]
fastmath = True

[blas]
ldflags =  -lopenblas

[cuda]
root = /usr/apps.sp3/cuda/6.0/
[gcc]
cxxflags = -I/usr/apps.sp3/mpi/openmpi/1.8.2/g4.3.4_cuda6.0/include -I/usr/apps.sp3/mpi/openmpi/1.8.2/g4.3.4_cuda6.0/include/openmpi -L/usr/apps.sp3/mpi/openmpi/1.8.2/g4.3.4_cuda6.0/lib -lmpi -lmpi_cxx

Ensuite, lancez votre programme préféré. Si l'exemple de DeepLearningTutorials fonctionne, je me demande s'il peut être géré. ..

Recommended Posts

L'histoire de la gestion de theano avec TSUBAME 2.0
Une histoire sur la façon de traiter le problème CORS
Une histoire sur l'apprentissage automatique avec Kyasuket
Une histoire sur l'implémentation d'un écran de connexion avec django
Histoire de l'utilisation du jeton logiciel de Resona avec 1Password
Une histoire de prédiction du taux de change avec Deep Learning
L'histoire de la création d'une partition de type Hanon avec Python
Une histoire d'essayer un monorepo (Golang +) Python avec Bazel
Une histoire sur la façon dont les utilisateurs de Windows 10 ont créé un environnement pour utiliser OpenCV3 avec Python 3.5
Comment lancer avec Theano
Une histoire sur la façon de spécifier un chemin relatif en python.
Une histoire de compétition avec un ami dans Othello AI Preparation
Une histoire sur l'installation de matplotlib à l'aide de pip avec une erreur
Une histoire sur un amateur faisant une rupture de bloc avec python (kivy) ②
Une histoire sur un amateur faisant une rupture de bloc avec python (kivy) ①
Une histoire sur la création d'une courte chanson par hasard avec Sudachi Py
Une histoire à propos d'un débutant en python coincé avec aucun module nommé'ttp.server '
Une histoire rafraîchissante sur Slice en Python
Une histoire sur l'ajout d'une API REST à un démon créé avec Python
Une histoire de mauvaise humeur sur Slice en Python
Une histoire sur le développement d'un type logiciel avec Firestore + Python + OpenAPI + Typescript
L'histoire de l'utilisation de la réduction de Python
[Petite histoire] Comment enregistrer des graphiques matplotlib dans un lot avec Jupyter
Réfléchissez à la façon d'écrire un filtre avec les versions Shotgun API-Contact
Que diriez-vous de créer un environnement virtuel avec Anaconda et de faire une installation pip?
Une histoire sur l'automatisation du mahjong en ligne (Jakutama) avec OpenCV et l'apprentissage automatique
Une histoire à laquelle j'étais accro à essayer d'obtenir une URL de vidéo avec tweepy
Une histoire sur un remodelage magique qui met Lubuntu dans un Chromebook
Comment ajouter un package avec PyCharm
Une histoire sur Python pop and append
Que diriez-vous de l'analyse de polarité avec "ordre" ajouté?
Une histoire que moi, un débutant en programmation, j'ai créé une application de cartographie d'efficacité commerciale avec GeoDjango
[Note] Une histoire sur l'impossibilité de percer le proxy avec pip
Une histoire sur la création d'un environnement IDE avec WinPython sur un ancien système d'exploitation Windows.
J'ai essayé de créer un chargeur de démarrage x86 qui peut démarrer vmlinux avec Rust
Une histoire à laquelle j'étais accro après la communication SFTP avec python
Comment partager un environnement virtuel [About requirements.txt]
Une histoire sur l'apprentissage automatique simple avec TensorFlow
Comment envoyer un message à LINE avec curl
Comment dessiner un graphique à 2 axes avec pyplot
Comment développer une application de panier avec Django
Comment créer un dictionnaire avec une structure hiérarchique.
Une histoire sur l'exploitation d'une instance GCP à partir de Discord
Une histoire accro aux variables globales et à la portée de Go
Une histoire sur la gestion des données binaires en Python
L'histoire de vouloir afficher des annonces liées à des articles sur Jubatus
Une histoire sur l'exécution de Python sur PHP sur Heroku
Une histoire remplie de valeurs absolues de numpy.ndarray
Procédure de création d'application multi-plateforme avec kivy
Modificateurs de vérification des mémos avec MaxPlus
Une histoire sur la modification de Python et l'ajout de fonctions
Histoire de l'analyse de données par apprentissage automatique
Une idée fausse improbable sur la façon de spécifier un gestionnaire pour un zip téléchargé avec Lambda
Une histoire sur une erreur lors du chargement d'un modèle TensorFlow créé avec Google Colab localement