Caffe(Convolutional Architecture for Fast Feature Embedding)는 캘리포니아 대학교 버클리에서 처음 개발된 오픈소스 딥러닝 프레임워크이다. C++로 작성되었으며 Python 인터페이스를 제공하고, 속도와 모듈성에 중점을 두어 컴퓨터 비전 작업에 널리 사용되었다. 이 프레임워크는 이후 PyTorch에 통합되었지만, 그 유산은 연구와 산업 현장에서 계속 이어지고 있다.
역사
Caffe는 양칭 지아(Yangqing Jia)가 UC 버클리에서 Trevor Darrell의 연구실에서 박사 과정 중에 만들었다. 처음에는 "DeCAF"라고 불렸던 첫 버전은 2013년 봄에 등장했으며, ImageNet 대규모 시각 인식 챌린지(ILSVRC)에 사용되었다. 프로젝트는 Caffe로 이름이 바뀌었고 2013년 12월에 공개적으로 출시되었다. 깔끔한 아키텍처와 효율적인 GPU 지원 덕분에 널리 채택되었다. 2017년에는 Facebook(현재 Meta)이 모바일 및 프로덕션 기능이 개선된 재작성 버전인 Caffe2를 발표했다. 2018년 3월, Caffe2는 PyTorch에 통합되었고, 원래 Caffe의 개발은 중단되었으며 2018년에 지원 종료가 발표되었다.
특징
Caffe는 합성곱 신경망(CNN), 순환 신경망(RNN), 완전 연결 신경망을 포함한 다양한 딥러닝 아키텍처를 지원한다. NVIDIA cuDNN 및 Intel Math Kernel Library(MKL)와 같은 라이브러리를 통해 GPU 및 CPU 기반 가속을 제공한다. 이 프레임워크는 프로토콜 버퍼 기반의 모델 정의 형식을 사용하여 쉬운 구성과 실험을 가능하게 한다. Caffe는 또한 이미지 분류 및 객체 감지와 같은 작업을 위한 사전 훈련된 네트워크가 포함된 대규모 모델 주(model zoo)를 포함한다.
응용 분야
Caffe는 학술 연구, 스타트업 프로토타입, 대규모 산업 응용 프로그램에서 사용되었다. 이미지 분류, 분할, 객체 감지와 같은 컴퓨터 비전 작업뿐만 아니라 음성 및 멀티미디어 처리에도 적용되었다. Yahoo!는 Apache Spark와 Caffe를 통합하여 대규모 데이터 처리를 위한 분산 딥러닝 프레임워크인 CaffeOnSpark를 만들었다. 이 프레임워크의 속도와 모듈성은 초기 딥러닝 프로젝트에서 선호되는 선택이 되게 했다.
Caffe2 및 PyTorch와의 통합
2017년 4월에 발표된 Caffe2는 순환 신경망 지원과 개선된 모바일 배포를 포함한 새로운 기능을 도입했다. 성능과 확장성에 중점을 둔 프로덕션 환경을 위해 설계되었다. 2018년 초, Facebook은 Caffe2를 PyTorch와 통합하여 Caffe2의 프로덕션 기능과 PyTorch의 유연한 연구 인터페이스를 결합했다. 통합된 프로젝트는 PyTorch로 계속 이어지며, 2025년 현재 주요 딥러닝 프레임워크 중 하나로 남아 있다.