Caffe (Convolutional Architecture for Fast Feature Embedding) ist ein Open-Source-Framework für Deep Learning, das ursprünglich an der University of California, Berkeley entwickelt wurde. Es ist in C++ mit einer Python-Schnittstelle geschrieben und wurde für Geschwindigkeit und Modularität konzipiert, was es für Computer-Vision-Aufgaben beliebt machte. Das Framework wurde später in PyTorch integriert, aber sein Erbe lebt in Forschung und Industrie weiter.
Geschichte
Caffe wurde von Yangqing Jia während seiner Promotion an der UC Berkeley im Labor von Trevor Darrell entwickelt. Die erste Version, zunächst "DeCAF" genannt, erschien im Frühjahr 2013 und wurde für die ImageNet Large Scale Visual Recognition Challenge (ILSVRC) verwendet. Das Projekt wurde in Caffe umbenannt und im Dezember 2013 öffentlich veröffentlicht. Es erlangte aufgrund seiner sauberen Architektur und effizienten GPU-Unterstützung weite Verbreitung. Im Jahr 2017 kündigte Facebook (heute Meta) Caffe2 an, eine neu geschriebene Version mit verbesserten Mobil- und Produktionsfähigkeiten. Im März 2018 wurde Caffe2 in PyTorch integriert, und die Entwicklung des ursprünglichen Caffe wurde eingestellt, wobei der Support im Jahr 2018 auslief.
Funktionen
Caffe unterstützt eine Vielzahl von Deep-Learning-Architekturen, darunter faltende neuronale Netze (CNNs), rekurrente neuronale Netze (RNNs) und vollständig verbundene Netze. Es bietet GPU- und CPU-basierte Beschleunigung durch Bibliotheken wie NVIDIA cuDNN und Intel Math Kernel Library (MKL). Das Framework verwendet ein Modelldefinitionsformat, das auf Protocol Buffers basiert und eine einfache Konfiguration und Experimentierung ermöglicht. Caffe enthält außerdem einen großen Modellzoo mit vorab trainierten Netzen für Aufgaben wie Bildklassifikation und Objekterkennung.
Anwendungen
Caffe wurde in akademischer Forschung, Start-up-Prototypen und groß angelegten industriellen Anwendungen eingesetzt. Es wurde für Computer-Vision-Aufgaben wie Bildklassifikation, Segmentierung und Objekterkennung sowie für Sprach- und Multimediaverarbeitung verwendet. Yahoo! integrierte Caffe mit Apache Spark, um CaffeOnSpark zu erstellen, ein verteiltes Deep-Learning-Framework für die Verarbeitung großer Datenmengen. Die Geschwindigkeit und Modularität des Frameworks machten es zur bevorzugten Wahl für viele frühe Deep-Learning-Projekte.
Caffe2 und die Fusion mit PyTorch
Caffe2, das im April 2017 angekündigt wurde, führte neue Funktionen ein, darunter Unterstützung für rekurrente neuronale Netze und verbesserte mobile Bereitstellung. Es wurde für Produktionsumgebungen mit Fokus auf Leistung und Skalierbarkeit entwickelt. Anfang 2018 fusionierte Facebook Caffe2 mit PyTorch und kombinierte die Produktionsfähigkeiten von Caffe2 mit der flexiblen Forschungsschnittstelle von PyTorch. Das fusionierte Projekt wird als PyTorch fortgeführt, das bis 2025 eines der führenden Deep-Learning-Frameworks bleibt.
Siehe auch
- Deep Learning
- Faltendes neuronales Netz
- PyTorch
- Computer Vision
- Open-Source-Software