Caffe
Caffe — среда для глубинного обучения, разработанная Яньцинем Цзя (Yangqing Jia) в процессе подготовки своей диссертации в университете Беркли. Caffe является открытым программным обеспечением, распространяемым под лицензией BSD license.[4] Написано на языке C++, и поддерживает интерфейс на языке Python.[5]
Caffe | |
---|---|
Тип | среда для глубинного обучения |
Автор | Yangqing Jia |
Разработчик | Berkeley Vision and Learning Center |
Написана на | C++ |
Операционная система | Linux, macOS, Windows[1] |
Последняя версия | 1.0[2] (18 апреля 2017 ) |
Лицензия | BSD[3] |
Сайт | caffe.berkeleyvision.org |
Название Caffe произошло от сокращения «Convolution Architecture For Feature Extraction» (Свёрточная архитектура для извлечения признаков).
История
Яньцинь Цзя в университете Беркли создал среду Caffe для поддержки глубинного обучения. Ключевым вопросом диссертации было обеспечение эффективной параллельной обработки многомерных матричных операций, для чего было принято решение создать фреймворк на основе математической библиотеки MATLAB и мультипроцессорной архитектуры CUDA. Первоначальная разработка заняла только два месяца.[6] К проекту присоединились множество разработчиков и теперь его хостинг осуществляется через веб-сервис GitHub.[7]
В апреле 2017 Facebook объявил о создании Caffe2[8], который включает в себя новые возможности, в частности рекуррентные нейронные сети.
В мае 2018 команды Caffe2 и PyTorch объединились.[9] С тех пор код Caffe2 перенесён в репозиторий PyTorch и является частью последнего.
Характеристики
Caffe поддерживает много типов машинного обучения, нацеленных в первую очередь на решение задач классификации и сегментации изображений. Caffe обеспечивает свёрточные нейронные сети, RCNN, долгую краткосрочную память и полносвязные нейронные сети.[10] При этом для ускорения обучения применяется система графических процессоров (GPU), поддерживаемая архитектурой CUDA и иcпользующих библиотеку CuDNN от фирмы Nvidia.[11]
Caffe позволяет использовать готовые промышленные конфигурации нейронных сетей, прошедшие апробацию. В комплект входит, в частности AlexNet, победившая в 2012 году в соревновании по распознаванию изображений ImageNet[12], и GoogLeNet, победившая в соревнованиях ImageNet 2014 года[13]
Caffe манипулирует блобами — многомерными массивами данных, которые используются в параллельных вычислениях, которые помещаются в CPU или GPU. Обучение в cвёрточной нейронной сети реализуется как параллельные многопроцессорные вычисления блобов от слоя к слою (прямым и обратным ходом). Solver (решатель) координирует весь процесс обучения — прямой ход от исходных к выходным данным, получение функции ошибок, обратный ход (Метод обратного распространения ошибки) назад от выходного слоя с использованием градиентов ошибок. При этом Caffe реализует различные стратегии обучения для Solverа.
В качестве входа используются данные из памяти, из базы данных или со внешних носителей информации. В качестве скрытых слоёв используются традиционные для свёрточной сети свёрточные слои, слои ReLU, пулинг, полносвязные слои, а также слои разворачивания (деконволюции) для сетей RNN. Обеспечены также многие другие типы слоёв, фильтров, преобразований данных и функций ошибок.
Приложения
Caffe применяется в академических исследованиях, прототипов для стартапов, а также и для промышленного применения — распознавания изображений, речи или мультимедиа. Yahoo! также интегрировала Caffe со средой Apache Spark, создав распределённый фрэймворк CaffeOnSpark.[14]
См. также
Примечания
- Microsoft/caffe . GitHub.
- Release 1.0 .
- caffe/LICENSE at master . GitHub.
- BVLC/caffe . GitHub.
- Comparing Frameworks: Deeplearning4j, Torch, Theano, TensorFlow, Caffe, Paddle, MxNet, Keras & CNTK (недоступная ссылка). Дата обращения: 22 июля 2017. Архивировано 29 марта 2017 года.
- The Caffe Deep Learning Framework: An Interview with the Core Developers . Embedded Vision.
- Caffe: a fast open framework for deep learning. . GitHub.
- Caffe2 Open Source Brings Cross Platform Machine Learning Tools to Developers .
- Caffe2 and PyTorch join forces to create a Research + Production platform PyTorch 1.0 .
- Caffe tutorial - vision.princeton.edu . Архивировано 5 апреля 2017 года.
- Deep Learning for Computer Vision with Caffe and cuDNN .
- ImageNet Classification with Deep Convolutional Neural Networks
- GoogLeNet (недоступная ссылка)
- Yahoo enters artificial intelligence race with CaffeOnSpark.
Ссылки
- caffe.berkeleyvision.org — официальный сайт Caffe (GitHub)
- Введение в Caffe