MXnet

2017-04-20 1 views
2

내가 (R)에 CNN과 훈련에 대한 MXnet를 사용하고 사용시 모델을 저장하고 난 다음 코드를 사용하여 오류없이 모델을 학습 할 수 방법 :이 과정은 시간이로MXnet

model <- mx.model.FeedForward.create(symbol=network, 
            X=train.iter, 
            ctx=mx.gpu(0), 
            num.round=20, 
            array.batch.size=batch.size, 
            learning.rate=0.1, 
            momentum=0.1, 
            eval.metric=mx.metric.accuracy, 
            wd=0.001, 
            batch.end.callback=mx.callback.log.speedometer(batch.size, frequency = 100) 
    ) 

그러나 - 소비, 밤에는 서버에서 실행하고 훈련을 마친 후에는 모델을 사용하기 위해 모델을 저장하려고합니다.

save(list = ls(), file="mymodel.RData") 

mx.model.save("mymodel", 10) 

을하지만 그들 중 누구도 모델을 저장할 수 있습니다 :

내가 사용! 예를 들어 "mymodel.RData"을로드 할 때 테스트 세트의 라벨을 예측할 수 없습니다.

Error in model$symbol$as.json() : external pointer is not valid 

아무도 나에게 절약을위한 솔루션을 제공 할 수 : 나는 다음과 같은 오류가

graph.viz(model$symbol$as.json()) 

: 나는 "mymodel.RData"을로드하고 다음 코드로 플롯 할 때

또 다른 예입니다 나중에이 모델을로드하여 사용할 수 있습니까?

감사

+0

@marbel하여 모델을 저장할 수 있습니까? – Mohammad

+0

해결책을 찾았는데 테스트하자 마자 여기에 게시합니다. :) – Mohammad

답변

2

당신은

model <- mx.model.FeedForward.create(symbol=network, 
           X=train.iter, 
           ctx=mx.gpu(0), 
           num.round=20, 
           array.batch.size=batch.size, 
           learning.rate=0.1, 
           momentum=0.1, 
           eval.metric=mx.metric.accuracy, 
           wd=0.001, 
           epoch.end.callback=mx.callback.save.checkpoint("model_prefix") 
           batch.end.callback=mx.callback.log.speedometer(batch.size, frequency = 100) 
) 
0

훈련 진행의 스냅 샷을 저장하는 가장 좋은 방법은 모든 시대의 교육 후 콜백의 일환으로 save_snapshot (http://mxnet.io/api/python/module.html#mxnet.module.Module.save_checkpoint)를 사용하는 것입니다. R에서 동등한 명령은 아마도 mx.callback.save.checkpoint이지만, R을 사용하지 않고 사용법에 대해 확신하지 못합니다.

이러한 스냅 샷을 사용하면 AWS 스팟 시장 (https://aws.amazon.com/ec2/spot/pricing/)을 사용하는 저비용 옵션을 사용할 수 있습니다. 예를 들어 주문형 가격과 비교하여 16 K80 GPU를 사용하는 인스턴스를 $ 3.8/시간으로 제공합니다 14.4 달러. 현물 시장에서는 이러한 80 % -90 % 할인이 일반적이며 이러한 스냅 샷을 올바르게 사용하는 한 교육 속도와 비용을 최적화 할 수 있습니다. 제발 당신이 나를 도울 수 있다면 당신은 볼 수 있습니다

관련 문제