코드 16-1 간략화한 cv::dnn::Net 클래스 정의
01 class Net 02 { 03 public: 04 Net(); 05 ~Net(); 06 07 bool empty() const; 08 09 Mat forward(const String& outputName = String()); 10 void setInput(InputArray blob, const String& name = "", 11 double scalefactor = 1.0, const Scalar& mean = Scalar()); 12 13 void setPreferableBackend(int backendId); 14 void setPreferableTarget(int targetId); 15 16 int64 getPerfProfile(std::vector<double>& timings); 17 ... 18 };
• 4~5행 기본 생성자와 소멸자입니다.
• 7행 Net::empty() 멤버 함수는 네트워크가 비어 있으면 true를 반환합니다.
• 9행 Net::forward() 멤버 함수는 네트워크 입력을 설정합니다.
• 10~11행 Net::setInput() 멤버 함수는 네트워크를 순방향으로 실행합니다.
• 13행 Net::setPreferableBackend() 멤버 함수는 선호하는 백엔드(backend)를 지정합니다.
• 14행 Net::setPreferableTarget() 멤버 함수는 선호하는 타깃 디바이스(target device)를 지정합니다.
• 16행 Net::getPerfProfile() 멤버 함수는 추론에 소요된 전체 틱 시간과 각 레이어에서 소요된 틱 시간을 반환합니다.