2016-08-14 5 views
2

Tensorflow를 사용하면 tf.train.write_graph 메소드를 사용하여 모형의 구조를 저장 /로드 할 수 있으므로 교육 세션을 계속 진행할 수 있습니다. 그러나, 내가 GraphDefinition.py와 같은 모듈을 생성하고이 모듈을 사용하여 모델을 다시 만들 수 있기 때문에 이것이 필요한 경우 궁금합니다. 그럼, 모델 구조를 저장하는 더 좋은 방법은 무엇입니까? 또는 모델을 저장할 때 어떤 방법으로 사용해야하는지 제안하는 경험 법칙이 있습니까?tensorflow의 모델 저장

+0

코드 예제를 제공해 주시겠습니까? 또는 추가 정보? TensorFlow 모델의 가중치를 저장하기 위해 모듈을 만드는 것이 왜 중요한지 알 수 없습니다. 전체 그래프를 저장할 수 있습니다 (크기를 보면 약간의 오버 헤드가있을 것입니다). 또는 어떤 가중치를 저장해야하는지 지정할 수 있습니다. 그러나 사용 된 메모리에도 불구하고 큰 차이는 없습니다. – daniel451

답변

3

먼저 tensorflow 그래프에 현재 가중치가 없다는 것을 이해해야합니다 (수동으로 거기에 저장할 때까지). graph.pb에서 모델 구조를로드하면 처음부터 교육을 시작할 것입니다 . 그러나 훈련 된 모델을 계속 훈련하거나 사용하려면 구조뿐만 아니라 변수의 값을 사용하여 검사 점 (tf Saver 사용)을 저장해야합니다. 이 트레드를 확인하십시오 : Tensorflow: How to restore a previously saved model (python)

+0

예. 나는 tf.Saver를 사용하여 무게를 저장해야한다는 것을 이해합니다. 내가 얻을 수없는 것은 모델 구조를 graph.pb에 저장하고 그 파일에서 그래프를 다시로드해야하거나 직접 그래프를 다시 만들어야한다는 것입니다. – user3425082

+0

그래프와 체크 포인트에서 중요한 작업 및 변수에 대해 동일한 이름 (파이썬 \ C++ 이름이 아니라 tf, 즉 a : tf.Variable (값, 이름 = '정의 - 이름 - 여기')) 파일을 올바르게로드해야하지만이를 얻는 방법은 전적으로 귀하에게 달려 있습니다. 그래프 정의 파일을 저장하고 복원하거나 코드로 다시 만들 수 있습니다. –