1

저는 TensorFlow를 처음 사용하고 있으며, 제 아이디어가 가능한지 알고 싶습니다.TensorFlow를 사용하여 새 모델로 이전 모델을 재교육 할 수 있습니까?

나는 다중 클래스 분류자를 가진 모형을 훈련시켰다. 이제 문장을 입력으로 분류 할 수 있지만, 예를 들어 분류 점수를 높이거나 분류를 변경하기 위해 CNN의 결과를 변경하고 싶습니다.

훈련 된 모델에서 수업을 통해 단 하나의 문장 만 배우고 싶습니다. 가능합니까?

답변

0

질문을 올바르게 이해했다면 이전에 숙련 된 모델을 다시로드하여 추가 반복을 통해 실행하거나 새 문장에서 테스트하거나 모델을 미세 조정하십시오. 이 경우, 가능합니다. 모델을 저장하고 복원하는 방법을 살펴보십시오 (https://www.tensorflow.org/api_guides/python/state_ops#Saving_and_Restoring_Variables). 모델 이제

trainable_var = tf.trainable_variables() 
sess = tf.Session() 
saver = tf.train.Saver() 
sess.run(tf.global_variables_initializer 

# Run/train your model until some completion criteria is reached 
#.... 
#.... 

saver.save(sess, 'model.ckpt') 

, 다시로드 :

saver = tf.train.import_meta_graph('model.ckpt.meta') 
saver.restore('model.ckpt') 
#Note: if you have already defined all variables before restoring the model, import_meta_graph is not necessary 

당신이 처음에 모델을 학습 대략적인 윤곽을, 설정하는 보호기를 네트워크 아키텍처를 설정 한 후 부여하려면

이렇게하면 모든 훈련 된 변수에 액세스 할 수있게되어 새로운 문장을 입력 할 수있게됩니다. 희망이 도움이됩니다.

+0

고마워요! 그런 다음 클래스의 점수 변경을 위해 단 하나의 문장 만 학습 할 수 있습니까? – Developer

+0

죄송합니다. 귀하의 질문을 이해할 수 없다고 생각합니다. 당신은 하나의 문장을 예측하거나 모델이 어떻게 훈련 받았는지 한 문장을 추가하려고합니까? 어느 쪽이든 예. 하나의 문장을 예측하고 싶다면'sess.run (model_output, feed_dict = {x : single_sentence})'만하면됩니다. 'sess.run (train_step, feed_dict = {x : single_sentence ")' – bnorm

+0

하나의 문장을 모델 교육에 추가하고 싶습니다 .감사합니다 !! – Developer