Nvidia ha costantemente rilasciato una notevole offerta di documentazione relativa ai propri prodotti, siano essi le classiche schede grafiche CUDA capable, schede video a basso consumo energetico o, come nel nostro caso, single board computers CUDA enabled.
Quando abbiamo richiesto il nostro Jetson Nano Developer kit, testato su questo stesso blog pochi giorni or sono, ci siamo iscritti al relativo corso introduttivo che dà il nome all’articolo, per poter meglio valutare le caratteristiche della scheda e del software installato. A onor del vero devo ammettere che, dal momento che il corso viene erogato gratuitamente, abbiamo temuto si trattasse del classico “gancio” commerciale per ottenere l’intresse di coloro che poco o nulla sanno di AI. In realtà occorre dare merito a Nvidia per aver predisposto un kit dotato di una documentazione interessante. Ma vediamo come è strutturato il sistema.
Cosa occorre per iniziare
La prima pagina del corso presenta la lista dei prerequisiti hardware. Si tratta di componenti che chi traffica con SBC ha sicuramente sotto mano: un alimentatore robusto, un cavo USB (Micro-B to Type-A), una microSD ed una fotocamera. Vengono fornite le istruzioni per la Logitech C270 Webcam e la Raspberry Pi Camera Module v2. Già: dal momento che il corso verterà sul riconoscimento automatico delle immagini attraverso l’uso di reti neurali, la cam è un hardware necessario alla fruizione.
Ma stiano tranquilli i neofiti. Ciascun partecipante verrà condotto per mano un passo dopo l’altro attraverso il corso, e si ritroverà alla fine, senza quasi accorgersene, a padroneggiarne gli argomenti. Nvidia prevede l’uso di Jetson-Nano in configuraizone headless, utilizzando la connessione USB pr raggiungere il proprio PC collegato ad Internet. Viene garantita la compatibilità con sistemi WIndows, MacOS e Linux. Il sistema operativo del Jetson, già correttamente configurato per il corso, viene scaricato sottoforma di file zippato. L’immagine può essere caricata sulla scheda microSD. Un breve video mostra come eseguire i collegamenti alla scheda. Sono infine presenti ricche sezioni per il troubleshooting qualora si verifichi un inconveniente che impedisca l’utilizzo del sistema.
Come è strutturato il corso
Contrariamente a ciò che avviene in altri ambiti, questo corso è stato veramente concepito “per principianti” (o foolproof). Il corso fa uso dell’infrastruttura JupyterLab. JupyterLab rappresenta una interfaccia utente di nuova concezione basata su WEB, che abilita l’utente a lavorare con documenti e atttività (i cosiddetti notebooks), editor di testo, terminali e componenti custom in modo integrato, estensibile e flessibile. In pratica è possibile sistemare molteplici documenti e attività sull’area di lavoro attraverso tab e splitter. Documenti e attività possono venire integrate assieme, e interagire con i programmi presenti sul computer. Dopo i primi cinque minuti di naturale disorientamento è piuttosto semplice realizzare come fare cosa.
I contenuti teorici del corso
Il corso presenta i concetti base delle attività di classificazione e regressione utilizzando la piattaforma PyTorch. PyTorch è una libreria indirizzata al machine-learning basata su Torch. Viene utilizzata per applicazioni come deep learning ed elaborazione del linguaggio naturale. La libreria è stata originariamente sviluppata dal gruppo di ricerca di Facebook sull’intelligenza artificiale.
Viene presentata la differenza concettuale tra classificazione e regressione, e vengono spiegate le basi del funzionamento delle reti neurali. Ovviamente, trattandosi di un corso Nvidia su macchine Jetson, ampio risalto viene dato all’utilizzo di algoritmi a parallelismo massiccio e all’ottimizzazione di codice parallelo, ma senza mai scadere in inutili tecnicismi che spaventerebbero l’utente meno avvezzo a tali tecnologie.
I contenuti pratici del corso
Sono quindi presentate applicazioni funzionanti (in Python) che mettono in pratica i concetti di classificazione e regressione. Vengono fornite le generalità e spiegati i parametri di configurazione, quindi l’utente viene portato alla sperimentazione personale. Lo scopo finale è quello di “insegnare” alla rete neurale a riconoscere le forme generiche ed i particolari all’interno di una immagine.
Viene infine spiegato in che maniera sia possibile modificare la procedura per poter applicare lo stesso motore di inferenza a casi custom definiti dall’utente. Il corso si chiude con una serie di 10 domande per ciascun tema considerato, alle quali occorrerà rispondere correttamente per poter guadagnare l’ambito certificate of competency.
Nemmeno al termine del corso lo studente viene lasciato solo. Alla chiusura dell’applicazione vengono forniti numerosi link di approfondimento tecnico, oltre naturalmente alla lista di corsi ulteriori di perfezionamento.
Conclusioni
Ne vale la pena? A mio modesto parere, sicuramente sì. Avevo una discreta conoscenza nel campo dell’AI, ed il corso mi incuriosiva. Devo ammettere che le informazioni fornite sono aggiornate e competenti. Alcuni link difficili da digerire anche per persone con precedente esperienza. Non dimentichiamo poi che il target del corso è il Jetson Nano. La macchina viene fornita completa di numerosi tool di sviluppo (ne parleremo in un prossimo articolo). L’utente finale rischia pertanto di sentirsi perso senza una guida iniziale. L’idea è valida, il corso è coerente (e gratuito!), l’argomento è hot. Approfittiamone.
Ciao Luigi, io ho fatto entrambi i test di 10 domande del corso gratuito per il jetson nano. Dopo quanti giorni ti hanno inviato il certificato? A me deve ancora arrivare e non so se scrivere all’assistenza. Grazie mille.
Ciao Alberto. Io ho risposto all’offerta quasi immediatamente, ed il certificato mi è arrivato subito dopo.
Fossi in te, se ti sei regolarmente iscritto al corso ed hai ricevuto un email di conferma da Nvidia, io contatterei l’assistenza e chiderei informazioni al riguardo.