[PYTHON] Utilisation du chainer avec Jetson TK1

1. Connexion moniteur et clavier

(Prend en charge HDMI uniquement)

2. Mettez l'appareil sous tension

3. Réglez le clavier sur japonais

sudo dpkg-reconfigure keyboard-configuration

4. Réglage initial

Depuis l'écran ubuntu S'identifier Exécutez le programme d'installation

cd ~/NVIDIA-INSTALLER
sudo ./installer.sh
sudo reboot

Après le redémarrage, vous pourrez utiliser ubuntu dans l'interface graphique.

5. Construction de l'environnement maternel (Ubuntu 14.04)

Il semble que le kit de développement Jetson TK1 ne puisse être installé qu'à partir d'Ubuntu 14.04, alors installez Ubuntu 14.04 dans la Virtual Box.

Introduction du pack d'extension pour que l'USB puisse être utilisé dans Virtual Box https://www.virtualbox.org/wiki/Downloads

Voir ci-dessous si vous souhaitez augmenter la résolution de l'écran http://mogi2fruits.net/blog/os-software/windows/2389/

6. Faire reconnaître Tk1 de la mère Ubuntu

Connectez Mac et TK1 avec un câble USB, maintenez le bouton de récupération forcée et appuyez sur le bouton de réinitialisation. Si l'écran devient noir, vous pouvez démarrer en mode de récupération. Dans cet état, à partir des paramètres de la boîte virtuelle → Port → USB Si vous cliquez sur l'USB supplémentaire Aincon sur la droite et que les caractères «NVIDIA Corp. ~» apparaissent, vous pouvez le reconnaître depuis votre Mac. (Pour le moment, si vous ne cliquez pas une fois sur "NVIDIA Corp. ~" et que vous le vérifiez, vous ne pouvez pas le voir depuis l'hôte Ubuntu, alors soyez prudent)

7. Téléchargez Jetpack pour L4T

https://developer.nvidia.com/embedded/jetpack

8. Accorder l'autorisation d'exécution

De plus, il semble que l'exécution échoue dans le répertoire japonais, donc Créez un répertoire en anglais et déplacez des fichiers ou accordez une autorisation d'exécution.

chmod +x jetpack-${VERSION}.run

9. Courir

Exécutez le Jetpack téléchargé.

On vous demandera la disposition du réseau sur le chemin, J'ai pu le faire normalement avec "Accès à Internet via un routeur / commutateur". (Il est nécessaire de correspondre à l'environnement réseau du PC.)

Lorsque le clignotement est terminé, Jetson redémarre et l'écran normal s'affiche.

Puisque l'écran d'informations sur le périphérique d'entrée est affiché du côté de la Définissez l'adresse IP Jetson. (Utilisez arp-scan pour identifier l'adresse IP connectée.)

sudo arp-scan -I xxxx -l

Si vous procédez bien, la configuration du L4T sera terminée. (Quittez lorsque l'interface graphique s'affiche sur l'écran Jetson.)

10. Définissez une adresse IP fixe dans Jetson pour ssh

Ajoutez ce qui suit à / etc / network / interfaces

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.xxx.xxx
netmask 255.255.255.0
gateway 192.168.xxx.xxx
dns-nameservers 192.168.xxx.xxx

Recharger

sudo /etc/init.d/networking restart

Vous avez maintenant une adresse IP fixe.

11.git installer

Veuillez saisir les éléments suivants https://git-scm.com/book/ja/v1/%E4%BD%BF%E3%81%84%E5%A7%8B%E3%82%81%E3%82%8B-Git%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB

12. Construction de l'environnement Python

Installez pyenv

git clone https://github.com/yyuu/pyenv ~/.pyenv

Installation de bibliothèques dépendantes

sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev
sudo apt-get install -y libreadline-dev libsqlite3-dev wget curl llvm

Passez le chemin vers .bash_profile, .zshenv, etc.

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

Au fait, je passerai également le chemin CUDA. (Ce devrait être cuda-7.0 pour TX1)

export PATH=/usr/local/cuda-6.5/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-6.5/lib64:$LD_LIBRARY_PATH

installation de python

pyenv install 2.7.12

Créez un répertoire approprié, accédez-y et définissez python pour spécifier

pyenv local 2.7.12

OK si 2.7.12 apparaît dans le contrôle de version

python -V

Installation de bibliothèques associées

pip install --upgrade pip
pip install numpy
sudo apt-get install libatlas-base-dev gfortran
pip install scipy
pip install matplotlib
pip install scikit-learn
pip install pillow

13.chainer installation

sudo apt-get install python-dev python-virtualenv
pip install cython
sudo apt-get install libhdf5-dev
pip install chainer

Télécharger un exemple de code https://github.com/mattya/chainer-gogh

Allez dans le répertoire chainer-gogh et exécutez

python chainer-gogh.py -m nin -i input.png -s style.png -o output_dir -g 0

Le modèle nin semblait fonctionner normalement, i2v et ainsi de suite sont tués, alors vérifiez-le.

Au moment de l'exécution

modprobe: FATAL: Module nvidia not found.

Si vous ne voulez pas obtenir une erreur comme celle-ci, voyez ci-dessous. http://qiita.com/suisuina/items/e1ce1d9805f4d8772594

Supplément

Vérifier l'état du swap

sudo cat /proc/swaps

création de swap (Lors d'un échange avec USB, etc., vérifiez le chemin USB avec sudo fdisk -l et remplacez le / var / swap / partie ci-dessous)

sudo mkdir /var/swap/
sudo dd if=/dev/zero of=/var/swap/swap0 bs=2M count=2048
sudo chmod 600 /var/swap/swap0

Attribuer un fichier d'échange à l'échange

sudo mkswap /var/swap/swap0
sudo swapon /var/swap/swap0

Définissez-le comme fichier d'échange au démarrage

 sudo vi /etc/fstab

Ajoutez ce qui suit /var/swap/swap0 swap swap defaults 0 0

Annuler l'échange

sudo swapoff -a

Changer d'utilisateur en root

sudo su -

fermer

sudo shutdown -h now

Redémarrer

sudo shutdown -r now

Disposition du système system_layout.jpg

En ce qui concerne l'erreur lors de l'utilisation d'i2v, lorsque j'ai permuté la mémoire, il semble qu'elle ne soit pas exécutée avec "Erreur de mémoire". Peut-être que c'est 32 bits, alors je me demande si c'est fait avec la limite supérieure de la 4G. ..

référence http://qiita.com/ktyubeshi/items/847b05b7879e2f45da54

http://developer.download.nvidia.com/embedded/jetson/TK1/docs/2_GetStart/Jeston_TK1_QuickStartGuide.pdf#nameddest=Introduction

http://qiita.com/0x0c@github/items/bc2683b00617981e4468

http://vboxmania.net/content/%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%86%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%91%E3%83%83%E3%82%AF%E3%81%AE%E5%B0%8E%E5%85%A5

http://mogi2fruits.net/blog/os-software/windows/2389/

Format USB http://qiita.com/suisuina/items/690feac29bbfeec2da64 swap http://qiita.com/scleen_x_x/items/f3fc492bcbf0f6c2896c

Recommended Posts

Utilisation du chainer avec Jetson TK1
Utiliser tensorboard avec Chainer
Utilisez PX-S1UD / PX-Q1UD avec Jetson nano
Seq2Seq (1) avec chainer
Utilisez mecab-ipadic-neologd avec igo-python
Utiliser ansible avec cygwin
Utiliser pipdeptree avec virtualenv
[Python] Utiliser JSON avec Python
Utilisez Mock avec pytest
Utiliser l'indicateur avec pd.merge
Utiliser Gentelella avec Django
Utiliser mecab avec Python 3
Utiliser DynamoDB avec Python
Utiliser pip avec MSYS2
Utilisez Python 3.8 avec Anaconda
Utiliser les droits d'auteur avec Spacemacs
Utiliser python avec docker
Utiliser TypeScript avec django-compresseur
Utilisez LESS avec Django
Utiliser MySQL avec Django
Utiliser Enum avec SQLAlchemy
Utiliser tensorboard avec NNabla
Utiliser le GPS avec Edison
Utilisez nim avec Jupyter
Utilisez l'ensemble de données d'entraînement scikit-learn avec chainer (pour l'entraînement / la prédiction)
Autoencoder dans Chainer (Remarques sur l'utilisation de + trainer)
Utiliser l'API Trello avec python
Utiliser la mémoire partagée avec une bibliothèque partagée
Utiliser des balises personnalisées avec PyYAML
Utiliser des graphiques directionnels avec networkx
Utiliser TensorFlow avec Intellij IDEA
Essayez d'implémenter RBM avec chainer.
Utiliser l'API Twitter avec Python
Comment utiliser le wrapper Python PyRealsense de Realsense avec Jetson Nano
Utiliser pip avec Jupyter Notebook
Utiliser DATE_FORMAT avec le filtre SQLAlchemy
Utiliser TUN / TAP avec Python
Apprenez les orbites elliptiques avec Chainer
Seq2Seq (3) ~ Edition CopyNet ~ avec chainer
Utiliser SSL avec Celery + Redis
Utiliser Cython avec Jupyter Notebook
Réseau de neurones commençant par Chainer
Utilisez Maxout + CNN avec Pylearn2
Implémentation du GAN conditionnel avec chainer
Génération de légende d'image avec Chainer
Utilisez WDC-433SU2M2 avec Manjaro Linux
Utilisez OpenBLAS avec numpy, scipy
Utiliser l'API subsonique avec python3
Implémentation de SmoothGrad avec Chainer v2
Utilisation de Sonicwall NetExtener avec Systemd
Clustering embarqué profond avec Chainer 2.0
Un peu coincé dans le chainer
Utilisez prefetch_related commodément avec Django
Utiliser l'interpréteur AWS avec Pycharm
Utilisation de Bokeh avec IPython Notebook
Utiliser une plage de type Python avec Rust
Utiliser MLflow avec Databricks ④ --Call model -
Utiliser pyright avec CentOS7, emacs lsp-mode
Python: comment utiliser async avec
Utilisation de la base de données SQL d'Azure avec SQL Alchemy