[PYTHON] Viser une installation facile d'OpenCv et Cuda à l'aide de JetPack (NVIDIA SDK Manager) de Nvidia

Viser une installation facile d'OpenCv et Cuda à l'aide de JetPack (NVIDIA SDK Manager) de Nvidia

スクリーンショット 2020-06-19 21.43.27.png

Préparez une machine avec le GPU de Nvidia

Le GPU Nvidia doit avoir un PC avec lui

$ apt-cache search "^nvidia-[0-9]{3}$"

Découvrez quel pilote Nvidia peut être installé sur ce PC avec apt-cache. 20191106123629.png 20191106125506.png

Cuda 10.0 est installé pour NVIDIA SDK Manager. Plus de 410 pilotes NVIDIA sont installés. Utilisez une machine Windows prenant en charge Cuda 10.0 ou utilisez Jatson. S'il n'est pas pris en charge, abandonnez * NVIDIA SDK Manager *, réduisez la version de Cuda et installez manuellement

https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html Cuda 10.0 ne fonctionne pas car le pilote Gpu pour les anciens PC est de 410 ou moins

~~ Utiliser un logiciel d'environnement virtuel ~~

~~ Parallels Desktop, VMWare, etc. Ici, nous utilisons parallels-desktop ~~ Postscript: le pilote Geforce ne reconnaît pas dans l'environnement virtuel S'il s'agit d'un Mac, s'il faut démarrer Linux par cadran ou utiliser Windows S'il faut transférer vers un Jetson Nano externe et installer (#1)

installer ubuntu

Site de distribution de la version japonaise Ubuntu スクリーンショット 2020-06-19 19.53.39.png

Relâchez le curseur avec Ctrl + alt ~~ Le CD des outils Parallels sera monté, vous devez donc l'installer ensemble. ~~

#Mise à jour
sudo apt-get update
sudo apt-get upgrade
Relation entre le pilote graphique NVIDIA et la version Cuda

La version Cuda du gestionnaire de SDK NVIDIA est 10.0. Cela ne fonctionne pas avec les anciens PC Gpu et les anciens pilotes Nivida. Soit abandonner l'installation automatique de NVIDIA SDK Manager et passer à l'installation manuelle en abaissant la version de Cuda, soit en renouvelant un nouveau PC

Vérifiez si le GPU est Nvidia
sudo lshw -C display 

L'adaptateur vidéo virtuel apparaît dans un environnement virtuel
Le pilote Nivide ne peut pas être installé dans un environnement virtuel, donc le PC hôte(Linux or Windows)Besoin d'installer le pilote Nivide sur

Découvrez si Ubuntu reconnaît le GPU

$ sudo ubuntu-drivers devices

Méthode d'installation du pilote Nvidia 1

Référence

Découvrez si Ubuntu reconnaît le GPU

$ sudo ubuntu-drivers devices

Lorsque le numéro de modèle du GPU s'affiche correctement, exécutez la commande suivante pour installer le pilote.

$ sudo ubuntu-drivers autoinstall
#Répertoriez les pilotes NVIDIA installés sur votre machine
$ dpkg -l | grep nvidia

# apt-Liste des pilotes NVIDIA pouvant être installés avec get
$ apt-cache search "^nvidia-[0-9]{3}$"

Vérifiez si la version du pilote et les détails du GPU sont affichés avec la commande nvidia-smi

$ nvidia-smi

S'il s'affiche correctement, procédez à l'installation de Cuda.

J'ai eu une erreur lorsque j'ai exécuté nvidia-smi
$ nvidia-smi 
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
nvidia-smi n'a pas pu confirmer le pilote de nvidia. Assurez-vous que vous disposez du dernier pilote.

Dans ce cas, la désactivation de Nouveau résoudra le problème. Tout d'abord, créez /etc/modprobe.d/blacklist-nouveau.conf et modifiez-le comme suit.

$ sudo vim /etc/modprobe.d/blacklist-nouveau.conf

Remplissez le contenu suivant

blacklist nouveau
options nouveau modeset=0

Ensuite, exécutez la commande suivante pour recharger le module du noyau.

$ sudo update-initramfs -u

$ sudo reboot

$ nvidia-smi

Référence

Redémarrez votre PC et procédez à l'installation de CUDA si nvidia-smi peut être exécuté.

Méthode d'installation du pilote Nvidia 2

Téléchargez Nvidia Driver スクリーンショット 2020-06-30 14.18.07.png

Sélectionnez le pilote GPU installé, téléchargez et installez le fichier de format d'exécution

$ chmod +x nom du pilote GPU.run
$sudo sh nom du pilote GPU.run

Vérifiez si la version du pilote et les détails du GPU sont affichés avec la commande nvidia-smi

$ nvidia-smi
Précautions lors de la réinstallation

Si j'ai d'abord installé NVIDIA SDK Manager, le dernier pilote graphique NVIDIA a été installé, puis lorsque j'ai essayé d'installer l'ancien pilote graphique qui se trouvait sur ma machine, une erreur s'est produite et je n'ai pas pu l'installer. J'ai essayé de réinstaller en utilisant la commande de résolution de dépendance aptitude, mais elle est restée bloquée sur l'écran du bureau.

Notez que la machine s'est accrochée sudo aptitude install libnvidia-encode-418 Référence

Il peut être préférable de désinstaller et de réinstaller docilement

sudo apt-get --purge remove nvidia-*
sudo apt-get --purge remove cuda-*

Installation de Cuda et OpenCv

Installez NVIDIA SDK Manager Ne peut être installé que si connecté au réseau スクリーンショット 2020-06-19 19.51.55.png

Téléchargez, décompressez et installez l'archive JetPack. ** Vous devez créer un compte Nvidia ** スクリーンショット 2020-06-19 20.01.18.png

Sélectionnez HostMachien. Sélectionnez JetPack 4.3.

Article de référence スクリーンショット 2020-06-19 20.05.24.png

** Assurez-vous de vérifier Installer après le téléchargement en bas ** ** Assurez-vous de le vérifier car il peut provoquer une erreur s'il est installé pendant le téléchargement ** Vous avez besoin d'une capacité d'environ 30G

Installation complète

スクリーンショット 2020-06-20 19.09.20.png

OpenCv et Cuda ont été installés automatiquement.

JetPack 4.3 in jetson components:

L4T R32.3.1 (K4.9)
Ubuntu 18.04 LTS aarch64
CUDA 10.0
cuDNN 7.6.3
TensorRT 6.0.1
VisionWorks 1.6
OpenCV 4.1 (4.1.1)
Nsight Systems 2019.6
Nsight Graphics 2019.5
Nsight Compute 2019.3
SDK Manager 1.0.0

emplacement de cuda

/usr/local/cuda
/usr/local/cuda-10.0

Comment vérifier opencv

$ sudo apt-get install python3-pip

$ sudo pip3 install numpy
$ python3
>>> import cv2
>>> print(cv2)
>>> cv2.__version__
4.1.1

Comment installer le cuda officiel

Explication de Official cuda

Ajouter des paramètres de chemin

$ sudo apt install vim
#mettre à jour vim
sudo apt install vim

#Mettez le numéro de version entre x et y
$ sudo vim ~/.bashrc

## CUDA and cuDNN paths
export PATH=/usr/local/cuda-x.y/bin:${PATH}
export LD_LIBRARY_PATH=/usr/local/cuda-x.y/lib64:${LD_LIBRARY_PATH}
#Variable d'environnement$LD_LIBRARY_Ajouter le chemin du pilote NVIDIA à PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/nvidia-nombre

#enregistrer
$ source ~/.bashrc

#Confirmer
$ nvcc -V

#Vérifiez l'emplacement de la boîte à outils CUDA
$ which nvcc

#/usr/local/cuda-10.0/bin/nvcc 

Référence Référence

Vérification de l'installation et du fonctionnement du runtime de cuDNN

cudnn-archive スクリーンショット 2020-06-30 13.27.00.png

cuDNN Runtime Library for Ubuntuh   cuDNN Developer Library for Ubuntuh cuDNN Code Samples and User Guide for Ubuntu Téléchargez et double-cliquez pour installer

Référence

Contrôle de fonctionnement du cuDNN

Vérifiez si le chemin est dans cuda-10.0 / bin Si vous réussissez, vous pouvez exécuter cuda-install-samples-10.0.sh Exécutez dans votre répertoire personnel. Entrez le nom du dossier dans l'argument. L'exécution de cuda-install-samples-10.0.sh créera un exemple de dossier dans votre répertoire personnel. J'ai un fichier Make, donc je vais le créer Un exemple de fichier sera généré dans le dossier bin, alors essayez de l'exécuter. Exécutez deviceQuery pour voir si le périphérique cuda est valide

$ cd /usr/local/cuda-10.0/bin

# /usr/local/cuda-10.0/bin/cuda-install-samples-10.0.sh

#Copiez le répertoire avec l'exemple de code dans votre répertoire personnel
$ cuda-install-samples-10.0.nom du dossier sh

$nom du dossier cd/NVIDIA_CUDA-10.0_Samples
$ make
$ cd NVIDIA_CUDA-10.0_Samples/bin/x86_64/linux/release

$ ./deviceQuery
 
$ ./bandwidthTest

$ ./volumeRender 

[Référence](https://medium.com/@vitali.usau/install-cuda-10-0-cudnn-7-3-and-build-tensorflow-gpu-from-source-on-ubuntu-18-04 -3daf720b83fe)

Confirmation de l'installation de cuDNN

Répertoriez les packages installés avec la commande dpkg -l.

#Répertoriez les packages cuDNN installés sur votre machine
$ dpkg -l | grep cudnn

Emplacement de stockage cuDNN

#Vérifiez le répertoire dans lequel le package deb est stocké(-Option L)
$ dpkg -L libcudnn7

Installez Yolo

$ sudo apt install git
$ git clone https://github.com/AlexeyAB/darknet.git
$ cd darknet
darknet$ vim Makefile
GPU=1
CUDNN=1
OPENCV=1

darknet$ make

-lcuda non trouvé une erreur apparaît

Découvrez où se trouve libcuda.so

# libcuda.Découvrez où il en est
$ locate libcuda.so

# libcuda.alors place les hits
/usr/local/cuda-10.0/targets/x86_64-linux/lib/stubs/libcuda.so
/usr/loca/cuda-10.0/targets/aarch64-linux/lib/stubs/libcuda.so

Une fois que vous avez trouvé le fichier libcuda.so, créez-le dans le dossier x86_64-linux-gnu. Trouvez un bon article en créant un lien symbolique pour libcuda.so.1 dans le dossier x86_64-linux

sudo ln -s /usr/local/cuda-10.0/targets/x86_64-linux/lib/stubs/libcuda.so /usr/lib/x86_64-linux-gnu/libcuda.so.1

# libcuda.so.1 et libcuda.donc les deux liens symboliques sont obligatoires
sudo ln -s /usr/local/cuda-10.0/targets/x86_64-linux/lib/stubs/libcuda.so /usr/lib/x86_64-linux-gnu/libcuda.so

Référence

#Refaire
$ make clean
$ make

Il indique que le fichier cudnn.h n'existe pas. Copiez le fichier cudnn.h

[officiel de l'installation cudnn](https://translate.google.co.jp/translate?hl=ja&sl=auto&tl=ja&u=https%3A%2F%2Fdocs.nvidia.com%2Fdeeplearning%2Fsdk%2Fcudnn-install%2Findex. html% 23installlinux-tar)

cudnn-archive スクリーンショット 2020-06-26 17.41.06.png

Télécharger la bibliothèque cuDNN pour Linux

#Décompressez le package cuDNN. Peut être décompressé même à partir du Finder

$ tar -xzvf cudnn-x.x-linux-x64-v8.x.x.x.tgz

$ sudo cp cuda/include/cudnn*.h /usr/local/cuda/include
$ sudo cp cuda/lib/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

cudnn.h introuvable lors de la création ne donne plus d'erreur

cudnn lié

libcudnn.so.7.0.Libcudnn autre que 1.alors supprimez le fichier
/usr/local/cuda/lib64 $ sudo rm -rf libcudnn.so libcudnn.so.7
Reproduire
sudo ln -s libcudnn.so.7.0.1 libcudnn.so.7
sudo ln -s libcudnn.so.7 libcudnn.so
make clean 
make

Je ne peux pas écrire darknet / obj

modifier les autorisations darknet / obj

$chemin d'accès sudo chmod 777/darknet/obj home chemin/darknet/backup

Refaire

$ make clean
$ make

Télécharger les poids

Téléchargement depuis pjreddie car il n'est pas inclus dans la version Alexey AB

$ wget https://pjreddie.com/media/files/yolov3.weights

Essayez d'exécuter Yolo

./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg

Erreur lors de l'exécution de Yolo Not compiled with OpenCV, saving to predictions.png instead

DarkNet Makefile openCv n'est pas 1

$ vim Makefile
  OPENCV=1

CUDA driver version is insufficient for CUDA runtime version CUDA driver version is insufficient for CUDA runtime version : No Such File or Directory

en attente [Référence](https://support.dl.sony.com/faq-ja/faq%EF%BC%9A%E3%82%BB%E3%83%83%E3%83%88%E3%82% A2% E3% 83% 83% E3% 83% 97 /) Est-ce qu'il sort si le pilote graphique NVIDIA n'est pas installé? enquêter

Mettre également à jour cuda
sudo apt-get install cuda

No CUDA-capable device is detected

Appareil compatible CUDA non détecté Parce qu'il ne reconnaît pas le GPU de Nvidia dans l'environnement virtuel. Arrêtez l'environnement virtuel et réinstallez le système d'exploitation sur le PC hôte

Vérification du PATH du pilote CUDA et NVIDIA (/ usr / lib / nvidia - ***)

La sortie contient-elle "/ usr / local / cuda-10.0 / lib64" et "/ usr / lib / nvidia-number"?

$ echo $LD_LIBRARY_PATH  

Vérification PATH pour les commandes CUDA et nvcc

La sortie est-elle "/ usr / local / cuda-10.0 / bin / nvcc"?

$ which nvcc             
/usr/local/cuda-10.0/bin/nvcc

PATH vérifier la commande nvidia-smi

La sortie est-elle "/ usr / bin / nvidia-smi"?

 $ which nvidia-smi
/usr/bin/nvidia-smi

Comment désinstaller

#Mettez la version en x
sudo apt remove cuda-x-y
sudo apt autoremove
sudo apt remove libcudnnx libcudnnx-dev libcudnnx-doc
rm -rfv ~/NVIDIA_CUDA-x.y_Samples/ #Effacez l'exemple de code.
# ~/.Supprimez le paramètre PATH ajouté à bashrc avec un éditeur de texte.
#Déconnectez-vous pour refléter les modifications des paramètres PATH

point

Préparer une machine avec le GPU Nvidia Le pilote graphique Nvidia ne peut pas être installé dans un environnement virtuel Le Cuda de Nividia Sdk Maneger est 10.0, il ne fonctionnera donc pas avec les anciens pilotes Nividia. Utilisez le pilote Nvidia qui peut exécuter Cuda 10.0 Décompressez le package cuDNN et copiez le fichier spécifié (cudnn * .h) etc. à l'emplacement spécifié Trouvez l'emplacement de libcuda.so en localisant libcuda.so. Mettez le lien symbolique dans / usr / lib / x86_64-linux-gnu Après avoir modifié .bashrc avec vim, il ne sera pas appliqué à moins d'être enregistré en tant que source ~ / .bashrc

Conclusion

Lors de l'utilisation de Jetson nano, il est préférable d'utiliser Nividia Sdk Maneger. Compatible avec les pilotes cuda10 et Nividia Lors de l'installation sur un PC, vérifiez le GPU, et si le pilote Nvidia prend en charge 410 ou plus, essayez d'utiliser le SDK Nividia. S'il ne prend pas en charge moins de 410, abandonnez le SDK et faites-le manuellement.

Site de référence

** Inspiration-blog ** C'est écrit avec beaucoup de détails

Informations d'installation officielles de Coda Linux

Une vie Jetson confortable avec NVIDIA SDK Manager sur Docker

Procédure de configuration JetPack pour Jetson TX2

https://pysource.com/2019/08/29/yolo-v3-install-and-run-yolo-on-nvidia-jetson-nano-with-gpu/

(#1) CUDA on WSL2 Il semble que si vous utilisez WSL2, vous pouvez construire Linux sur Windows et utiliser le pilote GPU de Windows.

Recommended Posts

Viser une installation facile d'OpenCv et Cuda à l'aide de JetPack (NVIDIA SDK Manager) de Nvidia
Installation facile d'OpenCV sur RaspberryPi 3+
Introduction facile de la série python3 et d'OpenCV3
Installation et lancement faciles de Jupyter Notebook à l'aide de Docker (prend également en charge nbextensions et Scala)