TensorFlow - TensorFlow

TensorFlow
TensorFlowLogo.svg
Entwickler Google Brain- Team
Erstveröffentlichung 9. November 2015 ; vor 5 Jahren ( 2015-11-09 )
Stabile Version
2.5.0  Bearbeiten Sie dies auf Wikidata(13. Mai 2021 ; vor 3 Monaten ) / 14. Mai 2021 ; vor 3 Monaten ( 13 Mai 2021 ) ( 2021-05-14 )
Repository github .com /tensorflow /tensorflow
Geschrieben in Python , C++ , CUDA
Plattform Linux , macOS , Windows , Android , JavaScript
Typ Bibliothek für maschinelles Lernen
Lizenz Apache-Lizenz 2.0
Webseite www .tensorflow .org

TensorFlow ist eine kostenlose Open-Source- Softwarebibliothek für maschinelles Lernen und künstliche Intelligenz . Es kann für eine Reihe von Aufgaben verwendet werden, konzentriert sich jedoch insbesondere auf das Training und die Inferenz von tiefen neuronalen Netzen .

Tensorflow ist eine symbolische Mathematikbibliothek, die auf Datenfluss und differenzierbarer Programmierung basiert . Es wird sowohl für die Forschung als auch für die Produktion bei Google verwendet .

TensorFlow wurde vom Google Brain- Team für den internen Gebrauch von Google entwickelt. Es wurde 2015 unter der Apache-Lizenz 2.0 veröffentlicht.

Geschichte

DistGlaube

Ab 2011 hat Google Brain DistBelief als proprietäres maschinelles Lernsystem basierend auf neuronalen Deep-Learning- Netzen entwickelt . Sein Einsatz nahm bei verschiedenen Alphabet- Unternehmen sowohl in der Forschung als auch in kommerziellen Anwendungen schnell zu . Google mehrere Informatiker, einschließlich zugewiesen Jeff Dean , zu vereinfachen und Umgestalten der Codebasis von DistBelief in eine schnellere, robustere anwendungs Klasse Bibliothek, die TensorFlow wurde. Im Jahr 2009 hatte das Team unter der Leitung von Geoffrey Hinton generalisierte Backpropagation und andere Verbesserungen implementiert, die die Generierung neuronaler Netze mit wesentlich höherer Genauigkeit ermöglichten, beispielsweise eine 25-prozentige Reduzierung der Fehler bei der Spracherkennung .

TensorFlow

TensorFlow ist das System der zweiten Generation von Google Brain. Version 1.0.0 wurde am 11. Februar 2017 veröffentlicht. Während die Referenzimplementierung auf einzelnen Geräten läuft, kann TensorFlow auf mehreren CPUs und GPUs ausgeführt werden (mit optionalen CUDA- und SYCL- Erweiterungen für allgemeines Computing auf Grafikprozessoren ). TensorFlow ist auf 64-Bit- Linux- , macOS- , Windows- und mobilen Computing-Plattformen einschließlich Android und iOS verfügbar .

Seine flexible Architektur ermöglicht die einfache Bereitstellung von Berechnungen auf einer Vielzahl von Plattformen (CPUs, GPUs, TPUs ) und von Desktops über Servercluster bis hin zu mobilen und Edge-Geräten.

TensorFlow Berechnungen werden wie folgt ausgedrückt Stateful Datenfluß Graphen . Der Name TensorFlow leitet sich von den Operationen ab, die solche neuronalen Netze an mehrdimensionalen Datenfeldern ausführen, die als Tensoren bezeichnet werden . Während der Google I/O Conference im Juni 2016 erklärte Jeff Dean, dass 1.500 Repositories auf GitHub TensorFlow erwähnen, von denen nur 5 von Google stammten.

Im Dezember 2017 stellten Entwickler von Google, Cisco, RedHat, CoreOS und CaiCloud Kubeflow auf einer Konferenz vor. Kubeflow ermöglicht den Betrieb und die Bereitstellung von TensorFlow auf Kubernetes .

Im März 2018 kündigte Google die Version 1.0 von TensorFlow.js für maschinelles Lernen in JavaScript an .

Im Januar 2019 hat Google TensorFlow 2.0 angekündigt. Es wurde im September 2019 offiziell verfügbar.

Im Mai 2019 kündigte Google TensorFlow Graphics für Deep Learning in der Computergrafik an.

Tensor-Verarbeitungseinheit (TPU)

Im Mai 2016 kündigte Google seine Tensor Processing Unit (TPU) an, eine anwendungsspezifische integrierte Schaltung (ASIC, ein Hardware-Chip), die speziell für maschinelles Lernen entwickelt und auf TensorFlow zugeschnitten ist. Eine TPU ist ein programmierbarer KI-Beschleuniger, der entwickelt wurde, um einen hohen Durchsatz von Arithmetik mit niedriger Genauigkeit (z. B. 8-Bit ) bereitzustellen und darauf ausgerichtet ist, Modelle zu verwenden oder auszuführen, anstatt sie zu trainieren . Google gab bekannt, dass sie seit mehr als einem Jahr TPUs in ihren Rechenzentren verwenden und festgestellt haben, dass sie eine um eine Größenordnung besser optimierte Leistung pro Watt für maschinelles Lernen bieten.

Im Mai 2017 kündigte Google die zweite Generation sowie die Verfügbarkeit der TPUs in der Google Compute Engine an . Die TPUs der zweiten Generation liefern bis zu 180 Teraflops Leistung, und wenn sie in Clustern von 64 TPUs organisiert sind, bieten sie bis zu 11,5 Petaflops.

Im Mai 2018 kündigte Google die TPUs der dritten Generation an, die bis zu 420 Teraflops Leistung und 128 GB High- Bandbreite- Speicher (HBM) bieten. Cloud TPU v3-Pods bieten über 100 Petaflops Leistung und 32 TB HBM.

Im Februar 2018 gab Google bekannt, dass TPUs in der Betaphase auf der Google Cloud Platform verfügbar gemacht werden .

Rand-TPU

Im Juli 2018 wurde die Edge TPU angekündigt. Edge TPU ist der speziell entwickelte ASIC- Chip von Google, der entwickelt wurde, um TensorFlow Lite-Modelle für maschinelles Lernen (ML) auf kleinen Client-Computergeräten wie Smartphones auszuführen, die als Edge Computing bekannt sind .

TensorFlow Lite

Im Mai 2017 kündigte Google einen Software-Stack speziell für die mobile Entwicklung an, TensorFlow Lite. Im Januar 2019 veröffentlichte das TensorFlow-Team eine Entwicklervorschau der mobilen GPU-Inferenz-Engine mit OpenGL ES 3.1 Compute Shaders auf Android-Geräten und Metal Compute Shaders auf iOS-Geräten. Im Mai 2019 gab Google bekannt, dass sein TensorFlow Lite Micro (auch bekannt als TensorFlow Lite für Mikrocontroller) und der uTensor von ARM zusammengeführt werden.

TensorFlow Lite verwendet FlatBuffers als Datenserialisierungsformat für Netzwerkmodelle und vermeidet das Protokollpufferformat , das von Standard-TensorFlow-Modellen verwendet wird.

Pixel-Visual-Core (PVC)

Im Oktober 2017 veröffentlichte Google das Google Pixel 2 mit seinem Pixel Visual Core (PVC), einem vollständig programmierbaren Bild- , Vision- und KI- Prozessor für mobile Geräte. Das PVC unterstützt TensorFlow für maschinelles Lernen (und Halogenid für die Bildverarbeitung).

Anwendungen

Google hat RankBrain am 26. Oktober 2015 offiziell veröffentlicht , unterstützt von TensorFlow.

Google hat auch Colaboratory veröffentlicht, eine TensorFlow Jupyter-Notebook-Umgebung, für die keine Einrichtung erforderlich ist.

Crashkurs für maschinelles Lernen (MLCC)

Am 1. März 2018 hat Google seinen Machine Learning Crash Course (MLCC) veröffentlicht. Ursprünglich entwickelt, um Google-Mitarbeitern praktische Grundlagen der künstlichen Intelligenz und des maschinellen Lernens zu vermitteln, hat Google seine kostenlosen TensorFlow-Workshops in mehreren Städten auf der ganzen Welt eingeführt, bevor der Kurs schließlich der Öffentlichkeit zugänglich gemacht wurde.

TensorFlow 2.0

Da der Marktanteil von TensorFlow unter den Forschungsarbeiten zugunsten von PyTorch zurückging , kündigte das TensorFlow-Team im September 2019 die Veröffentlichung einer neuen Hauptversion der Bibliothek an Differenzierungsschema vom statischen Berechnungsgraphen zum "Define-by-Run" -Schema, das ursprünglich von Chainer und später PyTorch populär gemacht wurde . Weitere wichtige Änderungen waren das Entfernen alter Bibliotheken, die Kreuzkompatibilität zwischen trainierten Modellen in verschiedenen Versionen von TensorFlow und erhebliche Verbesserungen der Leistung der GPU.

Merkmale

TensorFlow bietet stabiles Python (für Version 3.7 auf allen Plattformen) und C- APIs ; und ohne API-Abwärtskompatibilitätsgarantie: C++ , Go , Java , JavaScript und Swift (archiviert und Entwicklung eingestellt). Pakete von Drittanbietern sind für C# , Haskell , Julia , MATLAB , R , Scala , Rust , OCaml und Crystal verfügbar .

"Neue Sprachunterstützung sollte auf der C-API aufbauen. Allerdings sind [..] noch nicht alle Funktionen in C verfügbar." Einige weitere Funktionen werden von der Python-API bereitgestellt.

Anwendungen

Originalfoto (links) und mit angewendetem neuronalen Stil TensorFlow (rechts)

Zu den Anwendungen, für die TensorFlow die Grundlage bildet, gehören automatisierte Bildunterschriftensoftware wie DeepDream .

Siehe auch

Verweise

Literaturverzeichnis

Externe Links