Învățare profundă cu TensorFlow 2.0: tot ce trebuie să știți
Publicat: 2021-01-05TensorFlow este cadrul de învățare automată de la Google. Este folosit în principal pentru sarcini legate de Deep Learning și se integrează perfect și cu alte API-uri Google. TensorFlow este în mod clar una dintre cele mai utilizate biblioteci pentru Deep Learning în industrie chiar acum și merită învățat!
Până la sfârșitul acestui tutorial, veți cunoaște următoarele.
- Ce este TensorFlow?
- Ce este nou în TF 2.0?
- TensorFlow vs Keras
- Instalarea TensorFlow
- Clasificator de imagini în TensorFlow
Cuprins
Ce este TensorFlow?
TensorFlow a început ca o bibliotecă de învățare profundă open-source de la Google și acum este un cadru complet pentru procesele de învățare automată de la capăt la capăt. S-ar putea să vă întrebați de ce Google a ales acest nume și ce înseamnă „Tensor”.
Ce este un tensor?
Tensorii sunt efectiv tablouri multidimensionale care vă permit să efectuați operații complexe pe tablouri multidimensionale. Cu toate acestea, ele nu sunt doar o matrice N-dimensională.
Un tensor include și transformări precum produsul punctual, adunarea, înmulțirea matricei etc.
Dar de ce sunt ele importante?
Tensorii nu sunt noi. Ele sunt folosite de mult timp, dar caracteristicile lor sunt puternic exploatate în zona Deep Learning, unde datele sunt de obicei uriașe și de dimensiuni multiple.

Tensorii, la fel ca și matrițele Numpy, au și o formă și un tip de date. Toți tensorii sunt imutabili precum numerele și șirurile Python: nu puteți actualiza niciodată conținutul unui tensor, ci doar creați unul nou.
Dar ceea ce le face diferite de matricele Numpy obișnuite este capacitatea lor de a utiliza memoria GPU și puterea de calcul, care este de cea mai mare importanță atunci când datele sunt de dimensiuni mari și dimensiunea este în milioane sau mai mult.
Tensorii sunt foarte folosiți în cadrele de învățare profundă, cum ar fi Pytorch de la Facebook și TensorFlow de la Google, care chiar poartă numele lor!
Google a dezvoltat, de asemenea, un alt accelerator AI, numit Tensor Processing Unit (TPU), special pentru TensorFlow, care duce optimizarea la un alt nivel cu totul!
Citiți: Regularizarea în deep learning
Ce este nou în TF 2.0?
Google a lansat prima versiune a TensorFlow 1 în 2015 de către echipa Google Brain.
Utilizarea TensorFlow 1.x pentru a realiza rețele neuronale nu a fost o sarcină ușoară, deoarece a necesitat mult cod pentru a fi scris.
Evaluare leneșă vs evaluare dornică
Cu TensorFlow 1.x, obișnuia să fie nevoie de a face sesiuni și de a rula acele sesiuni pentru a genera rezultatul oricărui „grafic”. Să înțelegem asta cu codul de mai jos
import tensorflow ca tf a = tf.constant(1) |
Rularea codului de mai sus nu vă va oferi rezultatul dorit, adică 3. Acest lucru se datorează faptului că TensorFlow 1.x a funcționat în sesiuni.
O sesiune este un tip de mediu care conține toate variabilele și transformările pe care trebuie să le facă.
A fost realizat un grafic al transformărilor care nu a fost evaluat până când nu a fost apelat în mod specific prin rularea tf.session.run().
Prin urmare, codul de mai sus va returna ceea ce vă așteptați dacă faceți:
tf.Session.run(c) |
Aceasta se numește evaluare leneșă. În timp ce așteaptă leneș până i se spune în mod special să alerge.
Acest proces lung și complicat trebuia rezolvat și, prin urmare, a apărut necesitatea TensorFlow 2.x.
TF 2.x vine cu evaluarea Eager în mod implicit, ceea ce ne face foarte ușor să codificăm și să rulăm procesele.
Nu există sesiuni acum și antrenamentul rețelei neuronale care a luat 100 de linii în TF 1.x durează mai puțin de 20 cu TF 2.x.
Execuția dornică a lui TensorFlow este un mediu de programare imperativ care evaluează operațiunile imediat, fără a construi grafice: operațiunile returnează valori concrete în loc să construiască un grafic de calcul pentru a rula mai târziu.
Acest lucru face ușor să începeți cu TensorFlow și modelele de depanare și reduce, de asemenea, boilerplate.
TensorFlow Vs Keras
Întrebarea nu este într-adevăr TensorFlow vs Keras. Este TensorFlow cu Keras. Keras a furnizat un API de nivel înalt peste TensorFlow 1.x care a făcut foarte ușor să lucrezi cu acesta.

Acum, cu TF 2.0, TensorFlow a făcut oficial Keras parte din API-ul său pentru proiectarea modelelor și instruirea cu tf.keras.
Tot codul care a fost făcut anterior în Keras este acum sugerat să fie făcut cu tf.keras în TF 2.0, deoarece îi permite să utilizeze toate componentele și ecosistemul TensorFlow, cum ar fi:
- TensorFlow Serving care este utilizat pentru a servi/implementa modelele TensorFlow fără probleme.
- TensorFlow Lite , care este versiunea mobilă a TensorFlow capabilă să ruleze pe Android și IOS.
- TensorFlow.js este o colecție de API-uri care ne permite să construim și să antrenăm modele folosind fie biblioteca de algebră liniară JavaScript de nivel scăzut, fie API-ul pentru straturi de nivel înalt. Prin urmare, modelele de învățare profundă pot fi antrenate și rulate într-un browser.
- TensorBoard este o suită de instrumente de vizualizare pentru a înțelege, depana și optimiza programele TensorFlow.
Instalarea TensorFlow
Dacă sunteți nou în învățare automată, atunci cea mai ușoară modalitate de a face lucrurile să ruleze este deschiderea unui notebook Colab. Accesați https://colab.research.google.com/ și faceți clic pe „New Python 3 Notebook”.
Asigurați-vă că nucleul spune „conectat” în dreapta sus. Vești bune, TensorFlow vine preinstalat în Google Colab.
Voila! Ești gata.
Pentru a verifica dacă utilizați versiunea corectă, rulați fragmentul de mai jos.
import tensorflow ca tf tf.__versiune__ |
Ar trebui să spună orice versiune peste 2.0.0 și ești gata.
Clasificator de imagini în TensorFlow
Să trecem acum peste „Hello World” a problemelor de învățare profundă – setul de date MNIST.
Vom construi o scurtă rețea neuronală pentru a prezice pe setul de date MNIST. Vom urma pașii de mai jos.
- Construiți o rețea neuronală care clasifică imaginile.
- Antrenează o rețea neuronală.
- Evaluați acuratețea modelului
Se importă TensorFlow.
import tensorflow ca tf |
Se încarcă datele MNIST.
mnist = tf.keras.datasets.mnist (x_train, y_train), (x_test, y_test) = mnist.load_data() |
Construirea unui model tf.keras.Secvenţial prin stivuirea straturilor.
Ar trebui să alegem un optimizator și o funcție de pierdere pentru ca modelul să se antreneze.
model = tf.keras.models.Sequential([ tf.keras.layers.Flatten(input_shape=(28, 28)), tf.keras.layers.Dense(128, activation='relu'), tf.keras.layers.Droout(0.2), tf.keras.layers.Dense(10) ]) |
Definirea funcției de pierdere a entropiei încrucișate categorice rare.
loss_fn = tf.keras.losses.SparseCategoricalCrosentropy(from_logits=True) |
Compilarea modelului.
model.compile(optimizer='adam', loss=loss_fn, metrics=['acuratețe']) |
Antrenamentul modelului cu 5 epoci.
model.fit(x_train, y_train, epochs=5) |
Evaluarea modelului.
model.evaluate(x_test, y_test, verbose=2) |
313/313 – 0s – pierdere: 0,0825 – precizie: 0,9753 [0,082541823387146, 0,9753000140190125] |
Clasificatorul de imagini este acum antrenat la o precizie de ~98% pe acest set de date.
Inainte sa pleci
TensorFlow 2 se concentrează pe simplitate și ușurință în utilizare, cu actualizări precum execuția dornică, API-uri intuitive de nivel superior și construirea flexibilă a modelelor pe orice platformă.

TensorFlow este biblioteca/instrumentul de bază pentru orice sarcină de învățare profundă în aceste zile. Cealaltă bibliotecă cea mai folosită și populară este PyTorch de la Facebook.
Ecosistemul extins al TensorFlow îl face un loc minunat pentru a începe călătoria dvs. de Deep Learning. Este ușor de înțeles și, mai important, ușor de implementat.
Cel mai bun loc pentru a începe este cu API-ul Sequential ușor de utilizat. Puteți crea modele conectând împreună blocuri de construcție. Aflați mai multe despre tehnicile de învățare profundă.
Concluzie
Deci, acum că aveți o idee detaliată despre toate cadrele majore de învățare profundă existente, puteți lua o decizie în cunoștință de cauză și puteți alege pe cea care se potrivește cel mai bine proiectului dvs.
Dacă sunteți interesat să aflați mai multe despre deep learning și inteligența artificială, consultați programul nostru PG Diploma în Machine Learning și AI, care este conceput pentru profesioniști care lucrează și oferă peste 30 de studii de caz și sarcini, peste 25 de sesiuni de mentorat în industrie, peste 5 mâini practice -pentru proiecte capstone, mai mult de 450 de ore de formare riguroasă și asistență pentru plasarea unui loc de muncă cu firme de top.