Intrati in legatura

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
 21 Ore

Numărul de participanți


Pret per participant

Mărturii (4)

Cursuri viitoare

Categorii înrudite