保存负载apollocaffe模型中的问题

时间:2016-05-21 19:08:39

标签: python machine-learning deep-learning caffe pycaffe

我使用以下命令保存我训练过的模型:

net.save(model_name)

然后使用以下命令加载它:

net.load(model_name)

但是在加载模型后,当我尝试使用net.blobs()打印blob时,它会给我一个空字典。看起来该模型未正确保存或未正确加载。

请在这方面帮助我。提前谢谢。

2 个答案:

答案 0 :(得分:2)

您的问题有两个要素。

<强>存储

要加载模型,您必须以HDF5格式保存。这可以使用SnapshotLogger类完成,如下所示:

from apollocaffe.loggers import SnapshotLogger

SnapshotLogger(snapshot_interval, snapshot_prefix='PATH_TO_YOUR_MODEL',
        log_file="PATH_TO_log.txt")

<强>装载

Loading保存的模型可以如下所示完成:

net = apollocaffe.ApolloNet()
model_path = "../model_name.h5"
net.load(model_path)

答案 1 :(得分:0)

我更深入地研究了这个问题的细节,看起来我正在正确地加载它。问题是加载模型后net.blobs将没有任何值。但是如果你将加载的模型与任何测试示例一起使用,它可以正常工作(如预期的那样)。我附加了一个示例代码,灵感来自https://github.com/Russell91/apollocaffe/blob/master/examples/apollocaffe/simple.py,这可以正常工作:

string