Izdanje sistema mašinskog učenja TensorFlow 2.0

Poslao značajno izdanje platforme za mašinsko učenje TensorFlow 2.0, koji pruža gotove implementacije različitih algoritama dubokog mašinskog učenja, jednostavan programski interfejs za izgradnju modela u Python-u i interfejs niskog nivoa za jezik C++ koji vam omogućava da kontrolišete konstrukciju i izvršavanje računarskih grafova. Sistemski kod je napisan u C++ i Python i distribuira pod Apache licencom.

Platformu je prvobitno razvio tim Google Brain i koristi se u Google servisima za prepoznavanje govora, identifikaciju lica na fotografijama, određivanje sličnosti slika, filtriranje neželjene pošte u Gmailu, izbor vijesti u Google News-u i organiziranje prijevoda uzimajući u obzir značenje. Distribuirani sistemi mašinskog učenja mogu se kreirati na standardnom hardveru, zahvaljujući TensorFlow-ovoj ugrađenoj podršci za distribuciju kalkulacija na više CPU-a ili GPU-a.

TensorFlow pruža biblioteku gotovih algoritama numeričkog proračuna implementiranih kroz grafove toka podataka. Čvorovi u takvim grafovima implementiraju matematičke operacije ili ulazne/izlazne tačke, dok ivice grafa predstavljaju višedimenzionalne nizove podataka (tenzore) koji teku između čvorova.
Čvorovi se mogu dodijeliti računarskim uređajima i izvršavati asinhrono, istovremeno obrađujući sve tezore koji su im prikladni odjednom, što omogućava organiziranje istovremenog rada čvorova u neuronskoj mreži po analogiji s istovremenom aktivacijom neurona u mozgu.

Glavni fokus u pripremi nove verzije bio je na pojednostavljenju i jednostavnosti korištenja. Neke inovacije:

  • Predložen je novi API visokog nivoa za izgradnju i obuku modela Keras, koji pruža nekoliko opcija interfejsa za izgradnju modela (sekvencijski, funkcionalni, podklasični) sa mogućnošću hitna implementacija (bez predkompilacije) i sa jednostavnim mehanizmom za otklanjanje grešaka;
  • Dodan API tf.distribute.Strategy organizovati distribuirano učenje modeli s minimalnim promjenama postojećeg koda. Pored mogućnosti širenja proračuna preko više GPU-ova, dostupna je eksperimentalna podrška za podjelu procesa učenja na nekoliko nezavisnih procesora i mogućnost korištenja oblaka TPU (Tenzor procesorska jedinica);
  • Umjesto deklarativnog modela konstruiranja grafa sa izvršavanjem kroz tf.Session, moguće je pisati obične funkcije u Pythonu, koje se, korištenjem poziva tf.function, mogu pretvoriti u grafove i zatim daljinski izvršiti, serijalizirati ili optimizirati za poboljšane performanse;
  • Dodan prevodilac AutoGraph, koji konvertuje tok Python komandi u TensorFlow izraze, dozvoljavajući Python kodu da se koristi unutar funkcija ukrašenih tf.function, tf.data, tf.distribute i tf.keras;
  • SavedModel objedinjuje format razmjene modela i dodaje podršku za spremanje i vraćanje stanja modela. Sada se mogu koristiti modeli kompajlirani za TensorFlow TensorFlow Lite (na mobilnim uređajima), TensorFlow JS (u pretraživaču ili Node.js), TensorFlow Serving и TensorFlow Hub;
  • API-ji tf.train.Optimizers i tf.keras.Optimizers su ujedinjeni; umjesto compute_gradients, predložena je nova klasa za izračunavanje gradijenta Gradient Tape;
  • Značajno povećane performanse kada se koristi GPU.
    Brzina obuke modela na sistemima sa NVIDIA Volta i Turing GPU-ovima je povećana do tri puta;

  • Izvršeno Veliko čišćenje API-ja, mnogi pozivi su preimenovani ili uklonjeni, podrška za globalne varijable u pomoćnim metodama je zaustavljena. Umjesto tf.app, tf.flags, tf.logging, predlaže se novi absl-py API. Za nastavak korištenja starog API-ja, pripremljen je modul compat.v1.

izvor: opennet.ru

Dodajte komentar