Release av maskininlärningssystem TensorFlow 2.0

Introducerad betydande release av maskininlärningsplattform TensorFlow 2.0, som tillhandahåller färdiga implementeringar av olika djupa maskininlärningsalgoritmer, ett enkelt programmeringsgränssnitt för att bygga modeller i Python och ett lågnivågränssnitt för C++-språket som låter dig styra konstruktionen och exekveringen av beräkningsgrafer. Systemkoden är skriven i C++ och Python och levererad av under Apache-licensen.

Plattformen utvecklades ursprungligen av Google Brain-teamet och används i Googles tjänster för taligenkänning, identifiering av ansikten på fotografier, fastställande av likheter mellan bilder, filtrering av skräppost i Gmail, urval nyheter i Google Nyheter och organisera översättningen med hänsyn till innebörden. Distribuerade maskininlärningssystem kan skapas på standardhårdvara, tack vare TensorFlows inbyggda stöd för att distribuera beräkningar över flera CPU:er eller GPU:er.

TensorFlow tillhandahåller ett bibliotek med färdiga numeriska beräkningsalgoritmer implementerade genom dataflödesgrafer. Noder i sådana grafer implementerar matematiska operationer eller inmatnings-/utgångspunkter, medan kanterna på grafen representerar flerdimensionella datamatriser (tensorer) som flyter mellan noder.
Noder kan tilldelas till datorenheter och exekveras asynkront, samtidigt bearbeta alla tesorer som är lämpliga för dem på en gång, vilket gör det möjligt att organisera den samtidiga driften av noder i ett neuralt nätverk i analogi med den samtidiga aktiveringen av neuroner i hjärnan.

Huvudfokus vid utarbetandet av den nya versionen låg på förenkling och användarvänlighet. Vissa innovationer:

  • Ett nytt API på hög nivå har föreslagits för att bygga och träna modeller Keras, som ger flera gränssnittsalternativ för att bygga modeller (sekventiell, funktionell, underklassning) med möjligheten att omedelbart genomförande (utan förkompilering) och med en enkel felsökningsmekanism;
  • Lade till API tf.distribute.Strategy för organisation distribuerat lärande modeller med minimala ändringar av befintlig kod. Förutom möjligheten att sprida beräkningar över flera GPU:er, experimentellt stöd är tillgängligt för att dela upp inlärningsprocessen i flera oberoende processorer och möjligheten att använda moln TPU (Tensorbehandlingsenhet);
  • Istället för en deklarativ modell för att konstruera en graf med exekvering genom tf.Session, är det möjligt att skriva vanliga funktioner i Python, som med ett anrop till tf.function kan konverteras till grafer och sedan fjärrexekveras, serialiseras eller optimeras för förbättrad prestanda;
  • Lagt till översättare Autograf, som omvandlar en ström av Python-kommandon till TensorFlow-uttryck, vilket gör att Python-kod kan användas i funktionerna tf.function-decorated, tf.data, tf.distribute och tf.keras;
  • SavedModel förenar modellutbytesformatet och lägger till stöd för att spara och återställa modelltillstånd. Modeller sammanställda för TensorFlow kan nu användas i TensorFlow Lite (på mobila enheter), TensorFlow JS (i webbläsare eller Node.js), TensorFlow-servering и TensorFlow Hub;
  • API:erna tf.train.Optimizers och tf.keras.Optimizers har förenats; istället för compute_gradients har en ny klass föreslagits för beräkning av gradienter Gradienttejp;
  • Betydligt ökad prestanda vid användning av GPU.
    Hastigheten för modellträning på system med NVIDIA Volta och Turing GPU har ökat upp till tre gånger;

  • Utförd Stor API-rensning, många anrop döpte om eller togs bort, stöd för globala variabler i hjälpmetoder stoppades. Istället för tf.app, tf.flags, tf.logging föreslås ett nytt absl-py API. För att fortsätta använda det gamla API:et har compat.v1-modulen förberetts.

Källa: opennet.ru

Lägg en kommentar