Mikä on TensorFlow? Miten se toimii? Archirakenne ja ominaisuudet

⚡ Älykäs yhteenveto

TensorFlow on avoimen lähdekoodin alusta Google koneoppimista varten rakennettu, joka esittää jokaisen laskennan tensorien datavuograafina. Tämä yleiskatsaus kattaa arkkitehtuurin, komponentit, laskennan suoritustavan ja tiedon syöttämisen syöttöputken kautta.

  • 🧮 Ydinobjekti: Tensori on n-ulotteinen taulukko, jonka arvoilla on yksi yhteinen tietotyyppi ja tunnettu tai osittain tunnettu muoto.
  • 🔗 Graafimalli: Solmut kuljettavat operaatioita, kaaret kantavat tensoreita, ja koko graafi voidaan tallentaa, siirtää ja toistaa myöhemmin.
  • 🏗️ Kolmivaiheinen Archirakenne: Esikäsittele data, rakenna malli ja sitten kouluta ja arvioi se.
  • ⚠️ Versiorajoitus: tf.placeholder ja tf.Session kuuluvat TensorFlow 1.x:ään ja ne poistettiin versiosta 2.0, joka toimii oletuksena innokkaasti.
  • 💾 Tietojen lataus: Lataa pieniä datajoukkoja muistiin pandoilla ja käytä tf.data-pipelinejä kaiken liian suuren datajoukon lataamiseen.
  • 📊 Seuranta: TensorBoard visualisoi graafin, mittarit ja painojakaumat mallin harjoitellessa.

Mikä on TensorFlow Archirakenne

Mikä on TensorFlow?

TensorFlow on avoimen lähdekoodin päästä päähän -alusta koneoppimissovellusten luomiseen. Se on symbolinen matemaattinen kirjasto, joka käyttää tietovirtaa ja differentioituvaa ohjelmointia suorittaakseen erilaisia ​​tehtäviä, jotka keskittyvät syvien hermoverkkojen koulutukseen ja päättelemiseen. Sen avulla kehittäjät voivat luoda koneoppimissovelluksia käyttämällä erilaisia ​​työkaluja, kirjastoja ja yhteisön resursseja.

Tällä hetkellä maailman tunnetuin syväoppimisen kirjasto on Google's TensorFlow. Google soveltaa koneoppimista kaikissa tuotteissaan parantaakseen hakua, käännöstä, kuvatekstejä ja suosituksia.

TensorFlow esimerkki

Antaakseni konkreettisen esimerkin, Google käyttäjät voivat kokea nopeamman ja tarkemman hakukokemuksen tekoälyn avulla. Jos käyttäjä kirjoittaa avainsanan hakukenttään, Google antaa suosituksen siitä, mikä voisi olla seuraava sana.

TensorFlow esimerkki
TensorFlow esimerkki

Google haluaa hyödyntää koneoppimistaan ​​​​hyödyntääkseen massiivisia tietojoukkojaan tarjotakseen käyttäjille parhaan mahdollisen käyttökokemuksen. Kolme eri ryhmää käyttää koneoppimista:

  • Tutkijat
  • Tietotieteilijät
  • Ohjelmoijat

He voivat kaikki käyttää samaa työkalusarjaa tehdäkseen yhteistyötä keskenään ja parantaakseen tehokkuuttaan.

Google ei ainoastaan ​​säilytä suuria tietojoukkoja, vaan se myös käyttää valtavaa laskentainfrastruktuuria, joten TensorFlow rakennettiin skaalautuvaksi alusta alkaen. TensorFlow on kirjasto, jonka on kehittänyt Google Brain Team kiihdyttää koneoppimista ja syväneuroverkkotutkimusta.

Se on rakennettu toimimaan useilla prosessoreilla tai grafiikkasuorittimilla ja jopa mobiilikäyttöjärjestelmillä, ja siinä on useita kääreitä useilla kielillä, kuten Python, C++ or Java.

TensorFlown historia

Pari vuotta sitten syväoppiminen alkoi suoriutua paremmin kuin muut koneoppimisalgoritmit valtavan datamäärän käsittelyssä. Google näki voivansa käyttää näitä syviä neuroverkkoja palveluidensa parantamiseen:

  • Gmail
  • Kuva
  • Google hakukone

He rakensivat kehyksen nimeltä TensorFlow jotta tutkijat ja kehittäjät voisivat työskennellä saman mallin parissa ja ottaa sen käyttöön skaalassa, jota monet ihmiset voisivat käyttää.

TensorFlow julkaistiin julkisesti marraskuussa 2015, ja versio 1.0 seurasi helmikuussa 2017. Paljon suurempi muutos tuli mukanaan TensorFlow 2.0 syyskuussa 2019, joka teki innokkaasta suorituksesta oletusarvon ja otti Kerasin käyttöön korkean tason API:na. Versiosta 2.16 eteenpäin Keras 3 on oletusarvo, ja sama mallikoodi voi toimia myös JAXilla tai Py:llä.Torch-taustaohjelmat.

TensorFlow on julkaistu Apache 2.0 -lisenssillä, joten voit käyttää, muokata ja jakaa sitä edelleen, myös kaupallisesti, maksamatta. Google.

Miten TensorFlow toimii

TensorFlow antaa sinun rakentaa tietovirtakaavioita ja rakenteita, joilla voit määrittää, kuinka tiedot liikkuvat kaaviossa ottamalla syötteet moniulotteisena Tensor-nimisenä taulukkona. Sen avulla voit rakentaa vuokaavion toiminnoista, jotka voidaan suorittaa näille tuloille, jotka kulkevat toisessa päässä ja tulevat toisessa päässä ulostulona.

TensorFlow Archirakenne

TensorFlow-arkkitehtuuri toimii kolmessa osassa:

  • Tietojen esikäsittely
  • Rakenna malli
  • Harjoittele ja arvioi malli

Sitä kutsutaan TensorFlow'ksi, koska se vastaanottaa syötteen moniulotteisena taulukkona, joka tunnetaan myös nimellä tensorit. Voit rakentaa eräänlaisen vuokaavio operaatioista (kutsutaan kuvaajaksi), jotka haluat suorittaa kyseiselle syötteelle. Tulo menee sisään toisesta päästä, sitten se virtaa tämän monitoimijärjestelmän läpi ja tulee ulos toisesta päästä ulostulona.

Missä TensorFlow voi toimia?

TensorFlow'n laitteisto- ja ohjelmistovaatimukset voidaan jakaa kahteen vaiheeseen:

Kehitysvaihe: tämä on vaihe, jossa mallia koulutetaan, yleensä pöytätietokoneella tai kannettavalla tietokoneella.

Suoritus- tai päättelyvaiheKun koulutus on valmis, mallia voidaan käyttää useilla alustoilla:

  • Työpöytä käynnissä Windows, macOS tai Linux
  • Pilvi verkkopalveluna
  • Mobiililaitteet, kuten iOS ja Android

Voit harjoitella sitä useilla koneilla ja sitten käyttää sitä toisella koneella, kun sinulla on koulutettu malli.

Mallia voidaan kouluttaa ja käyttää sekä näytönohjaimilla että suorittimilla. Näytönohjaimet suunniteltiin alun perin videopelejä varten. Noin vuonna 2009 Stanfordin tutkijat osoittivat, että näytönohjaimet ovat erittäin tehokkaita matriisi- ja lineaarialgebralaskuissa, joista neuroverkot ovat riippuvaisia. Syväoppiminen perustuu paljon matriisien kertolaskuun. TensorFlow on erittäin nopea matriisien kertolaskun laskemisessa, koska se on kirjoitettu C++. Vaikka se on otettu käyttöön C++, TensorFlow'ta voidaan käyttää ja hallita pääasiassa muilla kielillä, Python.

Yksi merkittävä ominaisuus lisää on Tensorboard, joka visualisoi kaavion, harjoitusmittarit ja painojen jakautumisen mallin suorituksen aikana.

TensorFlow-komponentit

tensor

TensorFlow'n nimi on suoraan johdettu sen ydinkehyksestä: tensorTensorFlow'ssa kaikki laskelmat sisältävät tensoreita. Tensori on vektori or matriisi n-ulottuvuus, joka edustaa kaikentyyppisiä tietoja. Kaikilla tensorin arvoilla on identtinen tietotyyppi tunnetun (tai osittain tunnetun) kanssa muoto. Tiedon muoto on matriisin tai taulukon ulottuvuus.

Tensori voidaan saada syöttötiedoista tai laskennan tuloksesta. TensorFlow:ssa kaikki toiminnot suoritetaan sisällä a kaavio. Kaavio on joukko laskentaa, joka tapahtuu peräkkäin. Jokaista operaatiota kutsutaan an op solmu ja ovat yhteydessä toisiinsa.

Kaavio esittää toiminnot ja solmujen väliset yhteydet. Se ei kuitenkaan näytä arvoja. Solmujen reuna on tensori, eli tapa täyttää operaatio datalla.

Kuvaajat

TensorFlow käyttää kaaviokehystä. Kaavio kerää ja kuvaa kaikki harjoituksen aikana tehdyt sarjalaskut. Kaaviolla on monia etuja:

  • Se toimii useilla suorittimilla tai näytönohjaimilla ja jopa mobiilikäyttöjärjestelmissä
  • Kaavion siirrettävyys mahdollistaa laskelmien säilyttämisen välitöntä tai myöhempää käyttöä varten. Kaavio voidaan tallentaa suoritettavaksi myöhemmin.
  • Kaikki kaavion laskelmat tehdään yhdistämällä tensorit yhteen
    • Graafi koostuu solmuista ja kaarista. Jokainen solmu suorittaa matemaattisen operaation ja tuottaa tulosteen, kun taas kaaret kuvaavat solmujen välisiä syötteen ja tulosteen suhteita. Tensorit itse kulkevat kaaria pitkin.

Miksi TensorFlow on suosittu?

TensorFlow on laajalti käytössä, koska se on kaikkien asiantuntemustasojen käytettävissä. Sen API-rajapinnat kattavat kaiken kolmirivisestä Keras-mallista käsin rakennettuun CNN- tai RNN-verkkoon. Koska laskenta ilmaistaan ​​graafina, TensorBoard voi visualisoida verkon ja helpottaa virheenkorjausta huomattavasti. Se toimii myös skaalautuvasti suorittimen, näytönohjaimen ja TPU:n avulla sekä mobiililaitteilla TensorFlow Liten kautta.

TensorFlow on edelleen yksi kahdesta käytetyimmästä syväoppimiskehyksestä GitHubissa Py:n ohella.Torch.

TensorFlow Algorithms

TensorFlow'ssa on korkean tason estimaattorit useille klassisille algoritmeille. TensorFlow 1.x:ssä nämä olivat tf.estimator-tiedoston alla:

  • Lineaarinen regressio: tf.estimator.LinearRegressor
  • Luokittelu: tf.estimator.LinearClassifier
  • Syväoppimisluokitus: tf.estimator.DNNClassifier
  • Laaja ja syvällinen oppiminen: tf.estimator.DNNLinearCombinedClassifier
  • Tehostettu puun regressio: tf.estimator.BoostedTreesRegressor
  • Tehostettu puuluokitus: tf.estimator.BoostedTreesClassifier

TensorFlow vs. PyTorch: Kumman sinun pitäisi valita?

TensorFlow ja PyTorch ovat kaksi hallitsevaa syväoppimisen viitekehystä, ja käytännön erot ovat kaventuneet huomattavasti siitä lähtien, kun TensorFlow 2.0 otti käyttöön innokkaan suorituksen.

Kriteeri TensorFlow PyTorch
kehittämä Google Aivot AI tavoite
Teloitus Innokas, valinnaisella graafin kääntämisellä Innokas, valinnaisella käännöksellä
Korkean tason API Keras, rakennettu vuonna Erilliset kirjastot, kuten Lightning
Mobiili- ja reunaverkot Kypsä, TensorFlow Liten kautta Parantaminen Execu-ohjelman kauttaTorch
Selaimen käyttöönotto TensorFlow.js Vaatii muuntamisen ONNX-muotoon
Tyypillinen linnoitus Tuotanto ja käyttöönotto Tutkimus ja kokeilu

Käytännönläheinen vastaus: valitse TensorFlow, kun mallin on toimitettava mobiililaitteille, selaimeen tai hallinnoituun käyttöliittymäpinoon, ja valitse PyTorch, kun iteroit malliarkkitehtuurilla. Keras 3, oletusarvo TensorFlow 2.16:sta eteenpäin, pehmentää päätöstä entisestään, koska sama Keras-koodi voi toimia TensorFlow-, JAX- tai Py-alustalla.Torch-taustajärjestelmä.

Kuinka laskelmat toimivat TensorFlow'ssa

⚠️ Versiohuomautus: alla olevissa ohjeissa käytetään TensorFlow 1.x kaavio-ja-istunto-tyyliin, mikä on selkein tapa nähdä, miten datavuokaavio todellisuudessa toimii. tf.placeholder(), tf.Session() ja make_initializable_iterator() poistettiin TensorFlow 2.0:ssa. ja aiheuttaa AttributeError-virheen nykyisessä asennuksessa. TensorFlow 1.x vs. TensorFlow 2.x jäljempänä on kunkin esimerkin moderni vastine.

import numpy as np
import tensorflow as tf

Kahdella ensimmäisellä koodirivillä olemme tuoneet tensorflow: n muodossa tf. Kanssa Python, on yleinen käytäntö käyttää lyhyttä nimeä kirjastolle. Etuna on välttää kirjoittamasta kirjaston koko nimeä, kun meidän on käytettävä sitä. Voimme esimerkiksi tuoda tensorflow-muodon tf:nä ja kutsua tf:ää, kun haluamme käyttää tensorflow-funktiota

Harjoitellaan TensorFlow'n alkeellista työnkulkua yksinkertaisten TensorFlow-esimerkkien avulla. Luodaan laskennallinen graafi, joka kertoo kaksi lukua keskenään.

Esimerkissä kerromme X_1:n ja X_2:n keskenään. TensorFlow luo solmun operaation yhdistämiseksi. Esimerkissämme tätä kutsutaan kertolaskuksi. Kun graafi on määritetty, TensorFlow'n laskentamoottorit kertovat X_1:n ja X_2:n keskenään.

Laskelmat toimivat TensorFlowissa

TensorFlow esimerkki

Lopuksi suoritamme TensorFlow-istunnon, joka suorittaa laskennallisen kaavion arvoilla X_1 ja X_2 ja tulostaa kertolaskutuloksen.

Määritellään syötenomut X_1 ja X_2. Kun luomme solmun TensorFlow'ssa, meidän on valittava, minkä tyyppinen solmu luodaan. X1- ja X2-solmut toimivat paikkamerkkisolmuina. Paikkamerkki antaa uuden arvon joka kerta, kun suoritamme laskutoimituksen. Luomme ne TF-piste-paikkamerkkisolmuina.

Vaihe 1: Määritä muuttuja

X_1 = tf.placeholder(tf.float32, name = "X_1")
X_2 = tf.placeholder(tf.float32, name = "X_2")

Paikkamerkki tarvitsee tietotyypin. Nämä ovat numeroita, joten tf.float32 on oikea valinta. Nimi-argumentti on valinnainen, mutta hyödyllinen, koska se on nimi, joka näkyy graafin TensorBoard-visualisoinnissa. X_2 määritellään samalla tavalla.

Vaihe 2: Määritä laskenta

multiply = tf.multiply(X_1, X_2, name = "multiply")

Nyt voimme määritellä kertolaskuoperaation suorittavan solmun. TensorFlow'ssa voimme tehdä sen luomalla tf.multiply-solmun.

Välitämme solmut X_1 ja X_2 kertolaskusolmuun. Se käskee tensorflowa linkittämään nämä solmut laskennallisessa kaaviossa, joten pyydämme sitä ottamaan arvot x:stä ja y:stä ja kertomaan tuloksen. Annetaan kertolaskusolmulle myös nimi kertoa. Se on yksinkertaisen laskennallisen graafimme koko määritelmä.

Vaihe 3: Suorita toimenpide

Suorittaaksemme operaatioita graafissa, meidän on luotava istunto. TensorFlow'ssa tämä tehdään tf.Session()-funktiolla. Nyt kun meillä on istunto, voimme pyytää istuntoa suorittamaan toimintoja laskentagraafissamme kutsumalla session-funktiota. Laskennan suorittamiseksi meidän on käytettävä run-funktiota.

Kertolaskuoperaation suorittamisen aikana se tarvitsee X_1- ja X_2-solmujen arvot, joten syötät ne suorituksen aikana. Voimme tehdä tämän antamalla parametrin nimeltä feed_dict. Välitämme arvon 1,2 ja 3 X_1:lle ja 4,5 ja 6 X_2:lle.

Tulostamme tulokset printillä (tulos). Meidän pitäisi nähdä 4, 10 ja 18 kohdissa 1×4, 2×5 ja 3×6

X_1 = tf.placeholder(tf.float32, name = "X_1")
X_2 = tf.placeholder(tf.float32, name = "X_2")

multiply = tf.multiply(X_1, X_2, name = "multiply")

with tf.Session() as session:
    result = session.run(multiply, feed_dict={X_1:[1,2,3], X_2:[4,5,6]})
    print(result)
[ 4. 10. 18.]

Vaihtoehdot tietojen lataamiseen TensorFlow'hun

Ensimmäinen askel ennen harjoittelua a koneoppimisalgoritmi on ladata tiedot. Tietojen lataamiseen on kaksi yleistä tapaa:

1. Lataa tiedot muistiinSe on yksinkertaisin menetelmä. Lataat kaikki datasi muistiin yhtenä taulukkona. Kirjoitat pelkän Python tähän; mikään siitä ei ole TensorFlow-kohtaista.

2. TensorFlow-dataputkiTensorFlow tarjoaa sisäänrakennetun API:n, joka lataa datan, soveltaa muunnoksia ja syöttää dataa malliin. Tämä menetelmä toimii erittäin hyvin erityisesti silloin, kun kyseessä on suuri datajoukko. Esimerkiksi kuvatiedostojen tiedetään olevan valtavia eivätkä ne mahdu muistiin. Dataputki hallitsee muistia itse.

Mitä ratkaisua käyttää?

Lataa tiedot muistiin

Jos tietojoukkosi ei ole liian suuri, eli alle 10 gigatavua, voit käyttää ensimmäistä menetelmää. Tiedot mahtuvat muistiin. Voit tuoda CSV-tiedostoja käyttämällä kuuluisaa Pandas-kirjastoa. Saat lisätietoja pandoista seuraavassa opetusohjelmassa.

Lataa dataa TensorFlow-putkella

Toinen menetelmä toimii parhaiten, jos sinulla on suuri tietojoukko. Jos sinulla on esimerkiksi 50 gigatavun tietojoukko ja tietokoneessasi on vain 16 gigatavua muistia, laite kaatuu.

Tässä tilanteessa sinun on rakennettava TensorFlow-liukuhihna. Liukuhihna lataa datan erissä eli pienissä lohkoissa. Jokainen erä lähetetään liukuhihnalle ja on valmis koulutusta varten. Liukuhihnan rakentaminen on erinomainen ratkaisu, koska se mahdollistaa rinnakkaislaskennan käytön. Se tarkoittaa, että TensorFlow kouluttaa mallia useiden suorittimien kautta. Tämä nopeuttaa laskentaa ja tekee käytännölliseksi suurempien verkkojen kouluttamisen.

Lyhyesti sanottuna: lataa pieniä tietojoukkoja muistiin pandoilla ja käytä TensorFlow-prosessia, kun data on suuri tai kun haluat rinnakkaislatauksen useiden suorittimien välillä.

TensorFlow-putkilinjan luominen

Tässä ovat vaiheet TensorFlow-putkilinjan luomiseksi:

Edellisessä esimerkissä lisäsimme manuaalisesti kolme arvoa X_1:lle ja X_2:lle. Nyt katsomme, miten data ladataan TensorFlow'hun:

Vaihe 1) Luo tiedot

Ensinnäkin käytetään numpy-kirjastoa kahden satunnaisarvon luomiseen.

import numpy as np
x_input = np.random.sample((1,2))
print(x_input)

[[0.8835775 0.23766977]]

Vaihe 2) Luo paikkamerkki

Kuten edellisessä esimerkissä, luomme paikkamerkin, jonka nimi on X. Meidän on määritettävä tensorin muoto eksplisiittisesti. Siinä tapauksessa lataamme taulukon, jossa on vain kaksi arvoa. Voimme kirjoittaa muodon muodossa shape=[1,2]

# using a placeholder
x = tf.placeholder(tf.float32, shape=[1,2], name = 'X')

Vaihe 3) Määritä tietojoukon menetelmä

Seuraavaksi meidän on määritettävä tietojoukko, johon voimme täyttää paikkamerkin x arvon. Meidän on käytettävä menetelmää tf.data.Dataset.from_tensor_slices

dataset = tf.data.Dataset.from_tensor_slices(x)

Vaihe 4) Luo putki

Vaiheessa neljä meidän on alustettava putki, jossa data virtaa. Meidän on luotava iteraattori, jossa on make_initializable_iterator. Nimeämme sen iteraattoriksi. Sitten meidän on kutsuttava tämä iteraattori syöttämään seuraava tietoerä, get_next. Nimeämme tämän vaiheen get_next. Huomaa, että esimerkissämme on vain yksi tietoerä, jolla on vain kaksi arvoa.

iterator = dataset.make_initializable_iterator() 
get_next = iterator.get_next()

Vaihe 5) Suorita toimenpide

Viimeinen vaihe on samanlainen kuin edellinen esimerkki. Aloitamme istunnon ja suoritamme operaatioiteraattorin. Syötämme syötteen feed_dict arvolla, jonka on luonut numpy. Nämä kaksi arvoa täyttävät paikkamerkin x. Sitten suoritamme get_next tulostaaksemme tuloksen.

with tf.Session() as sess:
    # feed the placeholder with data
    sess.run(iterator.initializer, feed_dict={ x: x_input }) 
    print(sess.run(get_next))
[0.8835775  0.23766978]

TensorFlow 1.x vs. TensorFlow 2.x: Mitä muuttui

TensorFlow 2.0 oli mullistava käyttäjäkohtaisen API:n uudelleenkirjoitus. Erojen ymmärtäminen on tärkeää, koska suuri osa verkossa olevasta tutoriaalikoodista, mukaan lukien yllä olevat esimerkit, on suunnattu 1.x-tyyliin.

Käsite TensorFlow 1.x TensorFlow 2.x
Toteutusmalli Määrittele graafi ja suorita se Oletusarvoisesti innokas, toiminnot käynnistyvät välittömästi
Ruokintatiedot tf.placeholder plus feed_dict Siirtää Python arvot tai tensorit suoraan
Toimintojen suorittaminen tf.Session().run() Kutsu funktiota, istuntoa ei tarvita
Korkean tason API tf.estimaattori Keras, tf.keras
Graafin optimointi Aina graafipohjainen Liity mukaan @tf.function-dekoraattorilla
Aineistosarjan iterointi tee_alustettava_iteraattori() tavallinen Python for-silmukka datajoukon yli

Kertolaskuesimerkki, uudelleenkirjoitettuna. Kolme vaihetta ja istunto muodostavat yhden rivin, koska operaatio suoritetaan heti kutsuttaessa:

import tensorflow as tf

X_1 = tf.constant([1, 2, 3], dtype=tf.float32)
X_2 = tf.constant([4, 5, 6], dtype=tf.float32)

result = tf.multiply(X_1, X_2, name="multiply")
print(result.numpy())        # [ 4. 10. 18.]

Syöttöputki, uudelleenkirjoitettu. Paikkamerkkiä tai iteraattoriobjektia ei tarvita:

import numpy as np
import tensorflow as tf

x_input = np.random.sample((1, 2))
dataset = tf.data.Dataset.from_tensor_slices(x_input)

for batch in dataset:
    print(batch.numpy())

Jos tarvitset käännetyn graafin nopeutta, kääri funktio @tf.function- ja TensorFlow-elementteihin. tracyhdistää sen yhdeksi automaattisesti. Vanhoja 1.x-skriptejä voidaan myös suorittaa muuttumattomina tf.compat.v1-nimiavaruuden kautta, vaikkakin kyseinen polku on vain ylläpitoa varten eikä sitä tule käyttää uusiin töihin.

TensorFlow: Keskeiset tiedot ja Code Viite

  • TensorFlow merkitys: TensorFlow on viime vuosien tunnetuin syväoppimiskirjasto. TensorFlow'ta käyttävä lääkäri voi rakentaa minkä tahansa syvän oppimisrakenteen, kuten CNN:n, RNN:n tai yksinkertaisen keinotekoisen hermoverkon.
  • TensorFlow'ta käyttävät enimmäkseen akateemikot, startupit ja suuryritykset. Google käyttää TensorFlow'ta lähes kaikissa Google päivittäiset tuotteet, mukaan lukien Gmail, Valokuva ja Google Hakukone.
  • Google Brain-tiimi kehitti TensorFlow'n kuroakseen umpeen kuilua tutkijoiden ja tuotekehittäjien välillä. Vuonna 2015 he julkaisivat TensorFlow'n julkisesti; sen suosio kasvaa nopeasti. Nykyään TensorFlow on syväoppimisen kirjasto, jolla on eniten repositorioita GitHubissa.
  • Ammattilaiset käyttävät TensorFlow'ta, koska se on helppo ottaa käyttöön skaalautuvasti pilvessä, selaimessa tai iOS-mobiililaitteilla. Android.

TensorFlow toimii istunnossa. Jokainen istunto määritellään graafilla, jossa on erilaisia ​​laskutoimituksia. Yksinkertainen esimerkki voi olla kertolasku luvulla. TensorFlow'ssa vaaditaan kolme vaihetta:

  1. Määrittele muuttuja
X_1 = tf.placeholder(tf.float32, name = "X_1")
X_2 = tf.placeholder(tf.float32, name = "X_2")
  1. Määritä laskenta
multiply = tf.multiply(X_1, X_2, name = "multiply")
  1. Suorita toimenpide
with tf.Session() as session:
    result = session.run(multiply, feed_dict={X_1: [1, 2, 3], X_2: [4, 5, 6]})
    print(result)

Yksi yleinen käytäntö TensorFlow'ssa on luoda liukuhihna datan lataamiseksi. Jos noudatat näitä viittä vaihetta, voit ladata dataa TensorFLow'hun:

  1. Luo tiedot
import numpy as np
x_input = np.random.sample((1,2))
print(x_input)
  1. Luo paikkamerkki
x = tf.placeholder(tf.float32, shape=[1,2], name = 'X')
  1. Määritä tietojoukon menetelmä
dataset = tf.data.Dataset.from_tensor_slices(x)
  1. Luo putki
iterator = dataset.make_initializable_iterator()
get_next = iterator.get_next()
  1. Suorita ohjelma
with tf.Session() as sess:
    sess.run(iterator.initializer, feed_dict={x: x_input})
    print(sess.run(get_next))

UKK

tf.placeholder kuuluu TensorFlow 1.x:ään ja se poistettiin versiosta 2.0, joka suorittaa funktion innokkaasti eikä tarvitse paikkamerkkejä. Välitä arvot suoraan tai käytä tf.compat.v1:tä suorittaaksesi vanhoja skriptejä muuttumattomina.

Tensori on n-ulotteinen taulukko, jonka jokaisella alkiolla on yksi yhteinen tietotyyppi. Skalaarin arvo on 0, vektorin arvo 1, matriisin arvo 2 ja kuvaerän arvo on yleensä 4.

Keras on korkean tason API mallien määrittelyyn ja kouluttamiseen, kun taas TensorFlow on pohjana oleva laskentamoottori. Versiosta 2.16 lähtien TensorFlow toimittaa Keras 3:n, joka voi toimia myös JAX:lla tai Py:llä.Torch.

TensorFlow sopii tuotantoympäristöjen tekoälyyn: kuvien luokitteluun, luonnollisen kielen käsittelyyn, suositusjärjestelmiin ja kaikkiin malleihin, jotka on otettava käyttöön mobiililaitteissa, selaimessa tai palvelevassa klusterissa.

Kyllä. Tekoälyavustajat voivat kirjoittaa istunto- ja paikkamerkkikoodin uudelleen innokkaiksi vastineiksi ja merkitä poistettuja funktioita. Tarkista tuloste numeerisesti alkuperäistä vasten ennen vanhan skriptin poistamista.

Tiivistä tämä viesti seuraavasti: