TensorFlow-perustiedot: Tensori, muoto, tyyppi, istunnot ja OperaTors

Mikรค on tensori?

Tensorflown nimi on suoraan johdettu sen ydinkehyksestรค: Tensor. Tensorflow:ssa kaikki laskelmat sisรคltรคvรคt tensoreita. Tensori on n-ulotteinen vektori tai matriisi, joka edustaa kaiken tyyppistรค dataa. Kaikilla tensorin arvoilla on identtinen tietotyyppi tunnetulla (tai osittain tunnetulla) muodolla. Tiedon muoto on matriisin tai taulukon ulottuvuus.

Tensori voidaan saada syรถttรถtiedoista tai laskennan tuloksesta. TensorFlow'ssa kaikki toiminnot suoritetaan kaavion sisรคllรค. Kaavio on joukko laskentaa, joka tapahtuu perรคkkรคin. Jokaista toimintoa kutsutaan operaatiosolmuksi ja ne 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.

Koneoppimisessa mallit syรถtetรครคn luettelolla objekteista, joita kutsutaan ominaisuusvektoreiksi. Piirrevektori voi olla mitรค tahansa tietotyyppiรค. Piirrevektori on yleensรค ensisijainen syรถte tensorin tรคyttรคmiseksi. Nรคmรค arvot virtaavat operaatiosolmuun tensorin kautta ja tรคmรคn operaation/laskennan tulos luo uuden tensorin, jota puolestaan โ€‹โ€‹kรคytetรครคn uudessa operaatiossa. Kaikki nรคmรค toiminnot nรคkyvรคt kaaviossa.

Tensorin esitys

TensorFlow'ssa tensori on kokoelma n-ulotteisia piirrevektoreita (eli matriisia). Jos meillรค on esimerkiksi 2ร—3 matriisi, jonka arvot ovat 1-6, kirjoitamme:

Tensorin esitys
Tensorin esitys

TensorFlow edustaa tรคtรค matriisia seuraavasti:

[[1, 2, 3], 
   [4, 5, 6]]

Jos luomme kolmiulotteisen matriisin arvoilla 1-8, meillรค on:

Tensorin esitys

TensorFlow edustaa tรคtรค matriisia seuraavasti:

[ [[1, 2],  
       [[3, 4],  
       [[5, 6],  
       [[7,8] ]

Huomautus: Tensori voidaan esittรครค skalaarilla tai sillรค voi olla enemmรคn kuin kolmiulotteinen muoto. Korkeamman ulottuvuuden tason visualisointi on vain monimutkaisempaa.

Tensorin tyypit

TensorFlow'ssa kaikki laskelmat kulkevat yhden tai useamman tensorin lรคpi. tf.tensori on objekti, jolla on kolme ominaisuutta:

  • Yksilรถllinen etiketti (nimi)
  • Mitta (muoto)
  • Tietotyyppi (dtype)

Jokainen TensorFlow'n kanssa tekemรคsi operaatio sisรคltรครค tensorin manipuloinnin. Voit luoda neljรค pรครคtensorityyppiรค:

  • tf.Variable
  • tf.constant
  • tf.placeholder
  • tf.SparseTensor

Tรคssรค opetusohjelmassa opit luomaan tf.constant- ja tf.Variable-muuttujia.

Ennen kuin kรคymme opetusohjelman lรคpi, varmista, ettรค aktivoit conda-ympรคristรถn TensorFlow'lla. Annoimme tรคlle ympรคristรถlle nimeksi hello-tf.

MacOS-kรคyttรคjรคlle:

source activate hello-tf

varten Windows kรคyttรคjรค:

activate hello-tf

Kun olet tehnyt sen, olet valmis tuomaan tensorflow

# Import tf
import tensorflow as tf

Luo n-ulotteinen tensori

Aloitat luomalla tensorin yhdellรค ulottuvuudella, nimittรคin skalaarilla.

Luodaksesi tensorin, voit kรคyttรครค tf.constant()-funktiota alla olevan TensorFlow-tensorin muotoesimerkin mukaisesti:

tf.constant(value, dtype, name = "")
arguments

- `value`: Value of n dimension to define the tensor. Optional
- `dtype`: Define the type of data:    
    - `tf.string`: String variable    
    - `tf.float32`: Float variable    
    - `tf.int16`: Integer variable
- "name": Name of the tensor. Optional. By default, `Const_1:0`

Luodaksesi tensorin dimensiolle 0, suorita seuraava koodi

## rank 0
# Default name
r1 = tf.constant(1, tf.int16) 
print(r1)			

ulostulo

Tensor("Const:0", shape=(), dtype=int16)

Luo n-ulottuvuuden tensori

# Named my_scalar
r2 = tf.constant(1, tf.int16, name = "my_scalar") 
print(r2)

ulostulo

Tensor("my_scalar:0", shape=(), dtype=int16)

Jokainen tensori nรคytetรครคn tensorin nimellรค. Jokainen tensoriobjekti mรครคritellรครคn tensorimรครคritteillรค, kuten yksilรถllinen nimiรถ (nimi), ulottuvuus (muoto) ja TensorFlow-tietotyypit (dtype).

Voit mรครคrittรครค tensorin desimaaliarvoilla tai merkkijonolla muuttamalla tietotyyppiรค.

# Decimal
r1_decimal = tf.constant(1.12345, tf.float32)
print(r1_decimal)
# String
r1_string = tf.constant("Guru99", tf.string)
print(r1_string)

ulostulo

Tensor("Const_1:0", shape=(), dtype=float32)
Tensor("Const_2:0", shape=(), dtype=string)

Dimension 1 tensori voidaan luoda seuraavasti:

## Rank 1r1_vector = tf.constant([1,3,5], tf.int16)
print(r1_vector)
r2_boolean = tf.constant([True, True, False], tf.bool)
print(r2_boolean)

ulostulo

Tensor("Const_3:0", shape=(3,), dtype=int16)
Tensor("Const_4:0", shape=(3,), dtype=bool)

Voit huomata, ettรค TensorFlow-muoto koostuu vain yhdestรค sarakkeesta.

Jos haluat luoda 2 tensorimitan taulukon, sinun on suljettava sulut jokaisen rivin jรคlkeen. Tarkista Keras Tensor -muotoesimerkki alta

## Rank 2
r2_matrix = tf.constant([ [1, 2],
                          [3, 4] ],tf.int16)
print(r2_matrix)

ulostulo

Tensor("Const_5:0", shape=(2, 2), dtype=int16)

Matriisissa on 2 riviรค ja 2 saraketta, jotka on tรคytetty arvoilla 1, 2, 3, 4.

Kolmiulotteinen matriisi rakennetaan lisรครคmรคllรค toinen taso suluilla.

## Rank 3
r3_matrix = tf.constant([ [[1, 2],
                           [3, 4], 
                           [5, 6]] ], tf.int16)
print(r3_matrix)

ulostulo

Tensor("Const_6:0", shape=(1, 3, 2), dtype=int16)

Matriisi nรคyttรครค samalta kuin kuvassa kaksi.

Tensorin muoto

Kun tulostat tensoria, TensorFlow arvaa muodon. Voit kuitenkin saada tensorin muodon TensorFlow-muotoominaisuuden avulla.

Alla rakennat matriisin, joka on tรคytetty numerolla 10-15 ja tarkistat m_shapen muodon

# Shape of tensor
m_shape = tf.constant([ [10, 11],
                        [12, 13],
                        [14, 15] ]                      
                     ) 
m_shape.shape

ulostulo

TensorShape([Dimension(3), Dimension(2)])

Matriisissa on 3 riviรค ja 2 saraketta.

TensorFlow sisรคltรครค hyรถdyllisiรค komentoja vektorin tai matriisin luomiseen, joka on tรคytetty 0:lla tai 1:llรค. Jos esimerkiksi haluat luoda 1-D-tensorin, jolla on tietty muoto 10 ja joka on tรคytetty 0:lla, voit suorittaa alla olevan koodin:

# Create a vector of 0
print(tf.zeros(10))

ulostulo

Tensor("zeros:0", shape=(10,), dtype=float32)

Omaisuus toimii myรถs matriisissa. Tรครคllรค luot 10 ร— 10 -matriisin, joka on tรคytetty luvulla 1

# Create a vector of 1
print(tf.ones([10, 10]))

ulostulo

Tensor("ones:0", shape=(10, 10), dtype=float32)

Voit kรคyttรครค tietyn matriisin muotoa muodostaaksesi niistรค vektorin. Matriisi m_muoto on 3ร—2-mitta. Voit luoda tensorin, jossa on 3 riviรค, jotka tรคytetรครคn yhdellรค seuraavalla koodilla:

# Create a vector of ones with the same number of rows as m_shape
print(tf.ones(m_shape.shape[0]))

ulostulo

Tensor("ones_1:0", shape=(3,), dtype=float32)

Jos vรคlitรคt arvon 1 hakasulkeeseen, voit muodostaa vektorin ykkรถsistรค, jotka ovat yhtรค suuria kuin sarakkeiden lukumรครคrรค matriisissa m_muoto.

# Create a vector of ones with the same number of column as m_shape
print(tf.ones(m_shape.shape[1]))

ulostulo

Tensor("ones_2:0", shape=(2,), dtype=float32)

Lopuksi voit luoda matriisin 3ร—2, jossa on vain yksi

print(tf.ones(m_shape.shape))

ulostulo

Tensor("ones_3:0", shape=(3, 2), dtype=float32)

Tyyppi

Tensorin toinen ominaisuus on tiedon tyyppi. Tensorilla voi olla vain yhden tyyppistรค dataa kerrallaan. Tensorilla voi olla vain yhden tyyppistรค dataa. Voit palauttaa tyypin ominaisuudella dtype.

print(m_shape.dtype)

ulostulo

<dtype: 'int32'>

Joissakin tapauksissa haluat muuttaa tietojen tyyppiรค. TensorFlow'ssa se on mahdollista tf.cast-menetelmรคllรค.

esimerkki

Alla kelluva tensori muunnetaan kokonaisluvuksi kรคyttรคmรคllรค menetelmรครค cast.

# Change type of data
type_float = tf.constant(3.123456789, tf.float32)
type_int = tf.cast(type_float, dtype=tf.int32)
print(type_float.dtype)
print(type_int.dtype)

ulostulo

<dtype: 'float32'>
<dtype: 'int32'>

TensorFlow valitsee tietotyypin automaattisesti, kun argumenttia ei ole mรครคritetty tensorin luomisen aikana. TensorFlow arvaa, mikรค on todennรคkรถisin tietotyyppi. Jos esimerkiksi vรคlitรคt tekstin, se arvaa sen olevan merkkijono ja muuntaa sen merkkijonoksi.

Luodaan operaattoria

Joitakin hyรถdyllisiรค TensorFlow-operaattoreita

Tiedรคt kuinka luoda tensori TensorFlow'lla. On aika opetella suorittamaan matemaattisia operaatioita.

TensorFlow sisรคltรครค kaikki perustoiminnot. Voit aloittaa yksinkertaisella. Kรคytรคt TensorFlow-menetelmรครค luvun neliรถn laskemiseen. Tรคmรค toiminto on yksinkertainen, koska tensorin muodostamiseen tarvitaan vain yksi argumentti.

Luvun neliรถ muodostetaan tf.sqrt(x):llรค, jossa x on kelluva luku.

x = tf.constant([2.0], dtype = tf.float32)
print(tf.sqrt(x))

ulostulo

Tensor("Sqrt:0", shape=(1,), dtype=float32)

Huomautus: Tulos palautti tensoriobjektin, ei neliรถn 2 tulosta. Esimerkissรค tulostetaan tensorin mรครคritelmรค, ei toiminnan varsinaista arviointia. Seuraavassa osiossa opit kuinka TensorFlow toimii toimintojen suorittamiseksi.

Seuraavassa on luettelo yleisesti kรคytetyistรค toiminnoista. Idea on sama. Jokainen toiminto vaatii yhden tai useamman argumentin.

  • tf.add(a, b)
  • tf.substract(a, b)
  • tf.multiply(a, b)
  • tf.div(a, b)
  • tf.pow(a, b)
  • tf.exp(a)
  • tf.sqrt(a)

esimerkki

# Add
tensor_a = tf.constant([[1,2]], dtype = tf.int32)
tensor_b = tf.constant([[3, 4]], dtype = tf.int32)

tensor_add = tf.add(tensor_a, tensor_b)print(tensor_add)

ulostulo

Tensor("Add:0", shape=(1, 2), dtype=int32)

Koodin selitys

Luo kaksi tensoria:

  • yksi tensori, jossa on 1 ja 2
  • yksi tensori, jossa on 3 ja 4

Laske molemmat tensorit yhteen.

Ilmoitus: ettรค molemmilla tensoreilla on oltava sama muoto. Voit suorittaa kertolaskun kahdella tensorilla.

# Multiply
tensor_multiply = tf.multiply(tensor_a, tensor_b)
print(tensor_multiply)

ulostulo

Tensor("Mul:0", shape=(1, 2), dtype=int32)

Muuttujat

Toistaiseksi olet luonut vain vakiotensoreja. Siitรค ei ole suurta hyรถtyรค. Tiedot saapuvat aina eri arvoilla, voit kaapata tรคmรคn kรคyttรคmรคllรค Variable-luokkaa. Se edustaa solmua, jossa arvot muuttuvat aina.

Voit luoda muuttujan kรคyttรคmรคllรค menetelmรครค tf.get_variable().

tf.get_variable(name = "", values, dtype, initializer)
argument
- `name = ""`: Name of the variable
- `values`: Dimension of the tensor
- `dtype`: Type of data. Optional
- `initializer`: How to initialize the tensor. Optional
If initializer is specified, there is no need to include the `values` as the shape of `initializer` is used.

Esimerkiksi alla oleva koodi luo kaksiulotteisen muuttujan kahdella satunnaisarvolla. Oletuksena TensorFlow palauttaa satunnaisen arvon. Annat muuttujan nimeksi var

# Create a Variable
## Create 2 Randomized values
var = tf.get_variable("var", [1, 2])
print(var.shape)

ulostulo

(1, 2)

Toisessa esimerkissรค luot muuttujan, jossa on yksi rivi ja kaksi saraketta. Sinun on kรคytettรคvรค [1,2] muuttujan ulottuvuuden luomiseen

Tรคmรคn tensorin alkuarvot ovat nolla. Kun esimerkiksi koulutat mallia, sinulla on oltava alkuarvot ominaisuuksien painon laskemiseksi. Alla asetat nรคmรค alkuarvot nollaan.

var_init_1 = tf.get_variable("var_init_1", [1, 2], dtype=tf.int32,  initializer=tf.zeros_initializer)
print(var_init_1.shape)

ulostulo

(1, 2)

Voit vรคlittรครค vakiotensorin arvot muuttujassa. Luot vakiotensorin menetelmรคllรค tf.constant(). Kรคytรคt tรคtรค tensoria muuttujan alustamiseen.

Muuttujan ensimmรคiset arvot ovat 10, 20, 30 ja 40. Uuden tensorin muoto on 2ร—2.

# Create a 2x2 matrixtensor_const = tf.constant([[10, 20],
[30, 40]])
# Initialize the first value of the tensor equals to tensor_const
var_init_2 = tf.get_variable("var_init_2", dtype=tf.int32,  initializer=tensor_const)
print(var_init_2.shape)

ulostulo

(2, 2)

Paikanpitรคjรค

Paikkamerkin tarkoituksena on syรถttรครค tensoria. Paikkamerkkiรค kรคytetรครคn alustamaan data virtaamaan tensorien sisรคllรค. Jos haluat antaa paikkamerkin, sinun on kรคytettรคvรค menetelmรครค feed_dict. Paikkamerkki syรถtetรครคn vain istunnon aikana.

Seuraavassa esimerkissรค nรคet kuinka luodaan paikkamerkki menetelmรคllรค tf.placeholder. Seuraavassa istunnossa opit syรถttรคmรครคn paikkamerkin todellisella tensoriarvolla.

Syntaksi on:

tf.placeholder(dtype,shape=None,name=None )
arguments:
- `dtype`: Type of data
- `shape`: dimension of the placeholder. Optional. By default, shape of the data
- `name`: Name of the placeholder. Optional			
data_placeholder_a = tf.placeholder(tf.float32, name = "data_placeholder_a")
print(data_placeholder_a)

ulostulo

Tensor("data_placeholder_a:0", dtype=float32)

istunto

TensorFlow toimii kolmen pรครคkomponentin ympรคrillรค:

  • Kaavio
  • tensor
  • istunto
komponentit Kuvaus
Kaavio Kaavio on perustavanlaatuinen TensorFlow'ssa. Kaikki matemaattiset toiminnot (ops) suoritetaan kaavion sisรคllรค. Voit kuvitella kaavion projektina, jossa kaikki toiminnot tehdรครคn. Solmut edustavat nรคitรค operaatioita, ne voivat absorboida tai luoda uusia tensoreja.
tensor Tensori edustaa dataa, joka etenee operaatioiden vรคlillรค. Nรคit aiemmin, kuinka tensori alustetaan. Ero vakion ja muuttujan vรคlillรค on muuttujan alkuarvot, jotka muuttuvat ajan myรถtรค.
istunto Istunto suorittaa toiminnon kaaviosta. Jos haluat syรถttรครค kaavioon tensorin arvot, sinun on avattava istunto. Istunnon sisรคllรค sinun on suoritettava operaattori tulosteen luomiseksi.

Kaaviot ja istunnot ovat itsenรคisiรค. Voit suorittaa istunnon ja saada arvot kรคytettรคvรคksi myรถhemmin lisรคlaskutoimissa.

Alla olevassa esimerkissรค:

  • Luo kaksi tensoria
  • Luo operaatio
  • Avaa istunto
  • Tulosta tulos

Vaihe 1) Luot kaksi tensoria x ja y

## Create, run  and evaluate a session
x = tf.constant([2])
y = tf.constant([4])

Vaihe 2) Luo operaattori kertomalla x ja y

## Create operator
multiply = tf.multiply(x, y)

Vaihe 3) Avaat istunnon. Kaikki laskelmat tapahtuvat istunnon aikana. Kun olet valmis, sinun on suljettava istunto.

## Create a session to run the code
sess = tf.Session()result_1 = sess.run(multiply)
print(result_1)
sess.close()

ulostulo

[8]

Koodin selitys

  • tf.Session(): Avaa istunto. Kaikki toiminnot suoritetaan istuntojen sisรคllรค
  • run(multiply): suorita vaiheessa 2 luotu toiminto.
  • print(tulos_1): Lopuksi voit tulostaa tuloksen
  • close(): Sulje istunto

Tuloksena on 8, joka on x:n ja y:n kertolasku.

Toinen tapa luoda istunto on lohkon sisรคllรค. Etuna on se, ettรค se sulkee istunnon automaattisesti.

with tf.Session() as sess:    
result_2 = multiply.eval()
print(result_2)

ulostulo

[8]

Istunnon yhteydessรค voit kรคyttรครค eval()-menetelmรครค toiminnon suorittamiseen. Se vastaa sanaa run(). Se tekee koodista luettavamman.

Voit luoda istunnon ja nรคhdรค arvot tรคhรคn mennessรค luomiesi tensorien sisรคllรค.

## Check the tensors created before
sess = tf.Session()
print(sess.run(r1))
print(sess.run(r2_matrix))
print(sess.run(r3_matrix))

ulostulo

1
[[1 2] 
 [3 4]]
[[[1 2]  
  [3 4]  
  [5 6]]]

Muuttujat ovat oletuksena tyhjiรค, vaikka olisit luonut tensorin. Sinun on alustettava muuttuja, jos haluat kรคyttรครค muuttujaa. Objektia tf.global_variables_initializer() on kutsuttava muuttujan arvojen alustamiseksi. Tรคmรค objekti alustaa eksplisiittisesti kaikki muuttujat. Tรคmรค on hyรถdyllistรค ennen mallin kouluttamista.

Voit tarkistaa aiemmin luomiesi muuttujien arvot. Huomaa, ettรค sinun on kรคytettรคvรค run-komentoa tensorin arvioimiseen

sess.run(tf.global_variables_initializer())
print(sess.run(var))
print(sess.run(var_init_1))
print(sess.run(var_init_2))

ulostulo

[[-0.05356491  0.75867283]]
[[0 0]]
[[10 20] 
 [30 40]]

Voit kรคyttรครค aiemmin luomaasi paikkamerkkiรค ja syรถttรครค siihen todellista arvoa. Sinun on vรคlitettรคvรค tiedot menetelmรครคn feed_dict.

Kรคytรคt esimerkiksi arvoa 2 paikkamerkkidata_paikkamerkki_a:sta.

import numpy as np
power_a = tf.pow(data_placeholder_a, 2)
with tf.Session() as sess:  
data = np.random.rand(1, 10)  
print(sess.run(power_a, feed_dict={data_placeholder_a: data}))  # Will succeed.

Koodin selitys

  • tuonti numpy as np: Tuo nuhjuinen kirjasto tietojen luomiseksi
  • tf.pow(data_placeholder_a, 2): Luo ops
  • np.random.rand(1, 10): Luo satunnainen datajoukko
  • feed_dict={data_placeholder_a: data}: Syรถtรค paikkamerkki datalla

ulostulo

[[0.05478134 0.27213147 0.8803037  0.0398424  0.21172127 0.01444725  0.02584014 0.3763949  0.66022706 0.7565559 ]]

Kaavio

TensorFlow riippuu nerokkaasta lรคhestymistavasta operaation tekemiseen. Kaikki laskelmat esitetรครคn tietovuokaaviolla. Tietovirtakaavio on kehitetty nรคkemรครคn yksittรคisten toimintojen vรคliset datariippuvuudet. Matemaattinen kaava tai algoritmi koostuu useista perรคkkรคisistรค operaatioista. Kaavio on kรคtevรค tapa visualisoida, kuinka laskelmat koordinoidaan.

Kaaviossa nรคkyy a solmu ja reuna. Solmu on toiminnan esitys eli laskentayksikkรถ. Reuna on tensori, se voi tuottaa uuden tensorin tai kuluttaa syรถtetiedot. Se riippuu yksittรคisten toimintojen vรคlisistรค riippuvuuksista.

Graafin rakenne yhdistรครค operaatiot (eli solmut) ja kuinka ne toimivat syรถtteenรค. Huomaa, ettรค kaavio ei nรคytรค operaatioiden tulosta, se auttaa vain visualisoimaan yksittรคisten operaatioiden vรคlisen yhteyden.

Katsotaanpa esimerkki.

Kuvittele, ettรค haluat arvioida seuraavan funktion:

Kaavio

TensorFlow luo kaavion funktion suorittamiseksi. Kaavio nรคyttรครค tรคltรค:

TensorFlow Graph esimerkki

TensorFlow Graph esimerkki

Voit helposti nรคhdรค polun, jonka tensorit kulkevat pรครคstรคkseen lopulliseen mรครคrรคnpรครคhรคn.

Voit esimerkiksi nรคhdรค, ettรค toimintoa ei voi tehdรค ennen ja . Kaavio selittรครค, ettรค se:

  1. laske ja:
  2. lisรครค 1) yhteen
  3. lisรครค 2)
  4. lisรครค 3) siihen
x = tf.get_variable("x", dtype=tf.int32,  initializer=tf.constant([5]))
z = tf.get_variable("z", dtype=tf.int32,  initializer=tf.constant([6]))
c = tf.constant([5], name =	"constant")square = tf.constant([2], name =	"square")
f = tf.multiply(x, z) + tf.pow(x, square) + z + c

Koodin selitys

  • x: Alusta muuttuja nimeltรค x, jonka vakioarvo on 5
  • z: Alusta z-niminen muuttuja, jonka vakioarvo on 6
  • c: Alusta vakiotensori nimeltรค c, jonka vakioarvo on 5
  • neliรถ: Alusta vakiotensori nimeltรค neliรถ, jonka vakioarvo on 2
  • f: Muodosta operaattori

Tรคssรค esimerkissรค pรครคtรคmme pitรครค muuttujien arvot kiinteinรค. Loimme myรถs vakiotensorin nimeltรค c, joka on funktion f vakioparametri. Se vaatii kiinteรคn arvon 5. Kuvaajassa nรคet tรคmรคn parametrin tensorissa, jota kutsutaan vakioksi.

Rakensimme myรถs vakiotensorin teholle operaattorissa tf.pow(). Se ei ole tarpeen. Teimme sen niin, ettรค nรคet tensorin nimen kaaviossa. Se on ympyrรค nimeltรค neliรถ.

Kaaviosta voit ymmรคrtรครค, mitรค tensoreille tapahtuu ja kuinka se voi palauttaa ulostulon 66.

Alla oleva koodi arvioi funktion istunnossa.

init = tf.global_variables_initializer() # prepare to initialize all variables
with tf.Session() as sess:    
	init.run() # Initialize x and y    
    function_result = f.eval()
print(function_result)

ulostulo

[66]

Yhteenveto

TensorFlow toimii noin:

  • Kaavio: Laskennallinen ympรคristรถ, joka sisรคltรครค operaatiot ja tensorit
  • tensors: Edustaa dataa (tai arvoa), joka virtaa kaaviossa. Se on kaavion reuna
  • Sessions: Salli toimintojen suorittaminen

Luo vakiotensori

vakio objekti
D0 tf.constant(1, tf.int16)
D1 tf.constant([1,3,5], tf.int16)
D2 tf.constant([ [1, 2], [3, 4] ],tf.int16)
D3 tf.constant([ [[1, 2], [3, 4], [5, 6]] ], tf.int16)

Luo operaattori

Luo operaattori objekti
a + b tf.add(a, b)
a * b tf.multiply(a, b)

Luo muuttujatensori

Luo muuttuja objekti
satunnaistettu arvo tf.get_variable("muuttuja", [1, 2])
alustettu ensimmรคinen arvo tf.get_variable("var_init_2", dtype=tf.int32, alustus =[ [1, 2], [3, 4] ])

Avaa istunto

istunto objekti
Luo istunto tf. istunto ()
Suorita istunto tf.Session.run()
Arvioi tensori muuttujan_nimi.eval()
Sulje istunto sess.close()
Istunto lohkoittain jossa tf.Session() on sess:

Tiivistรค tรคmรค viesti seuraavasti: