2017-04-17 5 views
1

나는 CNN을 훈련시키고있다. 나는 총 신기원의 마지막에 약 0.001 l2의 손실을 달성하고 체크 포인트를 저장했다. 이제 훈련을 재개하려고 할 때 검사 점을로드하고 시작하는 오류가 0.008보다 큽니다. 여기torch7의 체크 포인트에서 CNN 교육 재개

내가 체크 포인트를 저장하고 방법입니다

여기
paths.mkdir('checkpointsR3') 
parametersR, gradParametersR = nil, nil -- nil them to avoid spiking memory 
if epoch % 50 == 0 then 
    util.save('checkpointsR3/' .. opt.name .. '_' .. (epoch+1000) .. '_net_R.t7', netR, opt.gpu) 
end 

내가 체크 포인트를로드하고 방법입니다

-- load Residual Learner 
assert(opt.net ~= '', 'provide a generator model') 
netR = util.load(opt.net, opt.gpu) 
netR:evaluate() 

폴더 내 util 직접 soumith chintala's dcgan.torch에서 사용되는 루아 파일입니다.

내가 잘못 가고있는 곳을 알고 싶습니다. 왜 L2 체크 포인트에서 훈련했을 때보 다 L2 손실이 높은지 알고 싶습니다. 가장 훈련 된 체크 포인트를로드하고 있지만 여전히 높은 오류가 발생하고 있음을 확인했습니다.

답변

1

알 수 있습니다. 그것의 잘못 : 토치 문서 여기

netR:evaluate() 

Documentation 한 훈련을 재개하고자하는 경우 교육 및 시험에 대해 다르게 BatchNormalization 층을 초기화하기 때문에, training() 대신 evaluate()의 사용되어야한다고 주장한다.

관련 문제