„TensorFlow“ pagrindai: „Tensor“, „Forma“, „Tipas“, „Sesijos“ ir kt. Operatoriai

Kas yra „Tensor“?

„Tensorflow“ vardas tiesiogiai kilęs iš jo pagrindinės sistemos: „Tensor“. Programoje „Tensorflow“ visi skaičiavimai apima tensorius. Tensorius yra n matmenų vektorius arba matrica, vaizduojanti visų tipų duomenis. Visos tensoriaus reikšmės turi identišką duomenų tipą su žinoma (arba iš dalies žinoma) forma. Duomenų forma yra matricos ar masyvo matmenys.

Tensorius gali būti gaunamas iš įvesties duomenų arba skaičiavimo rezultato. „TensorFlow“ programoje visos operacijos atliekamos grafiko viduje. Grafikas yra skaičiavimo rinkinys, kuris vyksta nuosekliai. Kiekviena operacija vadinama op mazgu ir yra sujungtos viena su kita.

Grafike pateikiamos operacijos ir jungtys tarp mazgų. Tačiau vertės nerodomos. Mazgų kraštas yra tensorius, ty būdas užpildyti operaciją duomenimis.

„Machine Learning“ modeliuose pateikiami objektų, vadinamų funkcijų vektoriais, sąrašas. Funkcijos vektorius gali būti bet kokio tipo duomenų. Funkcijos vektorius paprastai bus pagrindinis įvestis tenorui užpildyti. Šios vertės pateks į op mazgą per tenzorą, o šios operacijos / skaičiavimo rezultatas sukurs naują tenzorą, kuris savo ruožtu bus naudojamas naujoje operacijoje. Visas šias operacijas galima peržiūrėti diagramoje.

Šioje pamokoje sužinosite „TensorFlow“ pagrindus, kaip

  • Kas yra „Tensor“?
  • Atstovavimas tenzorui
  • Tensoriaus tipai
  • Sukurkite n dimensijos tenzorių
  • Tensoriaus forma
  • Duomenų tipas
  • Kuriantis operatorius
  • Kai kurie naudingi „TensorFlow“ operatoriai
  • Kintamieji
  • Vietos ženklas
  • Sesija
  • Grafikas

Atstovavimas tenzorui

TensorFlow programoje tensorius yra n matmenų ypatybių vektorių (ty masyvo) rinkinys. Pavyzdžiui, jei turime 2x3 matricą, kurios vertės yra nuo 1 iki 6, mes rašome:

Atstovavimas tenzorui

„TensorFlow“ vaizduoja šią matricą kaip:

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

Jei sukursime trimatę matricą, kurios vertės yra nuo 1 iki 8, turime:

„TensorFlow“ vaizduoja šią matricą kaip:

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

Pastaba: Tensorius gali būti pavaizduotas skaliaru arba jo forma gali būti daugiau nei trijų matmenų. Vizualizuoti aukštesnį matmenų lygį yra paprasčiau.

Tensoriaus tipai

„TensorFlow“ programoje visi skaičiavimai praeina per vieną ar daugiau tenzorių. Tf.tensor yra objektas, turintis tris savybes:

  • Unikali etiketė (vardas)
  • Matmuo (forma)
  • Duomenų tipas (dtype)

Kiekviena operacija, kurią atliksite naudodami „TensorFlow“, apima manipuliavimą tenzoriumi. Yra keturi pagrindiniai tenzoriaus tipai, kuriuos galite sukurti:

  • tf.Kintamas
  • tf.pastovus
  • tf.placeholder
  • tf.SparseTensor

Šioje pamokoje sužinosite, kaip sukurti tf.constant ir tf.Kintamąjį.

Prieš pereidami pamoką, įsitikinkite, kad suaktyvinote „conda“ aplinką naudodami „TensorFlow“. Šią aplinką pavadinome labas-tf.

„MacOS“ vartotojui:

source activate hello-tf 

„Windows“ vartotojui:

activate hello-tf 

Tai padarę, būsite pasirengę importuoti tensorflow

# Import tfimport tensorflow as tf 

Sukurkite n dimensijos tenzorių

Pradėsite nuo vienos dimensijos, būtent skaliariaus, sukūrimo.

Norėdami sukurti tensorių, galite naudoti tf.constant (), kaip parodyta toliau pateiktame „TensorFlow“ tensoriaus formos pavyzdyje:

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` 

Norėdami sukurti 0 matmens tenzorą, paleiskite šį kodą

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

Rezultatas

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

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

Rezultatas

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

Kiekvienas tensorius rodomas pagal tensoriaus pavadinimą. Kiekvienas tensoriaus objektas apibrėžiamas naudojant tensoriaus atributus, tokius kaip unikali etiketė (pavadinimas), aspektas (forma) ir „TensorFlow“ duomenų tipai (dtype).

Tensorių galite apibrėžti su dešimtainėmis reikšmėmis arba su eilute, pakeisdami duomenų tipą.

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

Rezultatas

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

1 matmens tenzorą galima sukurti taip:

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

Rezultatas

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

Galite pastebėti, kad „TensorFlow“ formą sudaro tik 1 stulpelis.

Norėdami sukurti 2 tenzoriaus matmenų masyvą, po kiekvienos eilutės turite uždaryti skliaustus. Patikrinkite toliau pateiktą „Keras Tensor“ formos pavyzdį

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

Rezultatas

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

Matricoje yra 2 eilutės ir 2 stulpeliai, užpildyti 1, 2, 3, 4 reikšmėmis.

Matrica su 3 matmenimis yra sukonstruota pridėjus dar vieną lygį su skliaustais.

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

Rezultatas

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

Matrica atrodo kaip paveikslėlis du.

Tensoriaus forma

Kai spausdinate tensorių, „TensorFlow“ atspėja formą. Tensoriaus formą galite gauti naudodami „TensorFlow“ formos savybę.

Žemiau sukursite matricą, užpildytą skaičiumi nuo 10 iki 15, ir patikrinsite m_shape formą

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

Rezultatas

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

Matricoje yra 3 eilutės ir 2 stulpeliai.

„TensorFlow“ turi naudingų komandų, kad būtų sukurtas vektorius arba matrica, užpildyta 0 arba 1. Pavyzdžiui, jei norite sukurti 1-D tensorių su konkrečia 10 formos forma, užpildytą 0, galite paleisti žemiau esantį kodą:

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

Rezultatas

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

Turtas tinka ir matricai. Čia sukuriate 10x10 matricą, užpildytą 1

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

Rezultatas

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

Norėdami naudoti vektorių iš jų, galite naudoti duotos matricos formą. Matrica m_shape yra 3x2 matmenys. Galite sukurti tensorių su 3 eilutėmis, užpildytomis tokiu kodu:

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

Rezultatas

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

Jei perteiksite 1 reikšmę į skliaustą, galite sukonstruoti vektorių, lygų matricos m_shape stulpelių skaičiui.

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

Rezultatas

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

Galiausiai galite sukurti matricą 3x2 tik su viena

print(tf.ones(m_shape.shape)) 

Rezultatas

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

Duomenų tipas

Antroji tenzoriaus savybė yra duomenų tipas. Tensorius vienu metu gali turėti tik vieno tipo duomenis. Tensorius gali turėti tik vieno tipo duomenis. Galite grąžinti tipą naudodami ypatybę dtype.

print(m_shape.dtype) 

Rezultatas

 

Kai kuriais atvejais norite pakeisti duomenų tipą. „TensorFlow“ tai įmanoma naudojant „tf.cast“ metodą.

Pavyzdys

Žemiau, plūduriuojantis tensorius konvertuojamas į sveiką skaičių, naudojant metodo metodą.

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

Rezultatas


 

„TensorFlow“ pasirenka duomenų tipą automatiškai, kai kuriant tenzorą nenurodomas argumentas. „TensorFlow“ atspės, kokios duomenų rūšys yra labiausiai tikėtinos. Pavyzdžiui, jei perduodate tekstą, jis atspės, kad tai yra eilutė, ir pavers jį eilute.

Kuriantis operatorius

Kai kurie naudingi „TensorFlow“ operatoriai

Jūs žinote, kaip sukurti „TensorFlow“ tensorių. Atėjo laikas išmokti atlikti matematines operacijas.

„TensorFlow“ yra visos pagrindinės operacijos. Galite pradėti nuo paprasto. Skaičiaus kvadratui apskaičiuoti naudosite „TensorFlow“ metodą. Ši operacija yra nesudėtinga, nes tenzorui sukurti reikalingas tik vienas argumentas.

Skaičiaus kvadratas sudaromas iš tf.sqrt (x), o x yra plaukiojantis skaičius.

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

Rezultatas

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

Pastaba: Išvestis grąžino tensoriaus objektą, o ne kvadrato 2 rezultatą. Pavyzdyje spausdinate tensoriaus apibrėžimą, o ne faktinį operacijos įvertinimą. Kitame skyriuje sužinosite, kaip „TensorFlow“ veikia vykdant operacijas.

Toliau pateikiamas dažniausiai naudojamų operacijų sąrašas. Idėja ta pati. Kiekvienai operacijai reikalingas vienas ar keli argumentai.

  • tf.add (a, b)
  • tf. santrauka (a, b)
  • tf. dauginti (a, b)
  • tf.div (a, b)
  • tf.pow (a, b)
  • tf.exp (a)
  • tf.sqrt (a)

Pavyzdys

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

Rezultatas

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

Kodo paaiškinimas

Sukurkite du tenzorus:

  • vienas tensorius su 1 ir 2
  • vienas tenzorius su 3 ir 4

Sumuojate abu tenzorus.

Pastaba : kad abu tenzorai turi būti vienodos formos. Galite atlikti dviejų tenzorų dauginimą.

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

Rezultatas

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

Kintamieji

Iki šiol jūs sukūrėte tik nuolatinius tensorius. Tai nėra labai naudinga. Duomenys visada gaunami su skirtingomis reikšmėmis. Norėdami tai užfiksuoti, galite naudoti kintamųjų klasę. Tai bus mazgas, kuriame reikšmės visada keičiasi.

Norėdami sukurti kintamąjį, galite naudoti metodą 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. OptionalIf initializer is specified, there is no need to include the `values` as the shape of `initializer` is used. 

Pvz., Žemiau pateiktas kodas sukuria dvimatį kintamąjį su dviem atsitiktinėmis reikšmėmis. Pagal numatytuosius nustatymus „TensorFlow“ pateikia atsitiktinę vertę. Pavadinate kintamąjį var

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

Rezultatas

(1, 2) 

Antrame pavyzdyje sukuriate kintamąjį su viena eilute ir dviem stulpeliais. Norėdami sukurti kintamojo aspektą, turite naudoti [1,2]

Šio tenzoriaus inicialų reikšmės yra lygios nuliui. Pavyzdžiui, mokydami modelį, turite turėti pradines vertes, kad galėtumėte apskaičiuoti funkcijų svorį. Žemiau jūs nustatote šią pradinę vertę į nulį.

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

Rezultatas

(1, 2) 

Kintamajame galite perduoti pastovaus tensoriaus reikšmes. Sukuriate pastovų tensorių metodu tf.constant (). Kintamojo inicializavimui naudojate šį tensorių.

Pirmosios kintamojo reikšmės yra 10, 20, 30 ir 40. Naujo tensoriaus forma bus 2x2.

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

Rezultatas

(2, 2) 

Vietos ženklas

Vietos ženklas skirtas maitinti tenzorių. Vietos ženklas naudojamas norint inicijuoti duomenis, kurie teka tenzorų viduje. Norėdami pateikti vietos rezervavimo ženklą, turite naudoti metodą feed_dict. Vietos ženklas bus tiekiamas tik per seansą.

Kitame pavyzdyje pamatysite, kaip sukurti vietos rezervavimo priemonę metodu tf.placeholder. Kitame užsiėmime išmoksite maitinti vietos rezervavimo ženklą su faktine tenzoriaus verte.

Sintaksė yra:

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. Optionaldata_placeholder_a = tf.placeholder(tf.float32, name = "data_placeholder_a")print(data_placeholder_a) 

Rezultatas

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

Sesija

„TensorFlow“ veikia aplink 3 pagrindinius komponentus:

  • Grafikas
  • Tensorius
  • Sesija
Komponentai Aprašymas

Grafikas

Grafikas yra pagrindinis „TensorFlow“. Visos matematinės operacijos (operacijos) atliekamos grafiko viduje. Grafiką galite įsivaizduoti kaip projektą, kuriame atliekamos visos operacijos. Mazgai atspindi šias operacijas, jie gali sugerti arba sukurti naujus tensorius.

Tensorius

Tensorius nurodo duomenis, kurie vyksta tarp operacijų. Anksčiau matėte, kaip inicijuoti tenzorių. Skirtumas tarp konstantos ir kintamojo yra tai, kad pradinės kintamojo vertės laikui bėgant pasikeis.

Sesija

Seansas atliks operaciją iš diagramos. Norėdami pateikti diagramą su tenzoriaus reikšmėmis, turite atidaryti sesiją. Seanso metu turite paleisti operatorių, kad sukurtumėte išvestį.

Grafikai ir sesijos yra nepriklausomos. Galite paleisti seansą ir gauti reikšmes, kurios bus naudojamos vėliau skaičiuojant.

Toliau pateiktame pavyzdyje:

  • Sukurkite du tenzorus
  • Sukurkite operaciją
  • Atidarykite sesiją
  • Atspausdinkite rezultatą

1 žingsnis) Sukuriate du tensorius x ir y

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

2 žingsnis) Jūs sukuriate operatorių padauginę x ir y

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

3 žingsnis) Atidarote sesiją. Visi skaičiavimai bus atliekami sesijos metu. Kai baigsite, turite uždaryti sesiją.

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

Rezultatas

[8] 

Kodo paaiškinimas

  • tf.Session (): atidarykite sesiją. Visos operacijos vyks per sesijas
  • paleisti (dauginti): atlikite 2 veiksme sukurtą operaciją.
  • spausdinti (rezultatas_1): Galiausiai galite atspausdinti rezultatą
  • uždaryti (): uždaryti sesiją

Rezultatas rodo 8, tai yra x ir y padauginimas.

Kitas būdas sukurti sesiją yra bloko viduje. Privalumas yra tai, kad ji automatiškai uždaro sesiją.

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

Rezultatas

[8] 

Seanso kontekste operacijai atlikti galite naudoti metodą eval (). Tai tolygu bėgimui (). Tai daro kodą lengviau skaitomą.

Galite sukurti seansą ir pamatyti iki šiol sukurtų tenzorų vertes.

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

Rezultatas

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

Pagal numatytuosius nustatymus kintamieji yra tušti, net ir sukūrus tenzorą. Jei norite naudoti kintamąjį, turite inicijuoti kintamąjį. Norint inicijuoti kintamojo reikšmes, reikia iškviesti objektą tf.global_variables_initializer (). Šis objektas aiškiai inicijuos visus kintamuosius. Tai naudinga prieš treniruojant modelį.

Galite patikrinti anksčiau sukurtų kintamųjų reikšmes. Atminkite, kad norint įvertinti tensorių reikia naudoti „run“

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

Rezultatas

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

Galite naudoti anksčiau sukurtą vietos rezervavimo ženklą ir tiekti faktine verte. Duomenis turite perduoti į metodą feed_dict.

Pvz., Pasinaudosite 2 iš rezervavimo vietos duomenų_placeholder_a galia.

import numpy as nppower_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. 

Kodo paaiškinimas

  • import numpy as np: Importuokite numpy biblioteką, kad sukurtumėte duomenis
  • tf.pow (data_placeholder_a, 2): sukurkite op
  • np.random.rand (1, 10): sukurkite atsitiktinį duomenų masyvą
  • feed_dict = {data_placeholder_a: data}: pateikite vietos rezervavimo ženklą duomenimis

Rezultatas

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

Grafikas

„TensorFlow“ priklauso nuo genialaus požiūrio, kaip atlikti operaciją. Visi skaičiavimai pateikiami naudojant duomenų srauto schemą. Duomenų srauto grafikas buvo sukurtas siekiant nustatyti duomenų priklausomybę tarp atskirų operacijų. Matematinė formulė arba algoritmas sudaromi iš daugybės vienas po kito einančių operacijų. Grafikas yra patogus būdas vaizduoti, kaip skaičiavimai derinami.

Grafike parodytas mazgas ir kraštas . Mazgas yra operacijos, ty skaičiavimo vieneto, atvaizdas. Briauna yra tensorius, jis gali sukurti naują tensorių arba sunaudoti įvesties duomenis. Tai priklauso nuo atskirų operacijų priklausomybės.

Grafiko struktūra sujungia operacijas (ty mazgus) ir tai, kaip atliekamos operacijos. Atkreipkite dėmesį, kad diagramoje nerodoma operacijų išvestis, ji tik padeda vizualizuoti ryšį tarp atskirų operacijų.

Pažiūrėkime pavyzdį.

Įsivaizduokite, kad norite įvertinti šią funkciją:

„TensorFlow“ sukurs grafiką funkcijai vykdyti. Grafikas atrodo taip:

„TensorFlow Graph“ pavyzdys

Galite lengvai pamatyti kelią, kuriuo tenzorai eis, kad pasiektų galutinį tikslą.

Pavyzdžiui, matote, kad operacijos pridėti negalima atlikti prieš ir. Grafike paaiškinta, kad:

  1. apskaičiuoti ir:
  2. pridėti 1) kartu
  3. pridėti prie 2)
  4. pridėti 3) prie
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 

Kodo paaiškinimas

  • x: inicijuokite kintamąjį, vadinamą x, su pastovia verte 5
  • z: inicijuokite kintamąjį, vadinamą z, su pastovia verte 6
  • c: inicijuokite pastovų tensorių, vadinamą c, pastovia verte 5
  • kvadratas: inicijuokite pastovų tensorių, vadinamą kvadratu, kurio pastovi vertė yra 2
  • f: sukonstruokite operatorių

Šiame pavyzdyje mes pasirenkame, kad kintamųjų reikšmės būtų fiksuotos. Mes taip pat sukūrėme pastovų tensorių, vadinamą c, kuris yra pastovus parametras funkcijoje f. Tam reikia fiksuotos vertės 5. Grafike galite pamatyti šį parametrą tenzore, vadinamame konstanta.

Mes taip pat sukonstravome pastovų įtampą operatoriaus tf.pow () galiai. Tai nebūtina. Mes tai padarėme, kad diagramoje matytumėte tenzoriaus vardą. Tai apskritimas, vadinamas kvadratu.

Iš diagramos galite suprasti, kas nutiks tenzorams ir kaip tai gali grąžinti 66 išvestį.

Žemiau pateiktas kodas įvertina sesijos funkciją.

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

Rezultatas

[66] 

Santrauka

„TensorFlow“ veikia aplink:

  • Grafikas : skaičiavimo aplinka, kurioje yra operacijos ir tenzorai
  • Tensoriai : pateikia duomenis (arba vertes), kurie tekės diagramoje. Tai grafiko kraštas
  • Seansai : leiskite atlikti operacijas

Sukurkite nuolatinį tensorių

pastovus objektas

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)

Sukurkite operatorių

Sukurkite operatorių Objektas

a + b

tf.add (a, b)

a * b

tf. dauginti (a, b)

Sukurkite kintamąjį tensorių

Sukurkite kintamąjį

objektas

atsitiktinių imčių vertė

tf.get_variable ("var", [1, 2])

inicijuojama pirmoji reikšmė

tf.get_variable ("var_init_2", dtype = tf.int32, inicializatorius = [[1, 2], [3, 4]])

Atidarykite sesiją

Sesija objektas

Sukurkite sesiją

TF sesija ()

Vykdyti sesiją

tf.Session.run ()

Įvertinkite tenzorą

kintamas_vardas.eval ()

Uždarykite sesiją

sess.close ()

Seansas pagal bloką

su tf.Session () kaip sess:

Įdomios straipsniai...