Izdaja sistema strojnega učenja TensorFlow 2.0

Predložil pomembna izdaja platforme za strojno učenje TensorFlow 2.0, ki ponuja že pripravljene implementacije različnih algoritmov za globoko strojno učenje, preprost programski vmesnik za gradnjo modelov v Pythonu in nizkonivojski vmesnik za jezik C++, ki omogoča nadzor nad konstrukcijo in izvajanjem računskih grafov. Sistemska koda je napisana v C++ in Python ter distributer pod licenco Apache.

Platformo je prvotno razvila ekipa Google Brain in se uporablja v Googlovih storitvah za prepoznavanje govora, prepoznavanje obrazov na fotografijah, ugotavljanje podobnosti slik, filtriranje neželene pošte v Gmailu, izbor novice v Google News in organiziranje prevajanja ob upoštevanju pomena. Sisteme porazdeljenega strojnega učenja je mogoče ustvariti na standardni strojni opremi, zahvaljujoč vgrajeni podpori TensorFlow za distribucijo izračunov v več CPE ali GPE.

TensorFlow ponuja knjižnico že pripravljenih numeričnih algoritmov za izračun, ki se izvajajo prek grafov pretoka podatkov. Vozlišča v takih grafih izvajajo matematične operacije ali vhodne/izhodne točke, medtem ko robovi grafa predstavljajo večdimenzionalne podatkovne nize (tenzorje), ki tečejo med vozlišči.
Vozlišča se lahko dodelijo računalniškim napravam in izvajajo asinhrono, hkrati pa obdelujejo vse zanje primerne tezorje hkrati, kar omogoča organizacijo hkratnega delovanja vozlišč v nevronski mreži po analogiji s hkratno aktivacijo nevronov v možganih.

Glavni poudarek pri pripravi nove različice je bil na poenostavitvi in ​​enostavni uporabi. nekaj inovacije:

  • Za gradnjo in usposabljanje modelov je bil predlagan nov API na visoki ravni Keras, ki ponuja več možnosti vmesnika za gradnjo modelov (zaporedni, funkcionalni, podrazred) z možnostjo takojšnja izvedba (brez predprevajanja) in s preprostim mehanizmom za odpravljanje napak;
  • Dodan API tf.distribute.Strategy za organizacijo porazdeljeno učenje modeli z minimalnimi spremembami obstoječe kode. Poleg možnosti širjenja izračunov po več grafičnih procesorjev, na voljo je eksperimentalna podpora za razdelitev učnega procesa na več neodvisnih procesorjev in možnost uporabe oblaka TPU (Tenzor procesna enota);
  • Namesto deklarativnega modela konstruiranja grafa z izvajanjem prek tf.Session je mogoče v Pythonu napisati običajne funkcije, ki jih je mogoče s klicem tf.function pretvoriti v grafe in nato na daljavo izvesti, serializirati ali optimizirati za izboljšano delovanje;
  • Dodan prevajalec AutoGraph, ki pretvori tok ukazov Python v izraze TensorFlow, kar omogoča uporabo kode Python znotraj funkcij tf.function-decorated, tf.data, tf.distribute in tf.keras;
  • SavedModel poenoti obliko izmenjave modela in dodaja podporo za shranjevanje in obnavljanje stanj modela. Modele, prevedene za TensorFlow, je zdaj mogoče uporabiti v TensorFlow Lite (na mobilnih napravah), TensorFlow JS (v brskalniku ali Node.js), Odstranjevanje TensorFlow и Središče TensorFlow;
  • API-ja tf.train.Optimizers in tf.keras.Optimizers sta bila poenotena; namesto compute_gradients je bil predlagan nov razred za izračun gradientov Gradient Tape;
  • Znatno povečana zmogljivost pri uporabi GPE.
    Hitrost usposabljanja modela na sistemih z grafičnima procesorjema NVIDIA Volta in Turing se je povečala do trikrat;

  • Izvede Večje čiščenje API-ja, številni klici so preimenovani ali odstranjeni, podpora za globalne spremenljivke v pomožnih metodah je ustavljena. Namesto tf.app, tf.flags, tf.logging je predlagan nov API absl-py. Za nadaljnjo uporabo starega API-ja je bil pripravljen modul compat.v1.

Vir: opennet.ru

Dodaj komentar