TensorFlow - TensorFlow

TensorFlow
TensorFlowLogo.svg
Utvecklare Google Brain Team
Initial release 9 november 2015 ; 5 år sedan ( 2015-11-09 )
Stabil frisättning
2.5.0  Redigera detta på Wikidata(13 maj 2021 ; för 3 månader sedan ) / 14 maj 2021 ; 3 månader sedan ( 13 maj 2021 ) ( 2021-05-14 )
Förvar github .com /tensorflow /tensorflow
Skrivet i Python , C ++ , CUDA
Plattform Linux , macOS , Windows , Android , JavaScript
Typ Maskininlärning bibliotek
Licens Apache -licens 2.0
Hemsida www .tensorflow .org

TensorFlow är ett gratis bibliotek med öppen källkod för maskininlärning och artificiell intelligens . Den kan användas för en rad olika uppgifter men har ett särskilt fokus på utbildning och inferens av djupa neurala nätverk .

Tensorflow är ett symboliskt mattebibliotek baserat på dataflöde och differentierbar programmering . Det används för både forskning och produktion på Google .

TensorFlow utvecklades av Google Brain -teamet för intern användning av Google . Den släpptes under Apache License 2.0 2015.

Historia

DistBelief

Från och med 2011 byggde Google Brain DistBelief som ett egenutvecklat maskininlärningssystem baserat på neurologiska nätverk med djup inlärning . Dess användning växte snabbt i olika alfabetföretag i både forskning och kommersiella applikationer. Google tilldelade flera datavetenskapare, inklusive Jeff Dean , att förenkla och refaktorera kodbasen för DistBelief till ett snabbare och mer robust programbibliotek, som blev TensorFlow. Under 2009 hade laget, under ledning av Geoffrey Hinton , implementerat generaliserad bakpropagering och andra förbättringar som möjliggjorde generering av neurala nätverk med väsentligt högre noggrannhet, till exempel 25% minskning av fel i taligenkänning .

TensorFlow

TensorFlow är Google Brains andra generationens system. Version 1.0.0 släpptes den 11 februari 2017. Medan referensimplementeringen körs på enstaka enheter kan TensorFlow köras på flera processorer och GPU: er (med CUDA- och SYCL- tillägg som tillval för allmänt bruk på grafikprocessorer ). TensorFlow är tillgängligt på 64-bitars Linux , macOS , Windows och mobila datorplattformar inklusive Android och iOS .

Dess flexibla arkitektur möjliggör enkel implementering av beräkning på en mängd olika plattformar (CPU: er, GPU: er, TPU: er ) och från stationära datorer till kluster av servrar till mobila och edge -enheter.

TensorFlow beräkningar uttrycks som stateful dataflödesdiagram . Namnet TensorFlow härrör från de operationer som sådana neurala nätverk utför på flerdimensionella datarrayer, som kallas tensorer . Under Google I/O -konferensen i juni 2016 uppgav Jeff Dean att 1 500 lagringsplatser på GitHub nämnde TensorFlow, varav endast 5 var från Google.

I december 2017 introducerade utvecklare från Google, Cisco, RedHat, CoreOS och CaiCloud Kubeflow vid en konferens. Kubeflow tillåter drift och distribution av TensorFlow på Kubernetes .

I mars 2018 meddelade Google TensorFlow.js version 1.0 för maskininlärning i JavaScript .

I januari 2019 meddelade Google TensorFlow 2.0. Det blev officiellt tillgängligt i september 2019.

I maj 2019 meddelade Google TensorFlow Graphics för djupinlärning i datorgrafik.

Tensor bearbetningsenhet (TPU)

I maj 2016 tillkännagav Google sin Tensor Processing Unit (TPU), en applikationsspecifik integrerad krets (ASIC, ett hårdvaruchip) byggt speciellt för maskininlärning och skräddarsydd för TensorFlow. En TPU är en programmerbar AI accelerator utformad för att ge hög genomströmning av låg precision aritmetik (t ex 8-bitars ) och orienterad mot användning eller springer modeller snarare än att utbilda dem. Google meddelade att de hade kört TPU i sina datacenter i mer än ett år och hade funnit dem leverera en storleksordning som var bättre optimerad prestanda per watt för maskininlärning.

I maj 2017 meddelade Google andra generationen, liksom tillgängligheten för TPU: erna i Google Compute Engine . Andra generationens TPU levererar upp till 180 teraflops prestanda, och när de är organiserade i kluster med 64 TPU ger upp till 11,5 petaflops.

I maj 2018 tillkännagav Google tredje generationens TPU: er som levererar upp till 420 teraflops prestanda och 128 GB minne med hög bandbredd (HBM). Cloud TPU v3 Pods erbjuder 100+ petaflops prestanda och 32 TB HBM.

I februari 2018 meddelade Google att de skulle göra TPU: er tillgängliga i beta på Google Cloud Platform .

Edge TPU

I juli 2018 tillkännagavs Edge TPU. Edge TPU är Googles specialbyggda ASIC- chip som är utformat för att köra TensorFlow Lite-maskininlärningsmodeller (ML) på små klientdatorer, till exempel smartphones som kallas edge computing .

TensorFlow Lite

I maj 2017 tillkännagav Google en mjukvarustack speciellt för mobilutveckling, TensorFlow Lite. I januari 2019 släppte TensorFlow -teamet en utvecklingsförhandsvisning av den mobila GPU -inferensmotorn med OpenGL ES 3.1 Compute Shaders på Android -enheter och Metal Compute Shaders på iOS -enheter. I maj 2019 meddelade Google att deras TensorFlow Lite Micro (även känd som TensorFlow Lite för mikrokontroller) och ARM: s uTensor skulle gå samman.

TensorFlow Lite använder FlatBuffers som dataserialiseringsformat för nätverksmodeller, vilket undviker protokollbuffertformatet som används av vanliga TensorFlow -modeller.

Pixel Visual Core (PVC)

I oktober 2017 släppte Google Google Pixel 2 med deras Pixel Visual Core (PVC), en fullt programmerbar bild- , vision- och AI -processor för mobila enheter. PVC stöder TensorFlow för maskininlärning (och Halide för bildbehandling).

Ansökningar

Google släppte officiellt RankBrain den 26 oktober 2015, med stöd av TensorFlow.

Google släppte också Colaboratory, som är en TensorFlow Jupyter notebook -miljö som inte kräver någon installation för att användas.

Machine Learning Crash Course (MLCC)

Den 1 mars 2018 släppte Google sin Machine Learning Crash Course (MLCC). Ursprungligen utformat för att hjälpa Google -anställda med praktisk artificiell intelligens och maskininlärning, lanserade Google sina kostnadsfria TensorFlow -workshops i flera städer runt om i världen innan de äntligen släppte kursen för allmänheten.

TensorFlow 2.0

Eftersom TensorFlows marknadsandel bland forskningsartiklar sjönk till fördel för PyTorch , meddelade TensorFlow -teamet att en ny stor version av biblioteket släpptes i september 2019. TensorFlow 2.0 introducerade många förändringar, den viktigaste var TensorFlow ivrig, vilket förändrade den automatiska differentieringsschema från den statiska beräkningsgrafen till "Define-by-Run" -schemat som ursprungligen gjordes populärt av Chainer och senare PyTorch . Andra stora förändringar inkluderar borttagning av gamla bibliotek, korskompatibilitet mellan utbildade modeller på olika versioner av TensorFlow och betydande förbättringar av prestandan på GPU.

Funktioner

TensorFlow tillhandahåller stabila Python (för version 3.7 på alla plattformar) och C API: er ; och utan API -bakåtkompatibilitetsgaranti: C ++ , Go , Java , JavaScript och Swift (arkiverad och utvecklingen har upphört). Tredjepartspaket är tillgängliga för C# , Haskell , Julia , MATLAB , R , Scala , Rust , OCaml och Crystal .

"Nytt språkstöd bör byggas ovanpå C -API: et [[]] men inte alla funktioner är tillgängliga i C än". Några fler funktioner tillhandahålls av Python API.

Ansökningar

Orginalfoto (vänster) och med TensorFlow neurala stil tillämpas (till höger)

Bland de applikationer som TensorFlow är grunden för finns automatiserad bildtextningsprogramvara , till exempel DeepDream .

Se även

Referenser

Bibliografi

externa länkar