NVidia DIGITS
Références:
- https://github.com/dusty-nv/jetson-inference/blob/master/docs/digits-setup.md
- https://developer.nvidia.com/embedded/linux-tegra
- https://gist.github.com/ShreyasSkandan/69f727d48f85d34e0e9b26308ade0040
- https://ngc.nvidia.com
- https://developer.nvidia.com/embedded/jetpack
- https://docs.nvidia.com/deeplearning/frameworks/support-matrix/index.html
- https://docs.nvidia.com/ngc/ngc-titan-setup-guide/index.html
Requis
- Linux for Tegra (L4T) vient avec JetPack, et cuda-10 peut être installé sur le nano. JetPack peut aussi être mis jour.
- Mais pour utiliser DIGITS, il faut que l’image docker pour arm64 (aarch64) existent. Il y a une initiative pour rouler une image de Tegra pour arm64, mais cela nécessite une recompilation du kernel de L4T: https://github.com/Technica-Corporation/Tegra-Docker
sudo docker system prune -a
to remove all docker unused image- Cuda drivers et cuda toolkit vient avec le JetPack. C’est donc la méthode pour avoir les drivers cuda et le cuda toolkit avec le Jetson Nano.
- Les drivers pour L4T, incluant CUDA, peuvent être téléchargés via https://developer.nvidia.com/embedded/linux-tegra
- Il faut au moins un GPU supporté. Celui de Jetson Nano est le NVidia Maxwell et n’apparait pas dans les diverses documentation, pour NGC et Cuda.
- par contre il est possible de faire du cross-compile pour compiler du code sous une architecture x84 qui va s’exécuter sous aarch64
- Référence: https://devtalk.nvidia.com/default/topic/1048633/cuda-setup-and-installation/where-can-i-find-cuda-cross-aarch64-10-0-/
- Il faut un Ubuntu. Windows n’est pas recommandé.
- Il faut une machine avec un GPU
- Pour vérifier s’il y a un GPU sous Ubuntu, après avoir installé les drivers cuda, exécuter la commande
nvidia-smi
- Pour vérifier s’il y a un GPU sous Windows (même si ce n’est pas recommandé cela donne une idée des informations), ouvrir Task Manager > Performance > GPU > Clique droit > Copy pour copier les propriétés
- Sur mon laptop HP EliteBook:
GPU 0 AMD Radeon(TM) Vega 8 Graphics Driver version: 25.20.14146.2002 Driver date: 5/08/19 DirectX version: 12 (FL 12.1) Physical location: PCI bus 4, device 0, function 0 Utilization 1% Dedicated GPU memory 230/256 MB Shared GPU memory 0.3/15.8 GB GPU Memory 0.5/16.1 GB
- Pour vérifier s’il y a un GPU sous Ubuntu, après avoir installé les drivers cuda, exécuter la commande
- Il faut Ubuntu
- Windows 10 permet d’avoir une distribution Ubuntu (WSL - Windows Subsystem for Linux). Mais cela ne fonctionne pas.
- Référence: https://docs.microsoft.com/en-us/windows/wsl/install-on-server
- Dans une fenêtre PowerShell en mode Administrator:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
- Redémarrage de windows est nécessaire
- Télécharger la version de Ubuntu 16.04
- Référence: https://aka.ms/wsl-ubuntu-1604
- Unzipper le fichier Ubuntu_1604.2019.523.0_x64.appx dans un nouveau dossier
- ouvrir le nouveau dossier et exécuter ubuntu1604.exe
- Donner un compte et mot de passe au moment du prompt
- L’installation de Ubuntu 16.04 sur Windows est complété.
- À noter que l’installation de Ubuntu via un double clique sur le fichier .appx (via le Windows Store) ne fonctionne pas sur mon laptop corporatif. Il y a l’erreur.
- Pour désintaller Ubuntu:
- Référence: https://superuser.com/questions/1271682/is-there-a-way-of-installing-ubuntu-windows-subsystem-for-linux-on-win10-v170
- Ouvrir une console PowerShell en mode administrator
PS C:\windows\system32> wslconfig /list Windows Subsystem for Linux Distributions: Ubuntu-16.04 (Default) PS C:\windows\system32> wslconfig /unregister Ubuntu-16.04 Unregistering... PS C:\windows\system32>
- Mettre à jour Ubuntu:
sudo apt update && sudo apt upgrade --fix-missing
Préparation
- Créer un compte “NVIDIA hosts NVIDIA® GPU Cloud (NGC) container registry for AI developers worldwide”
- Référence: https://ngc.nvidia.com/signup/register
- Se logguer au NGC: https://ngc.nvidia.com
Installation
- Télécharger le Cuda Toolkit: https://developer.nvidia.com/cuda-downloads
Notes
https://medium.com/value-stream-design/machine-learning-reductions-mother-algorithms-part-ii-multiclass-to-binary-classification-1dad599147b