Izdanje sustava strojnog učenja TensorFlow 2.0

Predstavljeno značajno izdanje platforme za strojno učenje TensorFlow 2.0, koji pruža gotove implementacije različitih algoritama dubokog strojnog učenja, jednostavno programsko sučelje za izgradnju modela u Pythonu i sučelje niske razine za jezik C++ koje vam omogućuje kontrolu konstrukcije i izvođenja računskih grafova. Sistemski kod je napisan u C++ i Python i distribuira pod Apache licencom.

Platformu je izvorno razvio Google Brain tim i koristi se u Googleovim uslugama za prepoznavanje govora, identifikaciju lica na fotografijama, određivanje sličnosti slika, filtriranje neželjene pošte u Gmailu, izbor vijesti u Google vijestima i organiziranje prijevoda uzimajući u obzir značenje. Distribuirani sustavi strojnog učenja mogu se stvoriti na standardnom hardveru, zahvaljujući ugrađenoj podršci TensorFlow za distribuciju izračuna na više CPU-a ili GPU-a.

TensorFlow pruža biblioteku gotovih numeričkih algoritama za izračun implementiranih kroz grafove protoka podataka. Čvorovi u takvim grafovima implementiraju matematičke operacije ili ulazno/izlazne točke, dok rubovi grafa predstavljaju višedimenzionalne nizove podataka (tenzore) koji teku između čvorova.
Čvorovi se mogu dodijeliti računalnim uređajima i izvršavati asinkrono, istovremeno obrađujući sve za njih prikladne tezore odjednom, što omogućuje organiziranje istodobnog 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. Neki inovacije:

  • Predložen je novi API visoke razine za izgradnju i modele obuke Keras, koji pruža nekoliko opcija sučelja za izgradnju modela (Sekvencijalni, Funkcionalni, Podklase) s mogućnošću neposredna provedba (bez predkompilacije) i s jednostavnim mehanizmom za otklanjanje pogrešaka;
  • Dodan API tf.distribuirati.Strategija za organizaciju distribuirano učenje modeli s minimalnim izmjenama postojećeg koda. Osim mogućnosti širenja izračuna po više grafičkih procesora, dostupna je eksperimentalna podrška za podjelu procesa učenja na nekoliko neovisnih procesora i mogućnost korištenja oblaka TPU (Jedinica za obradu tenzora);
  • Umjesto deklarativnog modela konstruiranja grafa s izvršavanjem kroz tf.Session, moguće je napisati obične funkcije u Pythonu, koje se pomoću poziva tf.function mogu pretvoriti u grafove i zatim daljinski izvršiti, serijalizirati ili optimizirati. za poboljšane performanse;
  • Dodan prevoditelj Autogram, koji pretvara tok Python naredbi u TensorFlow izraze, dopuštajući da se Python kod koristi unutar funkcija tf.function-decorated, tf.data, tf.distribute i tf.keras;
  • SavedModel ujedinjuje format razmjene modela i dodaje podršku za spremanje i vraćanje stanja modela. Modeli kompilirani za TensorFlow sada se mogu koristiti u TensorFlow Lite (na mobilnim uređajima), TensorFlow JS (u pregledniku ili Node.js), TensorFlow posluživanje и TensorFlow čvorište;
  • API-ji tf.train.Optimizers i tf.keras.Optimizers su objedinjeni; umjesto compute_gradients, predložena je nova klasa za izračun gradijenata Gradijent traka;
  • Značajno povećane performanse pri korištenju GPU-a.
    Brzina učenja modela na sustavima s NVIDIA Volta i Turing GPU-ima povećana je do tri puta;

  • Izvedeno Veliko čišćenje API-ja, mnogi su pozivi preimenovani ili uklonjeni, podrška za globalne varijable u pomoćnim metodama 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