Osnove TensorFlowa: tenzor, oblik, vrsta, sesije & Operaulagatelji

ล to je tenzor?

Ime Tensorflowa izravno je izvedeno iz njegovog temeljnog okvira: Tensor. U Tensorflowu svi proraฤuni ukljuฤuju tenzore. Tenzor je vektor ili matrica n-dimenzija koja predstavlja sve vrste podataka. Sve vrijednosti u tenzoru sadrลพe identiฤan tip podataka s poznatim (ili djelomiฤno poznatim) oblikom. Oblik podataka je dimenzionalnost matrice ili niza.

Tenzor moลพe nastati iz ulaznih podataka ili rezultata izraฤuna. U TensorFlowu se sve operacije provode unutar grafa. Graf je skup izraฤuna koji se odvija sukcesivno. Svaka operacija se naziva operativni ฤvor i meฤ‘usobno su povezani.

Grafikon ocrtava operacije i veze izmeฤ‘u ฤvorova. Meฤ‘utim, ne prikazuje vrijednosti. Rub ฤvorova je tenzor, tj. naฤin da se operacija popuni podacima.

U strojnom uฤenju, modeli se unose popisom objekata koji se nazivaju vektori znaฤajki. Vektor obiljeลพja moลพe biti bilo koje vrste podataka. Vektor obiljeลพja obiฤno ฤ‡e biti primarni ulaz za popunjavanje tenzora. Ove vrijednosti ฤ‡e teฤ‡i u operativni ฤvor kroz tenzor, a rezultat ove operacije/izraฤunavanja ฤ‡e stvoriti novi tenzor koji ฤ‡e se zauzvrat koristiti u novoj operaciji. Sve ove operacije mogu se vidjeti na grafikonu.

Reprezentacija tenzora

U TensorFlowu, tenzor je zbirka vektora znaฤajki (tj. niza) n-dimenzija. Na primjer, ako imamo matricu 2ร—3 s vrijednostima od 1 do 6, piลกemo:

Reprezentacija tenzora
Reprezentacija tenzora

TensorFlow predstavlja ovu matricu kao:

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

Ako kreiramo trodimenzionalnu matricu s vrijednostima od 1 do 8, imamo:

Reprezentacija tenzora

TensorFlow predstavlja ovu matricu kao:

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

Biljeลกka: Tenzor se moลพe prikazati skalarom ili moลพe imati oblik viลกe od tri dimenzije. Samo je kompliciranije vizualizirati viลกu razinu dimenzija.

Vrste tenzora

U TensorFlowu sva izraฤunavanja prolaze kroz jedan ili viลกe tenzora. tf.tensor je objekt s tri svojstva:

  • Jedinstvena oznaka (ime)
  • Dimenzija (oblik)
  • Vrsta podataka (dtype)

Svaka operacija koju ฤ‡ete uฤiniti s TensorFlowom ukljuฤuje manipulaciju tenzorom. Postoje ฤetiri glavne vrste tenzora koje moลพete kreirati:

  • tf.Promjenljiva
  • tf.konstantan
  • tf.rezervirano mjesto
  • tf.SparseTensor

U ovom ฤ‡ete vodiฤu nauฤiti kako stvoriti tf.constant i tf.Variable.

Prije nego ลกto proฤ‘emo kroz tutorial, provjerite jeste li aktivirali conda okruลพenje s TensorFlowom. Ovo okruลพenje nazvali smo hello-tf.

Za korisnika MacOS-a:

source activate hello-tf

Za Windows korisnik:

activate hello-tf

Nakon ลกto to uฤinite, spremni ste za uvoz tensorflowa

# Import tf
import tensorflow as tf

Napravite tenzor n-dimenzije

Poฤinjete stvaranjem tenzora s jednom dimenzijom, naime skalarom.

Za izradu tenzora moลพete koristiti tf.constant() kao ลกto je prikazano u donjem primjeru oblika tenzora TensorFlow:

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`

Za stvaranje tenzora dimenzije 0, pokrenite sljedeฤ‡i kod

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

Izlaz

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

Stvorite tenzor n-dimenzije

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

Izlaz

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

Svaki tenzor je prikazan imenom tenzora. Svaki objekt tenzora definiran je atributima tenzora kao ลกto su jedinstvena oznaka (ime), dimenzija (oblik) i tipovi podataka TensorFlow (dtype).

Tenzor moลพete definirati s decimalnim vrijednostima ili s nizom promjenom vrste podataka.

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

Izlaz

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

Tenzor dimenzije 1 moลพe se kreirati na sljedeฤ‡i naฤin:

## 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)

Izlaz

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

Moลพete primijetiti da se oblik TensorFlow sastoji samo od 1 stupca.

Da biste stvorili niz od 2 dimenzije tenzora, morate zatvoriti zagrade nakon svakog retka. Pogledajte primjer oblika Kerasovog tenzora u nastavku

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

Izlaz

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

Matrica ima 2 retka i 2 stupca ispunjena vrijednostima 1, 2, 3, 4.

Matrica s 3 dimenzije se konstruira dodavanjem joลก jedne razine sa zagradama.

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

Izlaz

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

Matrica izgleda kao na slici 2.

Oblik tenzora

Kada ispisujete tenzor, TensorFlow pogaฤ‘a oblik. Meฤ‘utim, moลพete dobiti oblik tenzora sa svojstvom oblika TensorFlow.

U nastavku konstruirate matricu ispunjenu brojevima od 10 do 15 i provjerite oblik m_shape

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

Izlaz

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

Matrica ima 3 retka i 2 stupca.

TensorFlow ima korisne naredbe za stvaranje vektora ili matrice ispunjene s 0 ili 1. Na primjer, ako ลพelite stvoriti 1-D tenzor s odreฤ‘enim oblikom 10, ispunjenim s 0, moลพete pokrenuti kod u nastavku:

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

Izlaz

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

Svojstvo vrijedi i za matricu. Ovdje stvarate matricu 10ร—10 ispunjenu s 1

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

Izlaz

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

Moลพete upotrijebiti oblik zadane matrice da napravite vektor jedinica. Matrica m_shape je dimenzija 3ร—2. Moลพete stvoriti tenzor s 3 retka ispunjena jednim pomoฤ‡u sljedeฤ‡eg koda:

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

Izlaz

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

Ako prenesete vrijednost 1 u zagradu, moลพete konstruirati vektor od jedinica jednak broju stupaca u matrici m_shape.

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

Izlaz

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

Konaฤno, moลพete stvoriti matricu 3ร—2 samo s jednim

print(tf.ones(m_shape.shape))

Izlaz

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

Vrsta podataka

Drugo svojstvo tenzora je vrsta podataka. Tenzor moลพe imati samo jednu vrstu podataka u isto vrijeme. Tenzor moลพe imati samo jednu vrstu podataka. Moลพete vratiti tip sa svojstvom dtype.

print(m_shape.dtype)

Izlaz

<dtype: 'int32'>

U nekim sluฤajevima ลพelite promijeniti vrstu podataka. U TensorFlowu je to moguฤ‡e pomoฤ‡u metode tf.cast.

Primjer

U nastavku se tenzor float pretvara u cijeli broj koriลกtenjem metode 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)

Izlaz

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

TensorFlow automatski odabire vrstu podataka kada argument nije naveden tijekom stvaranja tenzora. TensorFlow ฤ‡e pogoditi koja je najvjerojatnija vrsta podataka. Na primjer, ako proslijedite tekst, on ฤ‡e pogoditi da je niz i pretvoriti ga u niz.

Izrada operatora

Neki korisni TensorFlow operatori

Znate kako stvoriti tenzor s TensorFlowom. Vrijeme je da nauฤite izvoditi matematiฤke operacije.

TensorFlow sadrลพi sve osnovne operacije. Moลพete poฤeti s jednostavnim. Koristit ฤ‡ete metodu TensorFlow za izraฤunavanje kvadrata broja. Ova operacija je jednostavna jer je za konstrukciju tenzora potreban samo jedan argument.

Kvadrat broja konstruiran je s tf.sqrt(x) s x kao pokretnim brojem.

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

Izlaz

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

Biljeลกka: Izlaz je vratio objekt tenzora, a ne rezultat kvadrata 2. U primjeru ispisujete definiciju tenzora, a ne stvarnu procjenu operacije. U sljedeฤ‡em odjeljku nauฤit ฤ‡ete kako TensorFlow radi na izvrลกavanju operacija.

Slijedi popis ฤesto koriลกtenih operacija. Ideja je ista. Svaka operacija zahtijeva jedan ili viลกe argumenata.

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

Primjer

# 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)

Izlaz

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

Code Objaลกnjenje

Napravite dva tenzora:

  • jedan tenzor s 1 i 2
  • jedan tenzor s 3 i 4

Zbrajate oba tenzora.

obavijest: da oba tenzora moraju imati isti oblik. Moลพete izvrลกiti mnoลพenje nad dva tenzora.

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

Izlaz

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

Varijable

Do sada ste kreirali samo konstantne tenzore. Nije od velike koristi. Podaci uvijek stiลพu s razliฤitim vrijednostima, da biste to uhvatili, moลพete koristiti klasu Variable. Predstavljat ฤ‡e ฤvor u kojem se vrijednosti uvijek mijenjaju.

Za izradu varijable moลพete koristiti metodu 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.

Na primjer, kod u nastavku stvara dvodimenzionalnu varijablu s dvije nasumiฤne vrijednosti. TensorFlow prema zadanim postavkama vraฤ‡a sluฤajnu vrijednost. Vi varijablu imenujete var

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

Izlaz

(1, 2)

U drugom primjeru stvarate varijablu s jednim retkom i dva stupca. Morate upotrijebiti [1,2] za stvaranje dimenzije varijable

Poฤetne vrijednosti ovog tenzora su nula. Na primjer, kada trenirate model, morate imati poฤetne vrijednosti za izraฤunavanje teลพine znaฤajki. U nastavku ove poฤetne vrijednosti postavljate na nulu.

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

Izlaz

(1, 2)

Moลพete proslijediti vrijednosti konstantnog tenzora u varijabli. Konstantni tenzor stvarate metodom tf.constant(). Ovaj tenzor koristite za inicijalizaciju varijable.

Prve vrijednosti varijable su 10, 20, 30 i 40. Novi tenzor ฤ‡e imati oblik 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)

Izlaz

(2, 2)

ฤŒinovnik

Svrha ฤuvara mjesta je da dopuni tenzor. Rezervirano mjesto se koristi za pokretanje protoka podataka unutar tenzora. Da biste unijeli rezervirano mjesto, morate koristiti metodu feed_dict. Rezervirano mjesto bit ฤ‡e uneseno samo unutar sesije.

U sljedeฤ‡em primjeru vidjet ฤ‡ete kako stvoriti rezervirano mjesto metodom tf.placeholder. U sljedeฤ‡oj ฤ‡ete sesiji nauฤiti staviti rezervirano mjesto stvarnom vrijednoลกฤ‡u tenzora.

Sintaksa je:

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)

Izlaz

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

Sjednica

TensorFlow radi oko 3 glavne komponente:

  • Grafikon
  • tenzor
  • Sjednica
Komponente Opis
Grafikon Graf je fundamentalan u TensorFlowu. Sve matematiฤke operacije (ops) izvode se unutar grafa. Moลพete zamisliti graf kao projekt u kojem se obavljaju sve operacije. ฤŒvorovi predstavljaju te operacije, mogu apsorbirati ili stvoriti nove tenzore.
tenzor Tenzor predstavlja podatke koji napreduju izmeฤ‘u operacija. Prethodno ste vidjeli kako inicijalizirati tenzor. Razlika izmeฤ‘u konstante i varijable je u tome ลกto ฤ‡e se poฤetne vrijednosti varijable mijenjati tijekom vremena.
Sjednica Sesija ฤ‡e izvrลกiti operaciju iz grafikona. Da biste graf napunili vrijednostima tenzora, morate otvoriti sesiju. Unutar sesije morate pokrenuti operator za stvaranje izlaza.

Grafikoni i sesije su neovisni. Moลพete pokrenuti sesiju i dobiti vrijednosti koje ฤ‡ete kasnije koristiti za daljnje izraฤune.

U donjem primjeru ฤ‡ete:

  • Napravite dva tenzora
  • Stvorite operaciju
  • Otvorite sesiju
  • Ispiลกite rezultat

Korak 1) Kreirate dva tenzora x i y

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

Korak 2) Operator stvarate mnoลพenjem x i y

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

Korak 3) Otvarate sesiju. Sva izraฤunavanja dogodit ฤ‡e se unutar sesije. Kada ste gotovi, trebate zatvoriti sesiju.

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

Izlaz

[8]

Code obrazloลพenje

  • tf.Session(): Otvaranje sesije. Sve ฤ‡e operacije teฤ‡i unutar sesija
  • run(multiply): izvrลกite operaciju stvorenu u koraku 2.
  • print(result_1): Konaฤno, moลพete ispisati rezultat
  • close(): Zatvori sesiju

Rezultat pokazuje 8, ลกto je mnoลพenje x i y.

Drugi naฤin stvaranja sesije je unutar bloka. Prednost je ลกto automatski zatvara sesiju.

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

Izlaz

[8]

U kontekstu sesije, moลพete koristiti metodu eval() za izvrลกenje operacije. To je ekvivalentno run(). ฤŒini kรดd ฤitljivijim.

Moลพete stvoriti sesiju i vidjeti vrijednosti unutar tenzora koje ste do sada stvorili.

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

Izlaz

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

Varijable su prema zadanim postavkama prazne, ฤak i nakon ลกto stvorite tenzor. Morate inicijalizirati varijablu ako ลพelite koristiti varijablu. Objekt tf.global_variables_initializer() treba pozvati za inicijalizaciju vrijednosti varijable. Ovaj ฤ‡e objekt eksplicitno inicijalizirati sve varijable. Ovo je korisno prije nego ลกto obuฤite model.

Moลพete provjeriti vrijednosti varijabli koje ste prije stvorili. Imajte na umu da morate koristiti run za procjenu tenzora

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

Izlaz

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

Moลพete upotrijebiti rezervirano mjesto koje ste prije stvorili i dodati mu stvarnu vrijednost. Morate proslijediti podatke u metodu feed_dict.

Na primjer, uzet ฤ‡ete snagu 2 rezerviranog mjesta data_placeholder_a.

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.

Code Objaลกnjenje

  • import numpy kao np: Import knjiลพnica numpy za stvaranje podataka
  • tf.pow(data_placeholder_a, 2): Kreirajte ops
  • np.random.rand(1, 10): Stvorite nasumiฤni niz podataka
  • feed_dict={data_placeholder_a: data}: Ubaci podatke u rezervirano mjesto

Izlaz

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

Grafikon

TensorFlow ovisi o genijalnom pristupu renderiranja operacije. Sva su izraฤunavanja predstavljena shemom tijeka podataka. Grafikon protoka podataka razvijen je kako bi se uoฤile ovisnosti podataka izmeฤ‘u pojedinaฤnih operacija. Matematiฤka formula ili algoritam sastoji se od niza uzastopnih operacija. Grafikon je prikladan naฤin za vizualizaciju naฤina na koji su proraฤuni koordinirani.

Grafikon prikazuje a ฤvor i rub. ฤŒvor je prikaz operacije, tj. jedinica izraฤuna. Rub je tenzor, moลพe proizvesti novi tenzor ili potroลกiti ulazne podatke. Ovisi o ovisnosti izmeฤ‘u pojedinih operacija.

Struktura grafa povezuje operacije (tj. ฤvorove) i naฤin na koji se te operacije dovode. Imajte na umu da grafikon ne prikazuje izlaz operacija, on samo pomaลพe vizualizirati vezu izmeฤ‘u pojedinaฤnih operacija.

Pogledajmo primjer.

Zamislite da ลพelite procijeniti sljedeฤ‡u funkciju:

Grafikon

TensorFlow ฤ‡e stvoriti grafikon za izvrลกenje funkcije. Grafikon izgleda ovako:

Primjer TensorFlow grafikona

Primjer TensorFlow grafikona

Lako moลพete vidjeti put kojim ฤ‡e tenzori doฤ‡i do konaฤnog odrediลกta.

Na primjer, moลพete vidjeti da se operacija add ne moลพe izvrลกiti prije i . Grafikon objaลกnjava da ฤ‡e:

  1. izraฤunati i:
  2. dodati 1) zajedno
  3. dodaj u 2)
  4. dodati 3) na
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

Code Objaลกnjenje

  • x: Inicijalizirajte varijablu pod nazivom x s konstantnom vrijednoลกฤ‡u 5
  • z: Inicijalizirajte varijablu nazvanu z konstantnom vrijednoลกฤ‡u 6
  • c: Inicijalizirajte konstantni tenzor nazvan c konstantnom vrijednoลกฤ‡u 5
  • kvadrat: Inicijalizirajte konstantni tenzor koji se zove kvadrat s konstantnom vrijednoลกฤ‡u 2
  • f: Konstruirajte operator

U ovom primjeru odluฤili smo zadrลพati vrijednosti varijabli fiksnima. Takoฤ‘er smo stvorili konstantni tenzor nazvan c koji je konstantni parametar u funkciji f. Zauzima fiksnu vrijednost 5. Na grafikonu moลพete vidjeti ovaj parametar u tenzoru koji se naziva konstanta.

Takoฤ‘er smo konstruirali konstantni tenzor za potenciju u operatoru tf.pow(). Nije potrebno. Napravili smo to tako da moลพete vidjeti naziv tenzora na grafu. To je krug koji se zove kvadrat.

Iz grafikona moลพete razumjeti ลกto ฤ‡e se dogoditi s tenzorima i kako mogu vratiti rezultat od 66.

Kod u nastavku procjenjuje funkciju u sesiji.

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)

Izlaz

[66]

Rezime

TensorFlow radi oko:

  • Grafikon: Raฤunalno okruลพenje koje sadrลพi operacije i tenzore
  • Tenzori: Predstavlja podatke (ili vrijednosti) koji ฤ‡e teฤ‡i u grafikonu. To je rub u grafikonu
  • sjednice: Dopusti izvoฤ‘enje operacija

Napravite konstantni tenzor

konstanta objekt
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)

Stvorite operator

Stvorite operator Objekt
a + b tf.add(a, b)
a*b tf.multiply(a, b)

Napravite varijabilni tenzor

Stvorite varijablu objekt
sluฤajna vrijednost tf.get_variable(โ€œvarโ€, [1, 2])
poฤetna prva vrijednost tf.get_variable(โ€œvar_init_2โ€, dtype=tf.int32, initializer=[ [1, 2], [3, 4] ])

Otvorite sesiju

Sjednica objekt
Stvorite sesiju tf.Session()
Pokrenite sesiju tf.Session.run()
Procijenite tenzor naziv_varijable.eval()
Zatvorite sesiju sess.close()
Sesija po bloku s tf.Session() kao sess:

Saลพmite ovu objavu uz: