2016-03-27 15 views
1

Bir audioCaffe demosunu başarıyla oluşturdum ve eğitdim ancak demo ağ kaydetmiyor.Caffe C++ ağ caffemodel dosyasını kaydetme

Ağda Python in MatLab içinde kaydetme ile ilgili belgeleri buldum, ancak C++ üzerinde herhangi bir belge bulamıyorum.

net.save("file.caffemodel") gibi benzer bir işlev olacağını düşünürdüm ama bunu denedim ve işe yaramadı. caffe.cpp tren fonksiyonunda

bu çalıştı:

if (FLAGS_snapshot.size()) { 
    LOG(INFO) << "Resuming from " << FLAGS_snapshot; 
    solver.Solve(FLAGS_snapshot); 
    } else if (FLAGS_weights.size()) { 
    LOG(INFO) << "Finetuning from " << FLAGS_weights; 
    solver.net()->CopyTrainedLayersFrom(FLAGS_weights); 
    solver.Solve(); 
    } else { 
    solver.Solve(); 
    } 
    solver.save("file.caffemodel") 

Ama no method exists error

Herhangi bir fikir var mı?

cevap

0

Snapshot() ve SnapshotToBinaryProto() - src/caffe/solver.cpp adreslerine bakmalısınız.
Arayan kodu Çözücü içindedir :: Adım:

// Save a snapshot if needed. 
    if ((param_.snapshot() 
     && iter_ % param_.snapshot() == 0 
     && Caffe::root_solver()) || 
     (request == SolverAction::SNAPSHOT)) { 
     Snapshot(); 
    } 
1

bu deneyin ...

caffe::NetParameter net_param; 
net_->ToProto(&net_param); 
caffe::WriteProtoToBinaryFile(net_param, caffe_model_path); 
İlgili konular