Schița de curs
Introducere
- Introducere în TensorFlow și deep learning
- Cazuri de utilizare și aplicații TensorFlow
- Ecosistemul și tooling-ul TensorFlow
- Fluxuri de lucru pentru machine learning și deep learning
- Prezentarea obiectivelor cursului și a exercițiilor practice
TensorFlow 2.x vs. versiunile anterioare — Ce este nou
- Diferențe cheie între TensorFlow 1.x și 2.x
- Execuție eager
- API-uri simplificate și utilizabilitate îmbunătățită
- Modificări în construirea și antrenarea modelelor
- Introducere în Keras ca API de nivel superior
- Considerații privind migrația pentru aplicațiile TensorFlow existente
- Bune practici pentru TensorFlow 2.x
Configurarea TensorFlow 2.x
- Installarea TensorFlow
- Configurarea unui mediu Python
- Verificarea instalării TensorFlow
- Installarea și gestionarea dependențelor necesare
- Configurarea mediilor CPU și GPU
- Utilizarea TensorFlow cu notebooks Jupyter
- Comenzi și operații de bază în TensorFlow
- Depanarea problemelor de instalare și configurare
Prezentarea funcțiilor și arhitecturii TensorFlow 2.x
- Arhitectura și componentele de bază ale TensorFlow
- Tenzori și operații cu tenzori
- Variabile și constante
- Graful de calcul și execuția eager
- Diferențiere automată
- API-uri și module TensorFlow
- Integrarea cu Keras
- PIPELINE-uri de date cu
tf.data - Serializarea modelelor și TensorFlow SavedModel
- Ecosistemul TensorFlow și fluxul de lucru pentru dezvoltare
Cum funcționează rețelele neuronale
- Fundamentele rețelelor neuronale artificiale
- Neuroni, straturi și arhitecturi de rețele
- Funcții de activare
- Propagare înainte
- Funcții de pierdere (loss)
- Backpropagation
- Coborârea gradientului și optimizare
- Rate de învățare și strategii de optimizare
- Overfitting și underfitting
- Tehnici de regularizare
- Seturi de date pentru antrenare, validare și testare
Crearea de modele de deep learning cu TensorFlow 2.x
- Crearea tenzorilor și variabilelor
- Construirea rețelelor neuronale cu Keras
- API-uri pentru modele secvențiale și funcționale
- Definirea de modele și straturi personalizate
- Configurarea optimizerelor
- Alegerea funcțiilor de pierdere potrivite
- Antrenarea modelelor cu
fit() - Bucle de antrenare personalizate
- Callback-uri și monitorizarea antrenării
- Gestionarea checkpoint-urilor modelelor
Analiza datelor
- Înțelegerea seturilor de date pentru machine learning
- Explorarea datelor structurate și nestructurate
- Vizualizarea datelor
- Identificarea tiparelor și anomaliilor
- Gestionarea datelor lipsă și inconsistente
- Împărțirea datelor în seturi de antrenare, validare și testare
- Alegerea caracteristicilor relevante
- Pregătirea seturilor de date pentru modelele TensorFlow
Preprocesarea datelor
- Normalizarea și standardizarea datelor
- Encodarea datelor categoriale
- Gestionarea valorilor lipsă
- Scalarea caracteristicilor
- Preprocesarea imaginilor
- Preprocesarea textului
- Augmentarea datelor
- Construirea de PIPELINE-uri de intrare eficiente
- Utilizarea
tf.data - Batching, shuffling, caching și prefetching
- Pregătirea datelor pentru antrenarea modelelor
Construirea unui model
- Alegerea unei arhitecturi de rețea neuronală potrivite
- Definirea intrărilor și ieșirilor modelului
- Crearea rețelelor neuronale dense
- Alegerea funcțiilor de activare
- Configurarea modelului pentru antrenare
- Alegerea optimizerelor și a funcțiilor de pierdere
- Antrenarea și validarea modelului
- Monitorizarea metricilor de antrenare
- Îmbunătățirea performanței modelului
- Prevenirea overfitting-ului
- Implementarea regularizării și a dropout-ului
Implementarea unui clasificator de imagini la nivel de statul artei
- Fundamentele clasificării imaginilor
- Pregătirea seturilor de date pentru imagini
- Normalizarea și augmentarea imaginilor
- Rețele neuronale convoluționale
- Straturi de convoluție și pooling
- Proiectarea unei arhitecturi de clasificare a imaginilor
- Transfer learning
- Utilizarea modelelor pre-antrenate
- Rezumarea (fine-tuning) a rețelelor pre-antrenate
- Construirea unui clasificator avansat de imagini
- Evaluarea performanței clasificării
Antrenarea modelului
- Configurarea parametrilor de antrenare
- Dimensiunea batch-ului și epoci
- Alegerea optimizerului
- Planificarea ratei de învățare
- Callback-uri de antrenare
- Opreștire timpurie (early stopping)
- Checkpointing-ul modelelor
- Monitorizarea progresului de antrenare
- Detectarea overfitting-ului
- Îmbunătățirea performanței de antrenare
- Considerații privind antrenarea distribuită
Antrenare pe GPU vs. TPU
- Arhitecturile CPU, GPU și TPU
- Avanșele accelerării hardware
- Configurarea TensorFlow pentru antrenare pe GPU
- Înțelegerea antrenării bazate pe TPU
- Alegerea hardware-ului pentru diferite sarcini
- Deplasarea calculului între dispozitive
- Gestionarea memoriei și a resurselor de calcul
- Compararea performanței de antrenare
- Strategii de antrenare distribuită și accelerată
Evaluarea modelului
- Alegerea metricilor de evaluare potrivite
- Accuratețe, precizie, recall și scor F1
- Metrici de evaluare pentru regresie
- Matrice de confuzie
- Strategii de validare
- Evaluarea modelelor de clasificare
- Evaluarea generalizării modelului
- Identificarea punctelor slabe ale modelului
- Compararea diferitelor configurații de modele
Efectuarea predicțiilor
- Utilizarea modelelor antrenate pentru inferență
- Pregătirea datelor de intrare noi
- Realizarea predicțiilor pe batch și individuale
- Interpretarea ieșirilor modelului
- Probabilități de clasificare
- Predicții de regresie
- Construirea unui flux de lucru pentru inferență
- Gestionarea datelor nevăzute
- Gestionarea PIPELINE-urilor de predicții
Evaluarea predicțiilor
- Analiza calității predicțiilor
- Compararea predicțiilor cu rezultatele așteptate
- Identificarea falselor pozitive și falselor negative
- Analiza erorilor
- Evaluarea încrederii modelului
- Vizualizarea rezultatelor predicțiilor
- Detectarea bias-ului în date și predicții
- Îmbunătățirea performanței modelului pe baza analizei predicțiilor
Depanarea modelului
- Identificarea problemelor comune de antrenare
- Diagnosticarea predicțiilor incorecte
- Depanarea PIPELINE-urilor de date
- Investigarea comportamentului pierderii și al metricilor
- Detectarea gradientelor explozive și disipate
- Diagnosticarea overfitting-ului și underfitting-ului
- Inspecția straturilor și a ieșirilor modelului
- Utilizarea instrumentelor de debugging și profilare TensorFlow
- Îmbunătățirea stabilității și performanței modelului
Salvarea modelului
- Salvarea modelelor antrenate
- Formatul TensorFlow SavedModel
- Salvarea și restaurarea greutăților modelului
- Salvarea arhitecturii și configurației modelului
- Încărcarea modelelor pentru inferență
- Versionarea modelelor
- Exportarea modelelor pentru deploy
- Gestionarea artefactelor de model
- Pregătirea modelelor pentru medii de producție
Deployul unui model pe cloud
- Introducere în deploy-ul de modele bazat pe cloud
- Pregătirea modelelor TensorFlow pentru producție
- Serving-ul modelelor prin API-uri
- Concepte de model serving
- Containerizarea aplicațiilor TensorFlow
- Inferență bazată pe cloud
- Scalarea sarcinilor de model serving
- Monitorizarea modelelor deploy-uite
- Gestionarea versiunilor de model
- Considerații pentru deploy în producție
Deployul unui model pe un dispozitiv mobil
- Provocările machine learning-ului mobil
- TensorFlow Lite
- Conversia modelelor TensorFlow pentru deploy mobil
- Optimizarea modelului și reducerea dimensiunii
- Cuantificarea
- Rulare inferență pe dispozitive mobile
- Gestionarea resurselor dispozitivului mobil
- Integrarea modelelor în aplicații mobile
- Testarea performanței inferenței mobile
Deployul unui model pe un sistem incorporat (IoT)
- Machine learning pe dispozitive incorporate
- TensorFlow Lite pentru aplicații incorporate
- Constrângeri de resurse și optimizare
- Reducerea dimensiunii modelului și a cerințelor de calcul
- Inferență la margine (edge)
- Procesarea datelor de senzori și în timp real
- Rulare predicții local
- Considerații privind alimentarea și memoria
- Integrarea modelelor TensorFlow în fluxurile de lucru IoT
- Testarea și monitorizarea deploy-urilor edge
Integrarea modelului cu diferite limbi de programare
- Interoperabilitatea modelelor TensorFlow
- Serving-ul modelelor prin API-uri
- Utilizarea modelelor TensorFlow din medii de programare diferite
- Integrarea modelelor bazate pe Python
- Integrarea modelelor în aplicații web
- Inferență de model prin servicii REST
- Integrarea TensorFlow în aplicații existente
- Schimbul de date și serializarea
- Considerații pentru integrarea în producție
Troubleshooting
- Diagnosticarea problemelor de instalare TensorFlow
- Troubleshooting-ul erorilor de construcție a modelului
- Depanarea problemelor de preprocesare a datelor
- Rezolvarea eșecurilor de antrenare
- Investigarea problemelor de configurare GPU și TPU
- Diagnosticarea problemelor de memorie și performanță
- Troubleshooting-ul încărcării și salvării modelelor
- Depanarea problemelor de deploy
- Exerciții practice de troubleshooting
Rezumat și concluzii
- Revederea conceptelor TensorFlow 2.x
- Revederea fluxurilor de lucru pentru rețele neuronale și deep learning
- Revederea pregătirii datelor și dezvoltării modelelor
- Revederea clasificării imaginilor
- Revederea tehnicilor de antrenare și evaluare
- Revederea debugging-ului și optimizării modelelor
- Revederea deploy-ului pe cloud, mobil și IoT
- Bune practici pentru dezvoltarea cu TensorFlow
- Exercițiu practic final
- Întrebări și discuții
Cerințe
- Experiență de programare în Python.
- Experiență cu linia de comandă Linux.
Publicul țintă
- Dezvoltatori
- Datasciențiști
Mărturii (4)
Formarea a fost organizată și bine planificată, iar din ea am ieșit cu cunoștințe sistematizate și o perspectivă bună asupra temelor pe care le-am abordat.
Magdalena - Samsung Electronics Polska Sp. z o.o.
Curs - Deep Learning with TensorFlow 2
Tradus de catre o masina
Cunoașterea instrucționarului și faptul că era foarte accesibil. A reușit să transmită cu ușurință cunoștințe importante.
Mateusz Stachyra - Samsung Electronics Polska Sp. z o.o.
Curs - Deep Learning with TensorFlow 2
Tradus de catre o masina
Mi-a plăcut că am acoperit și noțiunile de bază
Tomasz - Samsung Electronics Polska Sp. z o.o.
Curs - Deep Learning with TensorFlow 2
Tradus de catre o masina
Formatorul a explicat conținutul într-o manieră excelentă și a fost implicat pe tot parcursul. El s-a oprit pentru a pune întrebări și ne-a lăsat să găsim soluțiile proprii în unele sesiuni practice. De asemenea, a adaptat cursul bine la nevoile noastre.
Robert Baker
Curs - Deep Learning with TensorFlow 2.0
Tradus de catre o masina