Osnove Tensorflowa - Kaj je zdravilo Tensorflow? - Namestitev Tensorflowa

Kazalo:

Anonim

Uvod v Tensorflow

Tensorflow je odprtokodna programska oprema in knjižnica. Razvila ga je Googlova skupina za možgane, ki jo je zgradila raziskovalna skupina za umetno inteligenco na Googlu 2010. Google jo je uporabljal za notranjo uporabo, potem ko je izšla pod Apache2.0 Open source - 2015. V tej temi gremo spoznajte osnove Tensorflowa.

Tensorflow je sistem druge generacije možganov Google. Različica 1 je izšla 11. februarja 2017. Tensorflow 1.0 je zdaj imel Python API in API za java, jezik GO pa je bil dodan tudi različici 1.0. Tensorflow operacije nevronske mreže izvajajo na večdimenzionalnem nizu podatkov, ki se imenuje tenzor. Deluje s Tensorji. Je knjižnica programske opreme za poglobljeno učenje in v glavnem deluje za numerično računanje z uporabo grafov pretoka podatkov.

Kaj so osnove Tensorflowa?

Tenzorji so predmeti, ki opisujejo linearno razmerje med vektorji, skalarji in drugimi tenzorji. Tenzorji niso nič drugega kot večdimenzionalni nizi.

Tensorflow ponuja podporo za pisanje kode glede na vaše zahteve in dostop do različnih vrst orodij. Lahko pišemo kodo C ++ in lahko pokličemo kodo C ++ s pythona. Lahko pa napišemo python kodo in jo pokličemo s C ++.

Glej zgornjo sliko, najnižja plast, ki podpira dva jezika, je najprej jezik Python in drugi jezik C ++. Lahko ga napišete v katerem koli jeziku v območju udobja. Ima zbirko različnih matematičnih knjižnic, ki pomagajo pri enostavno ustvarjanju matematičnih funkcij.

Ponuja tudi podporo za obdelavo, kot so CPU, GPU, TPU in deluje tudi na androidnih mobilnih napravah.

Tf.layers : - tf.layers se uporablja za izvleček metode, tako da lahko prilagodite plasti nevronskih mrež.

Tf.estimator : - najpogosteje uporabljen API v tensorflowu je tf.estimator. Pomaga pri ustvarjanju in usposabljanju, preizkusu svojega modela.

Namestitev Tensorflowa

  • Najprej preverite svojo različico pip, če ni najnovejša, nato zaženite naslednji ukaz za nadgradnjo pipa

pip install - nadgradnja pip

  • Zaženite spodnjo kodo, da namestite enostavnejšo različico Tensorflowa

pip namestite tensorflow / conda namestite tensorflow (Anaconda)

  • To bo namestilo Tensorflow s konfiguracijami, ki jih podpira gpu.

pip namestite Tensorflow-gpu

Primer tf.estimatorja za uporabo klasifikatorja s tremi vrsticami kode

Import tensorflow as tf
classifier = tf.estimator.LinearClassifier(feature_columns)
classifier.train(input_fn=train_input_function, steps=2000)
predictions = classifier.predict(input_fn=predict_input_function)

Osnovni tipi podatkov Tensorflow

Osnovni tipi podatkov v okviru Tensorflow (tenzorji)

Spodaj je prikazana vsaka dimenzija tenzorjev.

  • Skalarno - O dimenzijski niz
  • Vektor - 1 dimenzijski niz
  • Matrica - 2 dimenzijski niz
  • 3D tenzor - 3 dimenzijski niz
  • N - D Tensor - N-dimenzionalni niz

Stalni tenzorji

Spremenljivke

tf.Variable class za ustvarjanje spremenljivke v tensorflow in klicanje funkcije tf.get_variable

Inicializacija spremenljivk

Za inicializacijo spremenljivk lahko s klicem tf.global_variables_initializer inicializiramo vse spremenljivke.

Preprost primer spremenljivega in matematičnega izraza

Običajna pot

a = 3, 0, b = 8 * a +10

Tensorflov način

c = tf.Variable (tf.add (tf.multiply (X, a), b)

Grafikoni

Vsaka vrstica naše kode, napisana v tensorflowu, se pretvori v osnovni grafikon

Primer:

  • Vozlišča: Predstavlja matematične operacije.
  • Robovi: predstavlja večdimenzionalni niz (tenzorji) in prikazuje, kako komunicirajo med njimi.

Tensorflow 2.0

  • V drugi različici Tensorflow so se osredotočili na poenostavitev in enostavnost uporabe API-ja.
  • Sestavni deli API se bolje integrirajo s Kerasom, privzeto je aktiviran željni način izvedbe.
  • Način Eager: Eager izvedba je zagnani vmesnik, v katerem se operacije izvajajo takoj, ko jih imenujemo iz Pythona.
  • Lahko namesto grafičnega načina uporabimo željni način. Izračunamo lahko tisto, kar potrebujemo za izračun in takoj dobimo rezultate. Tako bo Tensorflow tako enostaven kot Pytorch
  • Osredotočenost na odstranitev API-jev za podvajanje.

Keras

  • Tensorflow ponuja API na visoki ravni za gradnjo in usposabljanje modelov globokega učenja. To ni bilo vključeno v tensorflow, v zadnji izdaji pa je bil Keras vključen v Tensorflow 2.0.
  • Uporabnikom prijazen: Keras nudi preprost, dosleden vmesnik za primere, ki so pogosti za uporabo.
  • Modularni in sestavljivi: Kerasovi modeli so izdelani tako, da med seboj povežejo gradnike.
  • Enostaven za razširitev: ustvarite ali posodobite nove plasti, meritve, funkcije izgube
  • Za uporabo modelov Keras uporabite tf.keras.

Tensorflow Lite

  • Leta 2017 je Google napovedal programsko opremo, ki je narejena posebej za razvoj mobilnih telefonov, Tensorflow Lite.
  • Tensorflow Lite (TFLite) je lahka rešitev za sklepanje o mobilnih napravah.
  • Uporabljamo ga lahko tudi za IOS in Android, tako da ustvarimo C ++ API, prav tako pa lahko tudi Java ovijalni razred za razvijalce Android.

Seznam algoritma, ki ga podpira Tensorflow

1. Za regresijo

  • Linearna regresija (tf.estimator. Linearna regresija)
  • Regresija ojačevalnega drevesa (tf.estimator. Povišano regresor drevesa)

2. Za razvrstitev

  • Razvrstitev (tf.estimator. Linear Classifier)
  • Kombinirano poglobljeno učenje (tf.estimator. DNNLinearCombinedClassifier)
  • Povišani klasifikator dreves (tf.estimator. Povišani klasifikator dreves)

Značilnosti Tensorflowa

  • Tensorflow učinkovito deluje z različnimi vrstami matematičnih izrazov, ki vključujejo večdimenzionalne matrike (tenzorji)
  • Ponuja tudi podporo za nevronske mreže globokega učenja in druge koncepte strojnega učenja.
  • Tensorflow lahko deluje na več CPU-jev in GPU-jev.
  • Zagotavlja tudi lastno procesno moč, ki je tenzorska procesna enota.

Napetostna procesna enota (TPU)

  • Google je svojo Tensorjevo procesno enoto (TPU) objavil v posebnem aplikacijskem integriranem vezju (Hardware Chip), zgrajenem posebej za strojno učenje in prilagojenemu Tensorflowu.
  • Leta 2017 je Google napovedal drugo različico Tensorflowa ter razpoložljivost TPU-jev v google oblaku.
  • TPU je programirljiv AI pospeševalnik in zgrajen za uporabo ali delovanje modelov. Google upravlja svoje TPU v svojih podatkovnih centrih več kot eno leto.

Rob TPU

  • Edge TPU je čip, ki googles, izdelan za zasnovane in zagnane modele strojnega učenja Tensorflow Lite (ML), ki delujejo na majhnih računalniških napravah, kot so pametni telefoni.
  • Visoka skalabilnost za računanje ogromnih nizov podatkov
  • Prav tako lahko trenira in služi modele v živo modelu. Prepisovanje kode mi ni potrebno

Zaključek - Osnove Tensorflowa

Tensorflow je zelo pogosto uporabljena knjižnica globokega učenja. To se večinoma uporablja pri ustvarjanju nevronskih mrež, ki jih uporabljajo tudi zagonska podjetja, velika podjetja.

Kot smo že omenili, Google tudi za svoj notranji namen uporablja tensorflow, ki se še vedno uporablja v večinoma vseh izdelkih, kot sta Gmail in google iskalnik.

Priporočeni članki

To je vodnik za Tensorflow osnove. Tukaj razpravljamo o namestitvi Tensorflowa s funkcijami in seznamom algoritma, ki ga Tensorflow podpira. Če želite izvedeti več, si oglejte tudi naslednji članek -

  1. Kaj je TensorFlow?
  2. TensorFlow alternative
  3. Uvod v Tensorflow
  4. Kako namestiti TensorFlow
  5. Vrste podatkov C ++