Caffe – це фрейморк глибинного навчання, побудований на ідеях виразності, швидкості та модульності. Він розроблений Яньцзін Цзя в Berkeley Artificial Intelliegence Research (BAIR) та вкладах спільноти [Caffe].
Глибинні нейронні мережі визначаються в Caffe пошарово. Шар – це суть моделі та основна одиниця обчислення. Дані надходять у Caffe через шари даних. Прийнятні джерела даних – це бази даних (LevelDB або LMDB), пам’ять, файлова система, ієрархічний формат даних (HDF5) або загальні формати зображень (наприклад, GIF, TIFF, JPEG, PNG, PDF). Загальні та нормалізаційні шари забезпечують різні операції обробки та нормалізації вектора даних. Нові шари повинні бути записані в C ++ / CUDA, хоча користувацькі шари також підтримуються в Python (але вони менш ефективні).
Сильні сторони:
Підходить для FFNN та чудової реалізації CNN для обробки зображень.
Найшвидша бібліотека DL на процесорі.
Ряд заздалегідь підготовлених мереж безпосередньо в Caffe Model Zoo, доступних для негайного використання.
Легко кодувати (API / CLI) за допомогою інтерфейсу Python та MatLab.
Добре прийнятий дослідницькою спільнотою.
Слабкі сторони:
Не підтримує RNN.
Громіздкий для складних моделей DNN, тобто GoogleLeNet і ResNet.
Користувацькі шари повинні бути написані на C ++.