Glossar

TensorFlow

Entdecke TensorFlow, Google, das leistungsstarke Open-Source-ML-Framework für KI-Innovationen. Modelle für neuronale Netze nahtlos erstellen, trainieren und einsetzen!

Trainiere YOLO Modelle einfach
mit Ultralytics HUB

Mehr erfahren

TensorFlow ist eine weit verbreitete Open-Source-Bibliothek, die vom Google Brain-Team für numerische Berechnungen und maschinelles Lernen (ML) im großen Maßstab entwickelt wurde. Sie bietet ein umfassendes Ökosystem von Tools, Bibliotheken und Community-Ressourcen, die es Forschern ermöglichen, den Stand der Technik im Bereich ML voranzutreiben, und Entwicklern, ML-gestützte Anwendungen einfach zu erstellen und einzusetzen. Seine flexible Architektur ermöglicht den Einsatz auf verschiedenen Plattformen, darunter Server, mobile Geräte über TensorFlow Lite und Webbrowser mit TensorFlow.js.

Wie TensorFlow funktioniert

Im Kern arbeitet TensorFlow mit Tensoren, die mehrdimensionale Arrays sind, daher der NameTensorFlow", der den Fluss dieser Tensoren durch einen Berechnungsgraphen darstellt. Während frühere Versionen stark auf statische Berechnungsgraphen setzten, wurde mit TensorFlow 2.x standardmäßig eine eifrige Ausführung eingeführt, die intuitiver und einfacher zu debuggen ist, ähnlich wie bei Standard Python Programmierung. Zu den wichtigsten Funktionen gehören die automatische Differenzierung zur einfachen Berechnung von Gradienten, die für die Backpropagation und das Training von Modellen benötigt werden, sowie eine Vielzahl von vorgefertigten Schichten und Hilfsprogrammen für den Aufbau neuronaler Netze (NNs). Sie nutzt die Hardwarebeschleunigung durch GPUs und spezielle Hardware wie TPUs für Hochleistungsberechnungen.

Hauptmerkmale und Ökosystem

TensorFlow bietet mehrere Funktionen, die den ML-Workflow rationalisieren:

  • Keras API: Eine in TensorFlow integrierte High-Level-API, die für ihre Benutzerfreundlichkeit und Modularität bekannt ist und das Erstellen und Trainieren von Deep-Learning-Modellen vereinfacht. Keras ermöglicht ein schnelles Prototyping.
  • Verteiltes Training: Die integrierte Unterstützung für die Verteilung von Berechnungen auf mehrere Rechner und GPUs beschleunigt das Training großer Modelle auf riesigen Datensätzen.
  • Modell-Optimierung: Werkzeuge wie das TensorFlow Model Optimization Toolkit bieten Techniken zur Modellquantisierung und zum Pruning, um kleinere, schnellere und energieeffizientere Modelle zu erstellen, die für Edge-Geräte geeignet sind.
  • Flexibilität bei der Bereitstellung: TensorFlow können praktisch überall eingesetzt werden, von großen Serverfarmen(Cloud Computing) bis hin zu ressourcenbeschränkten Umgebungen wie mobilen und eingebetteten Systemen über den TensorFlow Lite-Export oder Webanwendungen über den TensorFlow.js-Export. Ultralytics YOLO können auch in das TensorFlow SavedModel exportiert werden.

Anwendungen und Beispiele

TensorFlow wird in zahlreichen Bereichen eingesetzt:

  • Computer Vision: Für Anwendungen wie Bildklassifizierung, Objekterkennung und Bildsegmentierung. Google verwendet TensorFlow zum Beispiel in Google Fotos für die Bilderkennung und Suchfunktionen. DieYOLO Ultralytics wurden zwar hauptsächlich in PyTorchentwickelt wurden, können für den Einsatz in das TensorFlow konvertiert werden.
  • Natürliche Sprachverarbeitung (NLP): Wird für Aufgaben wie maschinelle Übersetzung, Stimmungsanalyse und den Aufbau anspruchsvoller Sprachmodelle wie BERT verwendet. Der RankBrain-Algorithmus der Google , der bei der Interpretation komplexer Suchanfragen hilft, war eine frühe groß angelegte Anwendung von TensorFlow.
  • Gesundheitswesen: Unterstützung bei der medizinischen Bildanalyse zur Erkennung von Krankheiten anhand von Scans oder zur Vorhersage von Patientenergebnissen auf der Grundlage von elektronischen Gesundheitsakten.
  • Finanzen: Wird für Betrugserkennung, algorithmischen Handel und Kreditwürdigkeitsprüfungen verwendet.

TensorFlow vs. PyTorch

TensorFlow und PyTorch sind die beiden dominierenden Frameworks im Deep Learning. In der Vergangenheit war TensorFlow für seine Stärke beim Einsatz in der Produktion und seine Skalierbarkeit mit statischen Graphen bekannt, während PyTorch in der Forschungsgemeinschaft aufgrund seiner dynamischen Graphen und seines eher pythonischen Charakters an Popularität gewann. Mit der Einführung von TensorFlow 2.x und Eager Execution sind die Unterschiede jedoch weniger ausgeprägt. Die Wahl hängt oft von den spezifischen Projektanforderungen, der Vertrautheit des Teams und den Tools des Ökosystems ab. Viele Modelle, darunter Ultralytics YOLOv8bieten Kompatibilitäts- oder Exportoptionen für beide Frameworks und ermöglichen so einen flexiblen Einsatz der Modelle.

Alles lesen