2017-04-26 7 views
1

텐서 흐름의 교육 과정에는 두 모델 간의 전환이 포함됩니다. tf.saver를 사용하고 하드 디스크에서 모델을 복원하는 데 시간이 많이 걸리는 반면 (내 코드에서 전환이 자주 발생하므로) 모델 매개 변수를 메모리에 저장하고 복원하는 방법이 있는지 궁금합니다. 그냥 메모리에서. 내 모델은 다소 작아서 RAM에 확실히 저장할 수 있습니다. stackoverflow에서 한 가지 대답이 있습니다. Storing tensorflow models in memory 그러나 이것이 어떻게 작동하는지 이해하지 못합니다. 누구든지이 목표를 달성하는 방법을 알고 있습니까? 고맙습니다.Tensorflow : 교육 중에 모델을 메모리에 저장하는 방법

+0

특히 이해에 도움이 필요한 것은 무엇입니까? 당신이 링크 한 질문에는 답이 있습니다. – msitt

+0

어떻게 사용하는지 모르겠습니다. Comp1과 Comp2는 실제로 무엇을 의미합니까? –

답변

0

당신은 단지 다음과 같이 두 개의 그래프를 사용한다 : 방금 사용할 수 있습니다 sess2sess1을 생성하고 나면

g1 = tf.Graph() 
g2 = tf.Graph() 

with g1.as_default(): 
    # build your 1st model 
    sess1 = tf.Session(graph=g1) 
    # do some work with sess1 on g1 
    sess1.run(...) 

with g2.as_default(): 
    # build your 2nd model 
    sess2 = tf.Session(graph=g2) 
    # do some work with sess2 on g2 
    sess2.run(...) 

with g1.as_default(): 
    # do some more work with sess1 on g1 
    sess1.run(...) 

with g2.as_default(): 
    # do some more work with sess2 on g2 
    sess2.run(...) 

sess1.close() 
sess2.close() 

당신은 실제로는 참조 것,의 with 문을 필요하지 않습니다 올바른 그래프 일 수도 있지만, TF가 전역 변수를 사용하는 방식에 익숙해지는 동안 그래프로 작업 할 때마다 기본 그래프를 설정하는 것이 좋습니다.

+0

답장을 보내 주셔서 정말로 감사 드리며 모델 1의 모든 매개 변수를 모델 2에 복사하는 방법을 알고 싶습니다 (실제로는 동일한 구조에 있음). 이제는 모델 1을 저장하고 모델 2를 복원 한 다음 모델 1을 복원하는 데 시간이 많이 걸립니다. –

+0

시도하지는 않았지만 빠른 Google 검색에서 쉽게들을 수 있습니다. http : // stackoverflow. co.kr/questions/36438800/tensorflow-across-variables-across-그래프 https://www.tensorflow.org/programmers_guide/variable_scope –

+0

유용한 정보 : http://stackoverflow.com/questions/41600321/distributed -tensorflow-the-difference-in-graph-replication-between-between/41601168 # 41601168 –

관련 문제