En dehors de mes recherches, j'ai décidé de toucher CNN comme un travail à temps partiel, alors j'ai pensé que je ne pouvais pas exécuter le GPU sur mon mac et que je ne pouvais pas facilement le tourner, alors je vais exécuter Linux, ce que je n'avais pas été capable de gérer! C'est un article que j'ai écrit pour le moment.
Pour faire simple, j'ai eu un utilisateur d'un serveur Linux dans le laboratoire, c'est donc un rappel quand j'ai pu exécuter le GPU avec Tensor etc. Vive votre propre mémo.
En gros, nous allons procéder en faisant référence à ceci Lancer TensorFlow-gpu avec ubuntu 18.04.
Anglais mais [Un guide pas à pas pour installer le GPU Tensorflow sur Ubuntu 18.04 LTS](https://medium.com/@kekayan/step-by-step-guide-to-install-tensorflow-gpu-on-ubuntu-18 -04-lts-6feceb0df5c0) a également été utile.
J'ai l'utilisateur avec l'autorité sudo, alors changeons le mot de passe
$ passwd [Nom d'utilisateur]
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
Après avoir entré le mot de passe actuel, entrez le nouveau mot de passe deux fois et vous avez terminé.
passwd: password updated successfully
Pour le moment, vérifiez l'état actuel avec la commande suivante.
$ nvidia-smi
Puis,
Wed Nov 20 13:44:59 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.129 Driver Version: 390.129 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Quadro K620 Off | 00000000:02:00.0 On | N/A |
| 34% 39C P8 1W / 30W | 124MiB / 1994MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 1 GeForce GTX 108... Off | 00000000:03:00.0 Off | N/A |
| 23% 40C P8 26W / 250W | 2MiB / 11178MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 2599 G /usr/lib/xorg/Xorg 49MiB |
| 0 2929 G /usr/bin/gnome-shell 71MiB |
+-----------------------------------------------------------------------------+
Il semble qu'il soit déjà installé. Ensuite, nous présenterons CUDA cuDNN.
Ceci est également confirmé par la commande suivante pour le moment.
$ nvcc -V
Command 'nvcc' not found, but can be installed with:
apt install nvidia-cuda-toolkit
Please ask your administrator.
Il semble que cela doit être installé. Il dit «Veuillez demander à votre administrateur», je suis heureux d'avoir obtenu l'autorisation d'administrateur.
Continuons l'installation.
Ceci est pour référence Exécutez TensorFlow-gpu sur ubuntu18.04 Ou Mettez Tensorflow avec GPU dans Ubuntu 18.04 Ensuite, la dernière version de CUDA 10.0 indique que Tensorflow-gpu n'est pas pris en charge, donc CIDA 9.0 a été installé.
Les deux articles datent d'il y a environ un an, donc à partir du 20 novembre 2019, si vous consultez le site Web officiel de Tensorflow,
The following NVIDIA® software must be installed on your system: NVIDIA® GPU drivers —CUDA 10.0 requires 410.x or higher. CUDA® Toolkit —TensorFlow supports CUDA 10.0 (TensorFlow >= 1.13.0) CUPTI ships with the CUDA Toolkit. cuDNN SDK (>= 7.4.1) (Optional) TensorRT 5.0 to improve latency and throughput for inference on some models.
Était écrit.
CUDA® Toolkit —TensorFlow supports CUDA 10.0 (TensorFlow >= 1.13.0)
Donc, il semble que CUDA 10.0 soit correct si vous utilisez TensorFlow de 1.13.0 ou supérieur.
Cependant, il indique "Pilotes de GPU NVIDIA® - CUDA 10.0 nécessite 410.x ou supérieur". Quelle était la version de nvidia? Je reviendrai pour confirmer.
$ nvidia-smi
Wed Nov 20 13:44:59 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.129 Driver Version: 390.129 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Quadro K620 Off | 00000000:02:00.0 On | N/A |
| 34% 39C P8 1W / 30W | 124MiB / 1994MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 1 GeForce GTX 108... Off | 00000000:03:00.0 Off | N/A |
| 23% 40C P8 26W / 250W | 2MiB / 11178MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 2599 G /usr/lib/xorg/Xorg 49MiB |
| 0 2929 G /usr/bin/gnome-shell 71MiB |
+-----------------------------------------------------------------------------+
C'était 390.120. Il semble mettre à jour nvidia ou définir CUDA sur 9.0.
Est-ce que ça va pour le GPU que j'utilise au départ? J'ai pensé et confirmé à ici.
Entrez le nom du produit et cliquez sur RECHERCHER.Il a été recommandé d'installer la version 440.31 du pilote. Apparemment, ça va du tout.
Après avoir mis à jour nvidia et installé TensorFlow 1.13.0 et CUDA 10.0, ou m'être inquiété de TensorFlow 1.12.0 ou version antérieure et de CUDA 9.0 pendant environ 30 secondes, j'ai décidé d'utiliser ce dernier.
Eh bien, c'est un serveur partagé, donc ce serait un problème s'il y avait une mise à jour, et il est plus sûr d'en être une avant la dernière.
À propos, afin d'étudier la relation de version de Nvidia, CUDA, TensorFlow, etc., cet article → [Pilote Nvidia, CUDA, cuDNN, Tensorflow-gpu et correspondance de version Python](https://qiita.com/konzo_ / items / a6f2e8818e5e8fcdb896) Était très utile! Je vous remercie.
Enfin, installez CUDA 9.0. Page d'installation officielle de NVIDIA → Téléchargements de CUDA Toolkit 9.0, comme indiqué ci-dessous Sélectionnez pour. Est-ce que ça va parce qu'il n'y a pas de 18.04? J'ai pensé, mais quand je l'ai recherché, il semble que 17.04 va bien.
Puisque je travaille localement cette fois, je vais le télécharger et l'envoyer au serveur avec scp.
local
$ scp -P [numéro de port] Downloads/cuda-repo-ubuntu1704_9.0.176-1_amd64.deb [Nom d'utilisateur]@[adresse IP]:[Copier le chemin de destination]
Normalement, le port est spécifié -p, mais quand scp, il est -P.
$ wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/[fichier deb]
Mais c'est d'accord.
$ sudo dpkg -i cuda-repo-ubuntu1704_9.0.176-1_amd64.deb
$ sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1704/x86_64/7fa2af80.pub
$ sudo apt-get update
$ sudo apt-get install cuda-toolkit-9-0
$ nano ~/.bashrc
.bashrc
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
** De plus, il semble que la dernière version sera installée si le dernier sudo apt-get install cuda
est utilisé, il semble donc important de spécifier la version correspondant à la fin. Cette fois, -toolkit-9-0
est ajouté. ** Ensuite, il semble que le travail pour passer par le PATH soit nécessaire. Entrez la commande suivante et éditez ".bashrc". Entrez la chaîne de caractères suivante à la fin et enregistrez. Redémarrer
$ sudo reboot
Après le démarrage, vérifiez si CUDA est installé avec la commande suivante.
$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Sep__1_21:08:03_CDT_2017
Cuda compilation tools, release 9.0, V9.0.176
Est affiché, donc OK.
cuDNN est une multi-bibliothèque installée avec CUDA, et semble être utilisée pour le calcul à grande vitesse sur GPU utilisant CUDA.
Vous devez accéder au site suivant et vous inscrire en tant que membre. https://developer.nvidia.com/rdp/cudnn-download
Après cela, installez les 3 suivants à partir de Download cuDNN v7.6.4 for CUDA 9.0
.
Exécutez les commandes suivantes dans l'ordre dans le répertoire téléchargé. Remplacez la version par la version téléchargée le cas échéant.
$ sudo dpkg -i libcudnn7_7.6.4.38-1+cuda9.0_amd64.deb
$ sudo dpkg -i libcudnn7-dev_7.6.4.38-1+cuda9.0_amd64.deb
$ sudo dpkg -i libcudnn7-doc_7.6.4.38-1+cuda9.0_amd64.deb
Ceci termine l'installation de cuDNN.
Je souhaite créer un environnement dans lequel je peux installer Anaconda à partir de pyenv et créer un environnement virtuel avec Anaconda tout en permettant à pyenv de basculer entre les versions d'Anaconda à tout moment.
pyenv
$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
$ nano ~/.bashrc
Après l'installation, ajoutez ce qui suit à .bashrc
.
.bashrc
export PYENV_ROOT=$HOME/.pyenv
export PATH=$PYENV_ROOT/bin:$PATH
eval "$(pyenv init -)"
Après avoir redémarré et confirmé que le chemin pyenv est en place, procédez à l'installation d'Anaconda.
Anaconda
$ pyenv install --list | grep anaconda
Vérifiez la version d'Anaconda qui peut être installée avec. Cette fois, installez 5.2.0.
$ pyenv install anaconda3-5.2.0
Changez de version et vérifiez si elle est reflétée.
$ pyenv global anaconda3-5.2.0
$ pyenv versions
system
* anaconda3-5.2.0 (set by /home/okuda/.pyenv/version)
$ python --version
Python 3.6.5 :: Anaconda, Inc.
Cela semble bon.
Ensuite, créez un environnement virtuel avec anaconda.
$ conda -V
conda 4.5.4
Assurez-vous qu'il fonctionne correctement
$ conda create -n tensor pip python=3.6
Créez un environnement virtuel nommé tenseur
. Installez pip et python3.6 ensemble.
Et je voudrais changer d'environnement virtuel,
Lorsque vous utilisez anaconda sur l'environnement pyenv, conda activate
ne peut pas être utilisé tel quel.
$ conda activate tensor
CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
If your shell is Bash or a Bourne variant, enable conda for the current user with
$ echo ". /home/okuda/.pyenv/versions/anaconda3-5.2.0/etc/profile.d/conda.sh" >> ~/.bashrc
or, for all users, enable conda with
$ sudo ln -s /home/okuda/.pyenv/versions/anaconda3-5.2.0/etc/profile.d/conda.sh /etc/profile.d/conda.sh
The options above will permanently enable the 'conda' command, but they do NOT
put conda's base (root) environment on PATH. To do so, run
$ conda activate
in your terminal, or to put the base environment on PATH permanently, run
$ echo "conda activate" >> ~/.bashrc
Previous to conda 4.4, the recommended way to activate conda was to modify PATH in
your ~/.bashrc file. You should manually remove the line that looks like
export PATH="/home/okuda/.pyenv/versions/anaconda3-5.2.0/bin:$PATH"
^^^ The above line should NO LONGER be in your ~/.bashrc file! ^^^
Je me mets en colère.
If your shell is Bash or a Bourne variant, enable conda for the current user with
$ echo ". /home/okuda/.pyenv/versions/anaconda3-5.2.0/etc/profile.d/conda.sh" >> ~/.bashrc
Parce qu'il est écrit tel quel
$ echo ". /home/okuda/.pyenv/versions/anaconda3-5.2.0/etc/profile.d/conda.sh" >> ~/.bashrc
Si vous exécutez et relisez bashrc
$ source .bashrc
$ conda activate tensor
(tensor) :~$
Il a basculé en toute sécurité!
Le reste est l'installation des bibliothèques nécessaires. Tout d'abord, installez le fameux framework TensorFlow.
La version se trouve sur le site Web officiel de TensorFlow Alors cette fois, téléchargez tensorflow_gpu-1.12.0.
$ pip install tensorflow-gpu==1.12.0
Lorsqu'elle est terminée, vérifiez l'opération pour voir si TensorFlow fonctionne sur le GPU.
$ python
Python 3.6.9 |Anaconda, Inc.| (default, Jul 30 2019, 19:07:31)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>>import tensorflow as tf
>>> tf.test.gpu_device_name()
2019-11-20 19:02:23.713902: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-11-20 19:02:24.115406: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1432] Found device 0 with properties:
name: GeForce GTX 1080 Ti major: 6 minor: 1 memoryClockRate(GHz): 1.582
pciBusID: 0000:03:00.0
totalMemory: 10.92GiB freeMemory: 10.76GiB
2019-11-20 19:02:24.278457: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1432] Found device 1 with properties:
name: Quadro K620 major: 5 minor: 0 memoryClockRate(GHz): 1.124
pciBusID: 0000:02:00.0
totalMemory: 1.95GiB freeMemory: 1.80GiB
2019-11-20 19:02:24.278929: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1496] Ignoring visible gpu device (device: 1, name: Quadro K620, pci bus id: 0000:02:00.0, compute capability: 5.0) with Cuda multiprocessor count: 3. The minimum required count is 8. You can adjust this requirement with the env var TF_MIN_GPU_MULTIPROCESSOR_COUNT.
2019-11-20 19:02:24.278972: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1511] Adding visible gpu devices: 0
2019-11-20 19:02:24.784359: I tensorflow/core/common_runtime/gpu/gpu_device.cc:982] Device interconnect StreamExecutor with strength 1 edge matrix:
2019-11-20 19:02:24.784436: I tensorflow/core/common_runtime/gpu/gpu_device.cc:988] 0 1
2019-11-20 19:02:24.784450: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1001] 0: N N
2019-11-20 19:02:24.784459: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1001] 1: N N
2019-11-20 19:02:24.784905: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1115] Created TensorFlow device (/device:GPU:0 with 10403 MB memory) -> physical GPU (device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:03:00.0, compute capability: 6.1)
'/device:GPU:0'
Reconnaissez-vous un autre GPU? J'enquêterai un peu plus tard. C'est OK car il est devenu '/ device: GPU: 0'.
De là, j'aime personnellement Jupyter, alors je vais l'ajouter. Je l'aime.
$ conda install jupyterlab
Après cela, faites ce que vous avez fait avec ici pour pouvoir y accéder à distance, et vous avez terminé.
Étonnamment, il est difficile d'utiliser le GPU. Je vous remercie pour votre travail acharné.