使用Theano CNN(LeNet)保存,加载和预测

时间:2016-07-27 16:21:57

标签: machine-learning neural-network deep-learning theano conv-neural-network

我正在寻找保存加载并在单张图片文件上进行预测的正确方法与Theano CNN (LeNet)训练的模型。 我已经使用Theano LogisticRegression和MLP完成了它,效果很好。但我无法找到如何与CNN这样做。 实际上,我不确定在保存期间我应该存储哪些参数,因为有更多层。

1 个答案:

答案 0 :(得分:0)

如果您的参数位于共享变量w,v,u中,那么您的保存命令应如下所示:

>>> import cPickle
>>> save_file = open('path', 'wb')  # this will overwrite current contents
>>> cPickle.dump(w.get_value(borrow=True), save_file, -1)  # the -1 is for HIGHEST_PROTOCOL
>>> cPickle.dump(v.get_value(borrow=True), save_file, -1)  # .. and it triggers much more efficient
>>> cPickle.dump(u.get_value(borrow=True), save_file, -1)  # .. storage than numpy's default
>>> save_file.close()

然后,您可以像这样加载数据:

>>> save_file = open('path')
>>> w.set_value(cPickle.load(save_file), borrow=True)
>>> v.set_value(cPickle.load(save_file), borrow=True)
>>> u.set_value(cPickle.load(save_file), borrow=True)