betydande lansering av maskininlärningsplattformen , som erbjuder en klar implementation av olika algoritmer för djup maskininlärning, ett enkelt programmeringsgränssnitt för modellering på Python och ett lågnivågränssnitt för C++, vilket möjliggör hantering av skapande och exekvering av beräkningsgrafen. Systemets kod är skriven i C++ och Python och under Apache-licensen.
plattformen utvecklades ursprungligen av Google Brain-teamet och används i Google-tjänster för taligenkänning, ansiktsigenkänning på foton, bildlikhetsidentifiering, skräppostfiltrering i Gmail, i Google News och organisationsöversättningar med hänsyn till betydelse. Distribuerade maskininlärningssystem kan skapas på standardutrustning tack vare inbyggt stöd i TensorFlow för att fördela beräkningar över flera CPU:er eller GPU:er.
TensorFlow tillhandahåller ett bibliotek med färdiga algoritmer för numeriska beräkningar, implementerade genom dataströmmars graf (data flow graphs). Noder i sådana grafer representerar matematiska operationer eller in-/utgångspunkter, medan grafens kanter representerar flerdimensionella datamängder (tensorer) som flödar mellan noder.
Noder kan knytas till beräkningsenheter och exekveras asynkront, vilket gör att de kan bearbeta alla lämpliga tensorer parallellt, vilket möjliggör samtidig aktivitet hos noderna i det neuronala nätverket, likt samtidigt aktivering av neuroner i hjärnan.
Huvudfokus vid förberedelsen av den nya versionen var att förenkla och öka användarvänligheten. :
- För att bygga och träna modeller har en ny hög nivå API föreslagits , som erbjuder flera alternativ för gränssnitt för modellbyggande (Sequential, Functional, Subclassing) med möjlighet till (utan förkompilering) och med en enkel felavhjälpningsmekanism;
- API har lagts till för organisering av av modeller med minimal förändring av befintlig kod. Förutom möjligheten att fördela beräkningar över , finns experimentellt stöd för att fördela träningsprocessen över flera oberoende enheter och möjlighet att använda moln (Tensor processing unit);
- Istället för en deklarativ modell för att bygga grafer med körning via tf.Session har möjligheten att skriva vanliga funktioner i Python introducerats, vilka kan omvandlas till grafer med hjälp av tf.function och sedan köras på distans, serialiseras eller optimeras för att öka prestandan;
- Översättare tillagd , som omvandlar flödet av Python-kommandon till TensorFlow-uttryck, vilket möjliggör användning av Python-kod inuti funktioner dekorerade med tf.function, tf.data, tf.distribute och tf.keras;
- I SavedModel har formatet för modellutbyte enhetliggjorts och stöd för att spara och återställa modellernas tillstånd har lagts till. Modeller som är samlade för TensorFlow kan nu användas i (på mobila enheter), (i webbläsaren eller Node.js), och ;
- API:erna tf.train.Optimizers och tf.keras.Optimizers har enhetliggjorts, istället för compute_gradients för att beräkna gradienter har en ny klass föreslagits ;
- Prestandan har ökat avsevärt vid användning av GPU.
Inlärningshastigheten för modeller på system med NVIDIA Volta- och Turing-GPU:er har ökat upp till tre gånger; - större rensning av API:et, många anrop har döpts om eller tagits bort, stödet för globala variabler i hjälpfunktioner har upphört. Istället för tf.app, tf.flags, tf.logging har ett nytt API absl-py föreslagits. För fortsatt användning av det gamla API:et har modulen compat.v1 förberetts.
Källa: opennet.ru
