martedì 24 dicembre 2019

Primi passi con NVidia Jetson Nano

L'impostazione di base e' stata ridotta al minimo. Il sistema e' basato sulla scheda Jetson Nano, una SD Card da 64 Gb, un dongle USB Wifi Edimax N150, una tastiera Logitech K400 Plus, un alimentatore esterno da 5V 4A



Per il case ho preso questo progetto  https://www.thingiverse.com/thing:3518410
E' piuttosto delicato su alcuni dettagli ma in generale va bene

Il primo problema riguarda l'alimentazione. Visto che non mi fidavo di una alimentazione via USB visti i  consumi della scheda ho utilizzato un alimentatore esterno. Il problema e' che per abilitare l'alimentazione esterna e' necessario chiudere con un Jumper J48...ed il jumper non e' incluso. Sono impazzito a trovare un jumper a giro per casa ed alla fine ho dovuto cannabalizzare un vecchio HD PATA (il jumper serviva a selezionare salve and master). La Jetson ha due modalita' di utilizzo 5W e 10 W (di default e' la seconda)

Da linea di comando si puo' modificare con (0=10W, 1=5W)

$ sudo nvpmodel -m 0 
$ sudo jetson_clocks



Nonostante sia sconsigliato di usare un convertitore da HDMI a DVI io ho lo ho utilizzato con successo per la connessione ad vecchio monitor

Invece mi ha fatto impazzire la Edimax che continuava a disconettersi dall'hotpost. La soluzione e' stata mettere in blacklist il modulo con

echo "blacklist rtl8192cu" | sudo tee -a /etc/modprobe.d/blacklist.conf




Si puo' avere una modalita' headless semplicemente collegando un cavo microUSB e puntando il browser del portatile su 192.168.55.1:8888 e password dlinano

In ogni caso il server SSH e' gia' installato e disponibile (ho collegato un cavo cross con un indirizzo fisso per la rete via cavo per estendere la modalita' headless)

Per provare CUDA Jetson ha gia' tutto installato. Si deve pero' settare la Path e copiare gli esempi nella propria home

export PATH=${PATH}:/usr/local/cuda/bin 
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/cuda/lib64

Per gli esempi di CUDA

/usr/local/cuda-10.0/bin/cuda-install-samples-10.0.sh . (attenzione al punto finale)

ATTENZIONE : operazione lenta in compilazione

Jetson Nano 4 Giga di Ram e puo' essere poca per reti neurali impegnativi. Si puo' aumentare usando uno swap file

$ sudo fallocate -l 8G /mnt/4GB.swap 
$ sudo mkswap /mnt/4GB.swap 
$ sudo swapon /mnt/4GB.swap

e modificando il file /etc/fstab aggiungendo

/mnt/4GB.swap none swap sw 0 0

Ultima cosa: di default l'uscita audio e' impostata su Analogico e non su HDMI.

link utile
https://github.com/jkjung-avt/jetson_nano.git

Nessun commento:

Posta un commento

Dockerizza Flask

Un esempio semplice per inserire in un container Docker una applicazione Flask Partiamo da una semplice applicazione che ha un file app.py ...