수색…


비고

caffe 사용자는 caffe 객체에 특정 작업을 수행하기위한 지침을 보냅니다. 이러한 객체는 설계 사양에 따라 서로 상호 작용하고 작업을 수행합니다. 이것은 기본 원칙 OOP 패러다임입니다.

많은 caffe 객체 유형 (또는 C ++ 클래스)이 있지만 기본적인 이해를 시작하기 위해 4 가지 중요한 caffe 객체에 중점을 둡니다. 이 단계에서의 우리의 목표는 특정 구현 및 설계 세부 사항이 헷갈리는 고도로 추상화 된 수준에서 이러한 객체 들간의 상호 작용을 관찰하는 것입니다. 대신 조감도에 초점을 맞 춥니 다.

4 가지 기본 caffe 개체는 다음과 같습니다.

  • 해 찾기
  • 그물
  • 얼룩

매우 기본적인 소개와 caffe 작업에서의 역할에 대한 조감도가 예제 섹션에서 간결하게 제시됩니다.

이 caffe 객체가 어떻게 상호 작용하는지에 대한 기본적인 아이디어를 읽고 얻은 후, 각 객체 유형은 전용 주제로 자세하게 읽을 수 있습니다.

이 객체들이 어떻게 상호 작용하는지.

  • 사용자가 CNN 교육 및 테스트를 위해 caffe를 사용하려고합니다. 사용자는 CNN 아키텍처 디자인 (예 : 레이어 수, 필터 수 및 세부 정보 등)을 결정합니다. 또한 사용자는 교육을 수행 할 경우 교육 및 학습 매개 변수 최적화 기술을 결정합니다. 작업이 일반 바닐라 테스트 인 경우 미리 훈련 된 모델이 사용자에 의해 지정됩니다. 이 모든 정보를 사용하여 사용자는 Solver 객체를 인스턴스화하고 Solver 객체에 명령 (교육 및 테스트와 같은 작업을 결정)을 제공합니다.

  • 해 찾기 :이 개체는 CNN의 교육 및 테스트를 감독하는 엔터티로 간주 될 수 있습니다. 그것은 프로세서와 달리기에서 CNN을 얻는 실제 계약자입니다. 그것은 CNN 교육 훈련으로 이어지는 특정 최적화를 수행하는 것을 전문으로합니다.

  • Net : Net은 작업이 수행되는 실제 CNN을 나타내는 전문 객체로 생각할 수 있습니다. Net은 Solver가 실제로 CNN에 메모리를 할당하고 인스턴스를 생성하도록 지시합니다. Net은 또한 CNN을 통해 실제로 전달 또는 역 전파를 유도하는 지침을 제공 할 책임이 있습니다.

  • 레이어 : CNN의 특정 레이어를 나타내는 개체입니다. 따라서 CNN은 레이어로 구성됩니다. Caffe와 관련하여 Net 객체는 아키텍처 정의에 지정된 " Layer "유형을 인스턴스화하고 여러 계층을 서로 연결합니다. 특정 계층은 특정 작업 집합을 수행합니다 (예 : 최대 풀링, 최소 풀링, 2D 컨볼 루션 등)

  • BLOB : 교육 및 테스트 중에 CNN을 통해 데이터가 흐릅니다. 이 데이터는 사용자 데이터를 포함하지 않고 CNN을 통해 수행되는 몇 가지 중간 계산을 포함합니다. 이 데이터는 Blob이라는 객체에 캡슐화됩니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow