Anonim

TensorFlow er en maskine og en dyb læringsplatform udviklet af Google, der er frit tilgængelig for udviklere som en open source-løsning. Det giver et bredt økosystem af værktøjer, biblioteker og samfundsressourcer til udvikling og træning af maskinlæring og applikationer med dyb læring.

Som en nuværende version har udviklere nu den endelige version af TensorFlow 2.0 til rådighed. Det indeholder fire centrale komponenter:

  • TensorFlow Core - et open source bibliotek til udvikling og træning af maskinlæringsmodeller,

  • TensorFlow.js - et JavaScript-bibliotek til at træne og distribuere modeller i browseren og på Node.js

  • TensorFlow Lite - et let bibliotek, der giver dig mulighed for at distribuere modeller til mobile enheder og indlejrede systemer, og

  • TensorFlow Extended - en platform til forberedelse af data og træning, validering og implementering af modeller i produktionsmiljøer.

Udviklere, der allerede kører TensorFlow 1.x-projekter, har mulighed for at opgradere til den nye version vha. Migreringsguiden og opgraderingsguiden. Selvom eksisterende 1.x-kode også kan udføres uændret i TensorFlow 2.0, skal forbedringerne af den nye ramme undgås.

Samlet set er TensorFlow 2.0 enklere og ryddere end sine forgængere. Open source Keras API, skrevet i Python, spiller en nøglerolle i udviklingen og træningen af ​​modeller for maskinlæring. Det reducerer mængden af ​​kode, der skal skrives, markant: Udviklere kan bygge neurale netværk med Keras ved kun at bruge en linje med kode pr. Lag, eller endnu mindre, ved at drage fordel af loopdesign. Som et open source-produkt kan Keras også bruges til andre backends såsom MXNet (med Gluon), PyTorch, Scikit-learning og Spark MLlib. De sidstnævnte to er mere maskinlæringsrammer, der er mindre velegnede til dyb læring. Generelt er brugerne dog ikke nødt til at forpligte sig til en ramme, for eksempel kan de udarbejde data med Scikit-learning og træne en model med TensorFlow.

TensorFlow bruges i mange Google-produkter. Det tilbyder forskellige niveauer af abstraktion til at opbygge og træne modeller. Med version 2.0 bliver den allerede længe tilbudte Eager Execution standard. Det er nu en standardfunktion, der får handlinger til at udføres umiddelbart efter et Python-opkald og ikke senere i en session, efter at noder og kanter er blevet tilføjet til grafen.

TensorFlow.js - udvikle i JavaScript

TensorFlow.js er et bibliotek til udvikling og træning af maskinlæringsmodeller i JavaScript samt til at give dem i en browser eller på Node.js. Med ml5.js er der også et bibliotek på højt niveau baseret på TensorFlow.js, som skjuler kompleksiteten af ​​tensors og optimizers.

TensorFlow.js understøtter både mobile enheder og desktops i browseren. Hvis browseren understøtter WebGL shader API'er, kan TensorFlow.js bruge dem og drage fordel af en GPU. Sammenlignet med en CPU-backend kan dette tage op til 100 gange hurtigere. På Node.js kan TensorFlow.js bruge en installeret version af TensorFlow som backend eller bruge den underliggende CPU-backend. Dette er ren JavaScript, det er ikke særlig godt parallelisierbar.

Brugere kan køre officielle TensorFlow.js-modeller, konvertere Python-modeller, bruge Transfer Learning til at tilpasse modeller til deres egne data og opbygge og træne modeller direkte i JavaScript.

TensorFlow Lite - modeller til mobile enheder

TensorFlow Lite er en dyb læringsramme, der gør det muligt at udføre modeller på mobile enheder - for eksempel for at give mulighed for forudsigelser baseret på nye indgående data (inferens = inferens). Modeller udvikles i øjeblikket til iOS, ARM64 og Raspberry Pi. De to hovedkomponenter i TensorFlow Lite er en tolk og en konverter. Tolken udfører specielt optimerede modeller på forskellige hardwaretyper. Konverteren overfører TensorFlow-modeller til et effektivt format, som tolken kan bruge. Han kan køre optimeringer for at forbedre ydelsen.

Der er foruddannede modeller til klassificering af billeder, genkendelse af objekter, generering af intelligente svar, til positionsestimering og segmentering. Der er også eksempler på applikationer til gestusgenkendelse, billedklassificering og genkendelse af objekt og tale.

TensorFlow Extended - platform for professionelle

TensorFlow Extended er en ende-til-ende platform til implementering af maskinlæringsrørledninger til produktive miljøer. Det bruges, når modellering af modeller fra trænings- og forskningsstadiet indgår i skalerbare maskinelæringsscenarier med høj ydeevne.

Et element er TensorFlow-datavalidering. Det hjælper udviklere med at forstå og kontrollere, hvordan deres ML-data opfører sig under forskellige skalaforhold. TensorFlow Transform hjælper med at omdanne data til et passende format og forberede dem til brug i ML-opgaver.

For at hjælpe udviklere med at forhåndsberegne deres modeller 'ydeevne og få en bedre forståelse af deres datamodeller, er TensorFlow Model Analyse tilgængelig for dem. Du kan bruge det til at finde ud af, om indstillede kvalitetsstandarder er opnået, og alle relevante dataelementer opfører sig som ønsket. Endelig hjælper TensorFlow Serving mange modeller med høj kapacitet til at udnytte kraften i hardwareacceleratorer (GPU'er, TPU'er) uden forsinkelse. Hos Google behandler TensorFlow Serving 10 millioner konklusioner pr. Sekund.