2017-09-25 6 views
0

또한이 질문을 repository에 게시합니다.MXnet : 파일에서로드 된 모델을 계속 교육하는 중에 오류가 발생했습니다

튜토리얼 here에 따라 이전에 파일에 저장된 모델을로드하려고합니다. 튜토리얼에서와 같이 나는 정확히 같은 명령을 사용하지만, 나는 다음과 같은 오류 메시지와 함께 사항 :

Traceback (most recent call last): 
    File "test.py", line 153, in <module> 
    num_epoch=num_epoch) 
    File "/home/mypath/software/try_mxnet2/mxnet/python/mxnet/module/base_module.py", line 496, in fit 
    self.update_metric(eval_metric, data_batch.label) 
    File "/home/mypath/software/try_mxnet2/mxnet/python/mxnet/module/module.py", line 735, in update_metric 
    self._exec_group.update_metric(eval_metric, labels) 
    File "/home/mypath/software/try_mxnet2/mxnet/python/mxnet/module/executor_group.py", line 567, in update_metric 
    for label, axis in zip(labels, self.label_layouts): 
TypeError: zip argument #2 must support iteration 

로딩의 코드를 다음과 같이 파일을 재교육하는 것입니다 :

sym, arg_params, aux_params = mx.model.load_checkpoint('../model/test_mymodel', 25) 
lenet_model = mx.mod.Module(symbol=sym, context=mx.gpu(), label_names=None) 

lenet_model.bind(for_training=True, data_shapes=[('data', (batch_size,3,16,16))], 
     label_shapes=lenet_model._label_shapes) 
lenet_model.set_params(arg_params, aux_params, allow_missing=True) 
lenet_model.fit(train_iter, 
       optimizer='adam', 
       optimizer_params={'learning_rate':0.001,'wd':0.0005}, 
       eval_metric='acc', 
       batch_end_callback = mx.callback.Speedometer(batch_size, n_report), 
       epoch_end_callback = mx.callback.do_checkpoint("../model/test_mymodel", 5), 
       num_epoch=num_epoch) 

내가 가지고있는 것처럼 테스트 한 결과, 라인 lenet_model.fit(...)을 주석 처리 할 때 오류가보고되지 않습니다. 로드 된 모델을 지속적으로 교육 할 수 없거나 내 코드에 문제가있는 것 같습니다.

나는 종류의 솔루션을 기대합니다. 감사!

+0

/model/test_mymodel.py 파일을 공유 하시겠습니까? – rgaut

+0

@ rgaut. 'test_mymodel.py' 파일은 없습니다. 'test_mymodel'은 모델 파일의 접두어입니다. 'test_mymodel-0000.params'와 같은 것입니다. – pfc

+0

로컬로 재생할 수있는 방법이 있습니까? – rgaut

답변