Ce este TensorFlow? Cum funcționează [cu exemple]

Publicat: 2021-09-22

TensorFlow este o bibliotecă open-source folosită pentru a construi modele de învățare automată. Este o platformă incredibilă pentru oricine pasionat de lucrul cu învățarea automată și inteligența artificială. În plus, odată cu creșterea constantă la care se confruntă piața de învățare automată, instrumente precum TensorFlow au ajuns în centrul atenției, pe măsură ce companiile de tehnologie explorează diversele capabilități ale tehnologiei AI. Fără îndoială, se estimează că piața globală a învățării automate va atinge o evaluare de 117,19 miliarde USD până în 2027 .

Dar de la început, este pertinent să știm ce este TensorFlow și ce îl face o alegere populară în rândul dezvoltatorilor din întreaga lume.

Cuprins

Ce este TensorFlow?

TensorFlow este o platformă open-source end-to-end pentru învățarea automată, cu un accent deosebit pe rețelele neuronale profunde. Învățarea profundă este un subset al învățării automate care implică analiza datelor nestructurate la scară largă. Învățarea profundă diferă de învățarea automată tradițională prin faptul că aceasta din urmă se ocupă de obicei cu date structurate.

TensorFlow se mândrește cu o colecție flexibilă și cuprinzătoare de biblioteci, instrumente și resurse comunitare. Permite dezvoltatorilor să construiască și să implementeze aplicații de ultimă generație bazate pe învățarea automată. Unul dintre cele mai bune lucruri despre TensorFlow este că folosește Python pentru a oferi un API frontal convenabil pentru construirea de aplicații în timp ce le execută în C++ optimizat și de înaltă performanță.

Echipa Google Brain a dezvoltat inițial biblioteca de învățare profundă TensorFlow Python pentru uz intern. De atunci, platforma open-source a cunoscut o creștere extraordinară a utilizării în cercetare și dezvoltare și sisteme de producție.

Câteva elemente de bază ale TensorFlow

Acum că avem o idee fundamentală despre ce este TensorFlow , este timpul să ne aprofundăm mai multe detalii despre platformă.

Mai jos este o scurtă prezentare generală a unor concepte de bază legate de TensorFlow. Vom începe cu tensorii – componentele de bază ale TensorFlow de la care platforma își trage numele.

Tensori

În biblioteca de învățare profundă TensorFlow Python , un tensor este o matrice care reprezintă tipurile de date. Spre deosebire de un vector unidimensional sau o matrice sau o matrice bidimensională, un tensor poate avea n dimensiuni. Într-un tensor, valorile dețin tipuri de date identice cu o formă cunoscută. Forma reprezintă dimensionalitatea. Astfel, un vector va fi un tensor unidimensional, o matrice este un tensor bidimensional, iar un scalar ar fi un tensor zero-dimensional.

tensori

Sursă

Formă

În biblioteca TensorFlow Python , forma se referă la dimensionalitatea tensorului.

În biblioteca TensorFlow Python, forma se referă la dimensionalitatea tensorului.

Sursă

În imaginea de mai sus, forma tensorului este (2,2,2).

Tip

Tipul reprezintă tipul de date pe care le dețin valorile dintr-un tensor. De obicei, toate valorile dintr-un tensor dețin un tip de date identic. Tipurile de date din TensorFlow sunt după cum urmează:

  • numere întregi
  • punctul de plutire
  • numere întregi fără semn
  • booleene
  • siruri de caractere
  • întreg cu operațiuni cuantizate
  • numere complexe

Grafic

Un grafic este un set de calcule care au loc succesiv pe tensorii de intrare. Acesta cuprinde un aranjament de noduri reprezentând operațiile matematice dintr-un model.

Sesiune

O sesiune în TensorFlow execută operațiile din grafic. Este rulat pentru a evalua nodurile dintr-un grafic.

Operatori

Operatorii din TensorFlow sunt operații matematice predefinite.

Cum funcționează tensorii?

În TensorFlow, graficele fluxului de date descriu modul în care datele se deplasează printr-o serie de noduri de procesare. TensorFlow utilizează grafice de flux de date pentru a construi modele. Calculele grafice din TensorFlow sunt facilitate prin interconexiunile dintre tensori.

Tensorii n-dimensionali sunt alimentați rețelei neuronale ca intrare, care trece prin mai multe operații pentru a da rezultatul. Graficele au o rețea de noduri, unde fiecare nod reprezintă o operație matematică. Dar marginea dintre noduri este o matrice de date multidimensională sau un tensor. O sesiune TensorFlow permite executarea de grafice sau părți de grafice. Pentru aceasta, sesiunea alocă resurse pe una sau mai multe mașini și deține valorile reale ale rezultatelor și variabilelor intermediare.

funcțiile tensorilor

Sursă

Aplicațiile TensorFlow pot fi rulate pe aproape orice țintă convenabilă, care ar putea fi CPU-uri, GPU-uri, un cluster în cloud, o mașină locală sau dispozitive Android și iOS.

Graficul de calcul TensorFlow

Un grafic de calcul în TensorFlow este o rețea de noduri în care fiecare nod operează înmulțirea, adunarea sau evaluează o ecuație multivariată. În TensorFlow, codurile sunt scrise pentru a crea un grafic, a rula o sesiune și a executa graficul. Fiecare variabilă pe care o atribuim devine un nod în care putem efectua operații matematice precum înmulțirea și adunarea.

Iată un exemplu simplu pentru a arăta crearea unui grafic de calcul:

Să presupunem că vrem să efectuăm calculul: F(x,y,z) = (x+y)*z.

Cele trei variabile x, y și z se vor traduce în trei noduri în graficul de mai jos:

Graficul de calcul TensorFlow

Sursă

Etapele construirii graficului:

Pasul 1: Atribuiți variabilele. În acest exemplu, valorile sunt:

x = 1, y = 2 și z = 3

Pasul 2: Adăugați x și y.

Pasul 3: Înmulțiți z cu suma lui x și y.

În cele din urmă, obținem rezultatul ca „9”.

Pe lângă nodurile unde am atribuit variabilele, graficul mai are două noduri – unul pentru operația de adunare și altul pentru operația de înmulțire. Prin urmare, există cinci noduri în total.

Elemente fundamentale de programare în TensorFlow

În TensorFlow, putem atribui date la trei tipuri diferite de elemente de date - constante, variabile și substituenți.

Să ne uităm la ce reprezintă fiecare dintre aceste elemente de date.

1. Constante

După cum este evident din nume, constantele sunt parametri cu valori neschimbate. În TensorFlow, o constantă este definită folosind comanda tf.constant() . În timpul calculului, valorile constantelor nu pot fi modificate.

Iată un exemplu:

c = tf.constant(2.0,tf.float32)

d = tf.constant(3.0)

Tipăriți (c,d)

2. Variabile

Variabilele permit adăugarea de noi parametri în grafic. Comanda tf.variable() definește o variabilă care trebuie inițializată înainte de a rula graficul într-o sesiune.

Iată un exemplu:

Y = tf.Variable([.4],dtype=tf.float32)

a = tf.Variable([-.4],dtype=tf.float32)

b = tf.placeholder(tf.float32)

model_liniar = Y*b+a

3. Substituenți

Folosind substituenți, se pot introduce date într-un model din exterior. Permite alocarea ulterioară a valorilor. Comanda tf.placeholder() definește un substituent.

Iată un exemplu:

c = tf.placeholder(tf.float32)

d = c*2

rezultat = sess.run(d,feed_out={c:3.0})

Substituentul este folosit în principal pentru a alimenta un model. Datele din exterior sunt transmise unui grafic folosind un nume de variabilă (numele variabilei din exemplul de mai sus este feed_out). Ulterior, în timpul rulării sesiunii, specificăm modul în care dorim să transmitem datele modelului.

Exemplu de sesiune:

Execuția graficului se face prin apelarea unei sesiuni. Se rulează o sesiune pentru a evalua nodurile graficului, numită runtime TensorFlow. Comanda sess = tf.Session() creează o sesiune.

Exemplu:

x = tf.constant(3,0)

y = tf.constant(4,0)

z = x+y

sess = tf.Session() #Launching Session

print(sess.run(z)) #Evaluarea tensorului z

În exemplul de mai sus, există trei noduri - x, y și z. Nodul „z” este locul în care se efectuează operația matematică și, ulterior, se obține rezultatul. La crearea unei sesiuni și la rularea nodului z, mai întâi, vor fi create nodurile x și y. Apoi, operația de adăugare va avea loc la nodul z. Prin urmare, vom obține rezultatul „7”.

Avansați-vă cariera în ML și Deep Learning cu upGrad

Căutați cel mai bun loc pentru a afla mai multe despre ce este TensorFlow ? Atunci upGrad este aici pentru a vă ajuta în călătoria dvs. de învățare.

Cu o bază de cursanți care acoperă peste 85 de țări, upGrad este cea mai mare platformă EdTech superioară din Asia de Sud, care a afectat peste 500.000 de profesioniști care lucrează la nivel global. Cu profesori de talie mondială, colaborări cu parteneri din industrie, cea mai recentă tehnologie și cele mai actualizate practici pedagogice, upGrad asigură o experiență de învățare sănătoasă și captivantă pentru cei 40.000 de cursanți plătiți la nivel global.

Programul de certificat avansat în învățare automată și învățare profundă este un curs de 6 luni riguros din punct de vedere academic și relevant pentru industrie, care acoperă conceptele de învățare profundă.

Repere ale programului:

  • Recunoaștere de prestigiu de la IIIT Bangalore
  • Peste 240 de ore de conținut cu peste 5 studii de caz și proiecte, peste 24 de sesiuni live și peste 15 sesiuni de coaching experți
  • Acoperire cuprinzătoare a 12 instrumente, limbi și biblioteci (inclusiv TensorFlow)
  • Asistență în carieră la 360 de grade, sesiuni de mentorat și oportunități de creare de rețele peer-to-peer

Masterul în învățare automată și inteligență artificială de la upGrad este un program robust de 18 luni pentru cei care doresc să învețe și să se perfecționeze cu învățarea automată și tehnologiile cloud.

Repere ale programului:

  • Recunoaștere de prestigiu de la Liverpool John Moores University și IIT Madras
  • Peste 650 de ore de conținut cu peste 25 de studii de caz și proiecte, peste 20 de sesiuni live și peste 8 sarcini de codare
  • Acoperire cuprinzătoare a 7 instrumente și limbaje de programare (inclusiv TensorFlow)
  • Asistență în carieră la 360 de grade, sesiuni de mentorat și oportunități de creare de rețele peer-to-peer

Concluzie

Învățarea automată și inteligența artificială continuă să evolueze. Ceea ce a fost odată tema filmelor SF este acum o realitate. De la recomandări de filme Netflix și asistenți virtuali la mașini cu conducere autonomă și descoperire de droguri, învățarea automată are impact asupra tuturor dimensiunilor vieții noastre. În plus, cu instrumente precum TensorFlow, inovațiile în învățarea automată au atins noi culmi. Biblioteca cu sursă deschisă este, fără îndoială, un avantaj pentru dezvoltatorii și profesioniștii în devenire care inovează tehnologiile bazate pe învățarea automată.

Deci ce mai aștepți? Începeți să învățați cu upGrad astăzi!

Pentru ce se folosește TensorFlow?

TensorFlow Python este o platformă open-source care permite dezvoltatorilor să creeze rețele neuronale la scară largă. Unele dintre cazurile de utilizare principale ale TensorFlow includ aplicații bazate pe text (cum ar fi detectarea fraudelor), recunoașterea vocii, recunoașterea imaginilor, detectarea video și analiza datelor din serii de timp.

Este TensorFlow scris în Python sau C++?

TensorFlow permite implementarea API-urilor front-end folosind diverse limbaje, cum ar fi Python, R, C și C++. Cu toate acestea, timpul de rulare în TensorFlow este scris folosind limbajul C++.

TensorFlow are nevoie de codare?

Deoarece TensorFlow este o bibliotecă open-source pentru învățarea automată, există patru domenii de bază pe care trebuie să le stăpâniți. Deși abilitățile de codificare sunt obligatorii, celelalte componente critice ale educației învățării automate sunt matematica și statistica, teoria învățării automate și experiența practică în construirea de la zero a proiectelor de învățare automată.