Intrati in legatura

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

Numărul de participanți


Pret per participant

Mărturii (4)

Cursuri viitoare

Categorii înrudite