tensorflow c++ 예제

최근에는 장치에 TensorFlow 프레임워크에서 학습된 딥 러닝 모델을 배포하는 작업을 진행하고 있습니다. TensorFlow 파이썬 API 및 TensorFLow 팀에서 배포를 위한 사용자 지정 코드를 작성하는 것은 매우 쉽습니다. 그러나 장치에서 더 나은 암호화가 필요하기 때문에 배포를 위해 파이썬 API 대신 TF C ++ API를 사용하려고합니다. 게다가 나는 또한 까마귀를 사용, 파이썬 FLASK에서 유사한 구문을 가진 C ++ 마이크로 웹 프레임 워크, 추론의 HTTP 요청에 대한 간단한 C ++ 웹 서버를 작성합니다 . C++ 가이드의 예제를 살펴보겠습니다(일부 수정 사항): 최소 TensorFlow 그래프를 만들어 protobuf 파일로 작성해 보겠습니다. 나중에 그래프를 실행할 때 쉽게 할당할 수 있도록 입력 및 작업에 이름을 할당해야 합니다. 노드의 기본 이름은 있지만 매우 유용하지 않습니다: 변수_1 또는 Mul_3. Jupyter로 만든 예제는 다음과 같습니다 파이썬에서 모델을 만들고 그래프를 디스크에 저장하고 C / C +/ Go / 파이썬에로드하여 추론을 수행하십시오. 이러한 예제는 텐서플로우 C-API를 기반으로 하므로 pip 패키지(텐서포우 gpu)에 제공되지 않는 libtensorflow_cc.so 라이브러리가 필요합니다. 따라서 소스에서 TensorFlow를 미리 빌드해야 합니다(예: 예제에서 와 같이 함수 헤더를 사용하는 경우) 함수에 대한 입력 매개 변수는 파일 이름, 이미지 크기, 정규화 값 및 출력 참조입니다. 나는 TensorBoard에 대한 또 다른 bool 플래그를 추가, 우리는 나중에 이유를 볼 수 있습니다. C++ API(및 시스템의 백엔드)는 텐서플로우/코어에 있습니다. 현재 C++ 세션 인터페이스와 C API만 지원되고 있습니다.

이 중 하나를 사용하여 Python API를 사용하여 빌드되고 GraphDef 프로토콜 버퍼로 직렬화된 TensorFlow 그래프를 실행할 수 있습니다. C ++에서 그래프를 작성하기위한 실험적 기능도 있지만 현재는 Python API (예 : 자동 차별화에 대한 지원 없음)만큼 완전히 특징지어지지 는 않습니다. 여기에서 C++에서 작은 그래프를 작성하는 예제 프로그램을 볼 수 있습니다. 어쨌든 첫 번째 예제 코드를 이 문서의 기본으로 사용합니다. 1. 이미지 표시 – 이미지를 로드하고, 미리 학습된 그래프를 로드하고, 분류를 위해 그래프를 통해 이미지를 실행하는 방법을 보여 주시면 됩니다. GitHub에서 복제할 수 있는 TensorFlow 코드에서 몇 가지 C++ 예제를 발견했습니다.