EITC/AI/DLPP Deep Learning con Python e PyTorch è il programma europeo di certificazione IT sui fondamenti della programmazione del deep learning in Python con la libreria di machine learning PyTorch.
Il curriculum del Deep Learning EITC/AI/DLPP con Python e PyTorch si concentra sulle competenze pratiche nell'apprendimento profondo della programmazione Python con la libreria PyTorch organizzata all'interno della seguente struttura, che comprende contenuti didattici video completi come riferimento per questa certificazione EITC.
L'apprendimento profondo (noto anche come apprendimento strutturato profondo) fa parte di una più ampia famiglia di metodi di apprendimento automatico basati su reti neurali artificiali con apprendimento della rappresentazione. L'apprendimento può essere supervisionato, semi-supervisionato o non supervisionato. Architetture di deep learning come reti neurali profonde, reti di credenze profonde, reti neurali ricorrenti e reti neurali convoluzionali sono state applicate a campi quali visione artificiale, visione artificiale, riconoscimento vocale, elaborazione del linguaggio naturale, riconoscimento audio, filtraggio dei social network, traduzione automatica, bioinformatica , progettazione di farmaci, analisi dell'immagine medica, ispezione dei materiali e programmi di giochi da tavolo, dove hanno prodotto risultati paragonabili e in alcuni casi superiori alle prestazioni degli esperti umani.
Python è un linguaggio di programmazione interpretato, di alto livello e generico. La filosofia di progettazione di Python enfatizza la leggibilità del codice con il suo notevole utilizzo di spazi bianchi significativi. I suoi costrutti linguistici e l'approccio orientato agli oggetti mirano ad aiutare i programmatori a scrivere codice chiaro e logico per progetti su piccola e grande scala. Python è spesso descritto come un linguaggio "batterie incluse" a causa della sua libreria standard completa. Python è comunemente usato in progetti di intelligenza artificiale e progetti di machine learning con l'aiuto di librerie come TensorFlow, Keras, Pytorch e Scikit-learn.
Python è tipizzato dinamicamente (eseguendo in fase di esecuzione molti comportamenti di programmazione comuni che i linguaggi di programmazione statici eseguono durante la compilazione) e sottoposto a garbage collection (con gestione automatica della memoria). Supporta più paradigmi di programmazione, inclusa la programmazione strutturata (in particolare, procedurale), orientata agli oggetti e funzionale. È stato creato alla fine degli anni '1980 e pubblicato per la prima volta nel 1991 da Guido van Rossum come successore del linguaggio di programmazione ABC. Python 2.0, rilasciato nel 2000, ha introdotto nuove funzionalità, come la comprensione degli elenchi e un sistema di raccolta dei rifiuti con conteggio dei riferimenti, ed è stato interrotto con la versione 2.7 nel 2020. Python 3.0, rilasciato nel 2008, è stata una revisione importante del linguaggio che è non completamente compatibile con le versioni precedenti e gran parte del codice Python 2 non viene eseguito senza modifiche su Python 3. Con la fine del ciclo di vita di Python 2 (e pip che ha abbandonato il supporto nel 2021), sono supportati solo Python 3.6.xe versioni successive, con le versioni precedenti ancora supporta ad esempio Windows 7 (e vecchi programmi di installazione non limitati a Windows a 64 bit).
Gli interpreti Python sono supportati per i sistemi operativi tradizionali e disponibili per alcuni di più (e in passato ne supportavano molti di più). Una comunità globale di programmatori sviluppa e mantiene CPython, un'implementazione di riferimento gratuita e open source. Un'organizzazione senza scopo di lucro, la Python Software Foundation, gestisce e dirige le risorse per lo sviluppo di Python e CPython.
A partire da gennaio 2021, Python è al terzo posto nell'indice TIOBE dei linguaggi di programmazione più popolari, dietro C e Java, dopo aver ottenuto il secondo posto e il premio per il maggior guadagno di popolarità per il 2020. È stato selezionato Linguaggio di programmazione dell'anno nel 2007, 2010 e 2018.
Uno studio empirico ha rilevato che i linguaggi di scripting, come Python, sono più produttivi dei linguaggi convenzionali, come C e Java, per i problemi di programmazione che coinvolgono la manipolazione di stringhe e la ricerca in un dizionario, e ha determinato che il consumo di memoria era spesso "migliore di Java e non molto peggio di C o C ++ ”. Le grandi organizzazioni che utilizzano Python includono ia Wikipedia, Google, Yahoo !, CERN, NASA, Facebook, Amazon, Instagram.
Oltre alle sue applicazioni di intelligenza artificiale, Python, come linguaggio di scripting con architettura modulare, sintassi semplice e strumenti di elaborazione del testo avanzato, viene spesso utilizzato per l'elaborazione del linguaggio naturale.
PyTorch è una libreria di machine learning open source basata sulla libreria Torch, utilizzata per applicazioni come la visione artificiale e l'elaborazione del linguaggio naturale, sviluppata principalmente dal laboratorio di ricerca AI di Facebook (FAIR). È un software gratuito e open source rilasciato con la licenza BSD modificata. Sebbene l'interfaccia Python sia più raffinata e l'obiettivo principale dello sviluppo, PyTorch ha anche un'interfaccia C ++. Un certo numero di software di Deep Learning sono costruiti su PyTorch, tra cui Tesla Autopilot, Uber's Pyro, HuggingFace's Transformers, PyTorch Lightning e Catalyst.
- Computing tensoriale (come NumPy) con forte accelerazione tramite unità di elaborazione grafica (GPU)
- Reti neurali profonde costruite su un sistema di differenziazione automatica (computazionale) basato su nastro
Facebook gestisce sia PyTorch che Convolutional Architecture for Fast Feature Embedding (Caffe2), ma i modelli definiti dai due framework erano reciprocamente incompatibili. Il progetto Open Neural Network Exchange (ONNX) è stato creato da Facebook e Microsoft nel settembre 2017 per convertire i modelli tra framework. Caffe2 è stato fuso in PyTorch alla fine di marzo 2018.
PyTorch definisce una classe chiamata Tensor (torch.Tensor) per memorizzare e operare su array di numeri rettangolari multidimensionali omogenei. I tensori PyTorch sono simili agli array NumPy, ma possono essere utilizzati anche su una GPU Nvidia compatibile con CUDA. PyTorch supporta vari sottotipi di tensori.
Ci sono pochi moduli importanti per Pytorch. Questi includono:
- Modulo Autograd: PyTorch utilizza un metodo chiamato differenziazione automatica. Un registratore registra le operazioni eseguite, quindi le riproduce all'indietro per calcolare i gradienti. Questo metodo è particolarmente potente quando si costruiscono reti neurali per risparmiare tempo in un'epoca calcolando la differenziazione dei parametri al passaggio in avanti.
- Modulo Optim: torch.optim è un modulo che implementa vari algoritmi di ottimizzazione utilizzati per la creazione di reti neurali. La maggior parte dei metodi comunemente usati sono già supportati, quindi non è necessario crearli da zero.
- nn module: PyTorch autograd semplifica la definizione di grafici computazionali e il rilevamento di gradienti, ma l'autograd grezzo può essere un po 'troppo basso per definire reti neurali complesse. Qui è dove il modulo nn può aiutare.
Per conoscere nel dettaglio il curriculum di certificazione puoi espandere e analizzare la tabella sottostante.
Il curriculum di certificazione EITC/AI/DLPP Deep Learning con Python e PyTorch fa riferimento a materiali didattici ad accesso aperto in un formato video di Harrison Kinsley. Il processo di apprendimento è suddiviso in una struttura passo dopo passo (programmi -> lezioni -> argomenti) che copre le parti rilevanti del curriculum. Sono inoltre previste consulenze illimitate con esperti di dominio.
Per i dettagli sulla procedura di certificazione controllare Come Funziona?.
Scarica i materiali preparatori completi per l'autoapprendimento offline per il programma EITC/AI/DLPP Deep Learning con Python e PyTorch in un file PDF
Materiali preparatori EITC/AI/DLPP – versione standard
Materiali preparatori EITC/AI/DLPP – versione estesa con domande di revisione