Schița de curs
Introducere
- Introducere în TensorFlow și deep learning
- Cazuri de utilizare și aplicații TensorFlow
- Ecossistemul și instrumentele TensorFlow
- Fluxuri de lucru pentru machine learning și deep learning
- Prezentarea obiectivelor cursului și a exercițiilor practice
TensorFlow 2.x față de versiunile anterioare — Noutăți
- Diferențe cheie între TensorFlow 1.x și 2.x
- Execuție eager
- API-uri simplificate și uzabilitate îmbunătățită
- Modificări în construcția și antrenarea modelelor
- Introducere în Keras ca API de nivel superior
- Considerații privind migrația pentru aplicațiile existente cu TensorFlow
- Bune practici pentru TensorFlow 2.x
Configurarea TensorFlow 2.x
- Instalarea TensorFlow
- Configurarea unui mediu Python
- Verificarea instalării TensorFlow
- Instalarea și gestionarea dependințelor necesare
- Configurarea mediilor CPU și GPU
- Folosirea TensorFlow cu Jupyter notebooks
- Comenzi și operații de bază în TensorFlow
- Rezolvarea problemelor de instalare și configurare
Prezentarea funcționalităților și arhitecturii TensorFlow 2.x
- Arhitectura și componentele de bază ale TensorFlow
- Tensorii și operațiile cu tensori
- Variabilele și constantele
- Grafuluri de calcul și execuție eager
- Diferențiere automată
- API-uri și module TensorFlow
- Integrarea Keras
- Fluxuri de date cu
tf.data - Serializarea modelelor și TensorFlow SavedModel
- Ecossistemul TensorFlow și fluxul de lucru pentru dezvoltare
Cum funcționează rețelele neuronale
- Fundamentele rețelelor neuronale artificiale
- Neuroni, straturi și arhitecturi de rețea
- Funcții de activare
- Propagare înainte (forward propagation)
- Funcții de pierdere (loss functions)
- Propagare înapoi (backpropagation)
- Gradient descent și optimizare
- Rată de învățare și strategii de optimizare
- Overfitting și underfitting
- Technici de regularizare
- Seturi de date pentru antrenare, validare și testare
Crearea modelelor de deep learning cu TensorFlow 2.x
- Crearea tensorilor și variabilelor
- Construirea rețelelor neuronale cu Keras
- API-uri pentru modele sequential și functional
- Definirea modelelor și straturilor personalizate
- Configurarea optimizatorilor
- 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 pattern-urilor și anomaliilor
- Tratarea datelor lipsă și inconsistent
- Împărțirea datelor în seturi de antrenare, validare și testare
- Selecția caracteristicelor relevante
- Pregătirea seturilor de date pentru modelele TensorFlow
Preprocesarea datelor
- Normalizarea și standardizarea datelor
- Encodarea datelor categorice
- Tratarea valorilor lipsă
- Scalarea caracteristicilor
- Preprocesarea imaginilor
- Preprocesarea textului
- Augmentarea datelor
- Construirea fluxurilor de intrare eficiente
- Folosirea
tf.data - Batching, shuffling, caching și prefetching
- Pregătirea datelor pentru antrenarea modelelor
Construirea unui model
- Selecția unei arhitecturi adecvate de rețea neurală
- Definirea intrărilor și ieșirilor modelului
- Crearea rețelelor neuronale dense
- Alegerea funcțiilor de activare
- Configurarea modelului pentru antrenare
- Selecția optimizatorilor și funcțiilor de pierdere
- Antrenarea și validarea modelului
- Monitorizarea metrikilor de antrenare
- Îmbunătățirea performanței modelului
- Prevenirea overfitting-ului
- Implementarea regularizării și dropout-ului
Implementarea unui clasificator de imagini state-of-the-art
- Fundamentele clasificării imaginilor
- Pregătirea seturilor de date cu imagini
- Normalizarea și augmentarea imaginilor
- Rețele neuronale convoluționale
- Straturi de convoluție și pooling
- Proiectarea arhitecturii pentru clasificarea imaginilor
- Transfer learning
- Utilizarea modelelor preantrenate
- Fine-tuning-ul rețelelor preantrenate
- Construirea unui clasificator avansat de imagini
- Evaluarea performanței de clasificare
Antrenarea modelului
- Configurarea parametrilor de antrenare
- Dimensiunea batch-ului și epocile
- Selecția optimizatorului
- Programarea ratei de învățare
- Callback-uri pentru antrenare
- Early stopping
- Checkpoint-urile modelelor
- Monitorizarea progresului de antrenare
- Detectarea overfitting-ului
- Îmbunătățirea performanței de antrenare
- Considerații pentru antrenarea distribuită
Antrenarea pe GPU vs TPU
- Arhitectura CPU, GPU și TPU
- Avantajele accelerării hardware
- Configurarea TensorFlow pentru antrenare pe GPU
- Înțelegerea antrenării bazate pe TPU
- Selecția hardware-ului pentru diferite workloads
- Mutarea calculului între dispozitive
- Gestionarea memoriei și resurselor de calcul
- Compararea performanței de antrenare
- Strategii de antrenare distribuită și accelerată
Evaluarea modelului
- Selecția metrikilor de evaluare potrivite
- Acurateț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 slăbiciunilor modelului
- Compararea diferitelor configurații de model
Realizarea predicțiilor
- Folosirea modelelor antrenate pentru inferență
- Pregătirea noilor date de intrare
- Efectuarea predicțiilor în batch și individuale
- Interpretarea ieșirilor modelului
- Probabilitățile de clasificare
- Predicții de regresie
- Construirea unui workflow de inferență
- Tratarea datelor necunoscute
- Gestionarea pipeline-urilor de predicție
Evaluarea predicțiilor
- Analiza calității predicțiilor
- Compararea predicțiilor cu rezultatele așteptate
- Identificarea falselor pozitive și false 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
Debugging-ul modelului
- Identificarea problemelor comune de antrenare
- Diagnosticarea predicțiilor incorecte
- Debugging-ul pipeline-urilor de date
- Investigarea comportamentului loss-ului și al metrikilor
- Detectarea gradientelor explozive și dispărute
- Diagnosticarea overfitting-ului și underfitting-ului
- Inspectarea straturilor și ieșirilor modelului
- Folosirea instrumentelor de debugging și profiling din TensorFlow
- Îmbunătățirea stabilității și performanței modelului
Salvarea unui model
- Salvarea modelelor antrenate
- Formatul TensorFlow SavedModel
- Salvarea și restaurarea ponderilor modelului
- Salvarea arhitecturii și configurării modelului
- Încărcarea modelelor pentru inferență
- Versionarea modelelor
- Exportul modelelor pentru deploy
- Gestionarea artifact-urilor modelului
- Pregătirea modelelor pentru medii de producție
Deploy-ul unui model pe cloud
- Introducere în deploy-ul modelelor pe cloud
- Pregătirea modelelor TensorFlow pentru producție
- Servirea modelelor prin API-uri
- Concepte de model serving
- Containerizarea aplicațiilor TensorFlow
- Inferență bazată pe cloud
- Scaling-ul workload-urilor de model serving
- Monitorizarea modelelor deploy-uite
- Gestionarea versiunilor modelului
- Considerații pentru deploy-ul în producție
Deploy-ul unui model pe un dispozitiv mobil
- Provocările machine learning-ului pe mobil
- TensorFlow Lite
- Conversia modelelor TensorFlow pentru deploy pe mobil
- Optimizarea modelului și reducerea dimensiunii
- Cuantificarea
- Rularea inferenței pe dispozitive mobile
- Gestionarea resurselor dispozitivului mobil
- Integrarea modelelor în aplicații mobile
- Testarea performanței inferenței mobile
Deploy-ul unui model pe un sistem embedded (IoT)
- Machine learning pe dispozitive embedded
- TensorFlow Lite pentru aplicații embedded
- Constrângeri de resurse și optimizare
- Reducerea dimensiunii modelului și a cerințelor de calcul
- Inferență la edge
- Procesarea datelor de la senzori și în timp real
- Rularea predicțiilor local
- Considerații privind energia și memoria
- Integrarea modelelor TensorFlow în workflow-urile IoT
- Testarea și monitorizarea deploy-urilor la edge
Integrarea unui model în diferite limbaje
- Interoperabilitatea modelelor TensorFlow
- Servirea modelelor prin API-uri
- Folosirea modelelor TensorFlow din medii de programare diferite
- Integrarea bazată pe Python
- Integrarea modelelor în aplicații web
- Inferența modelului prin servicii REST-based
- Integrarea TensorFlow în aplicații existente
- Schimbul de date și serializarea
- Considerații pentru integrarea în producție
Rezolvarea problemelor (Troubleshooting)
- Diagnosticarea problemelor de instalare TensorFlow
- Troubleshooting-ul erorilor de construcție a modelelor
- Debugging-ul 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
- Debugging-ul problemelor de deploy
- Exerciții practice de troubleshooting
Rezumat și concluzii
- Revizuirea conceptelor TensorFlow 2.x
- Revizuirea fluxurilor de lucru pentru rețele neuronale și deep learning
- Revizuirea pregătirii datelor și dezvoltării modelelor
- Revizuirea clasificării imaginilor
- Revizuirea tehnicilor de antrenare și evaluare
- Revizuirea debugging-ului și optimizării modelelor
- Revizuirea 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.
Audiența
- Dezvoltatori
- Data Scientists
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