2017-03-23 2 views
0

교육받은 "Deep MNIST Tutorial"NN이 있으며 TensorFlow Python API로 모델을 테스트하는 방법을 알고 있습니다. 이제 C++로 분류자를 내보내려고합니다. 그래서 TensorFlow API없이 사용할 수 있습니다.Tensorflow - Deep MNIST Tutorial - 분류자를 C++로 내보내기

훈련 된 모델 토폴로지, 가중치 및 활성화 기능을 알고 있습니다. 이 구현의 예가 무엇입니까? 나는 그것을 찾았지만 C++에서 NN을 생성하고 훈련시키는 법을 발견했다.

미리 감사드립니다.

답변

1

Tensorflow 자습서의 다음 코드가 도움이 될 수 있습니까?

TensorFlow C++ Image Recognition Demo

이 튜토리얼의 코드는 C++로 작성 및 설치 Tensorflow없이 실행할 수 있습니다.

그러나 하나의 제한은 "frozen protobuf".pb 파일로 내보내지는 모델을 사용한다는 것입니다. 시작된 V3 사전 학습 모델을 설명한 페이지로 다운로드하거나 자신의 모델을 동결하여 하나의 모델로 만들 수 있습니다. 이미 체크 포인트로 모델/변수를 저장 한 경우

것은, 다음 코드는 그래프를 동결 도움이 될 것입니다 :

freeze_graph.py

아니면 교육을받을 끝난 후 다음과 같은 코드를 추가 할 수 있습니다 my_model.pb로 고정 된 모델 파일 :

#...some sess.run loop for training 

    output_graph_def = sess.graph_def 
    output_graph_def = graph_util.convert_variables_to_constants(
     sess, sess.graph_def, ['some_tensor_names_for_output']) 
    output_graph_def = remove_training_nodes(output_graph_def) 
    with open('my_model.pb', 'wb') as f: 
    f.write(output_graph_def.SerializeToString()) 
+0

덕분에, 그것은 도움이, 내가 "냉동 protobuf"'.pb'에 대해 알고하지 않았다. 귀하의 코드는 나를 위해 작동하지 않지만이 블로그를 발견했습니다 : https://blog.metaflow.fr/tensorflow-how-to-freeze-a-model-and-serve-it-with-a-python-api- d4f3596b3adC# .a8drpmoly –

관련 문제