如何使用pickle存储和读取nolearn.lasagne NeuralNet模型

时间:2016-12-20 04:05:23

标签: python deep-learning pickle lasagne nolearn

如何在nolearn.lasagne NeuralNet模型中存储权重和偏差?从文档中,我无法了解如何访问NeuralNet的权重和偏差并存储它们。

1 个答案:

答案 0 :(得分:0)

要保存整个nolearn模型(培训历史,参数和架构),您可以这样做:

for my $index ( 0 .. $#aoh ) { ... }

请注意,如果你在GPU上训练你的模型并使用上面的方法来挑选它,但是想要在CPU上取消它(或反之亦然),这将无效。在这种情况下,您应该只保存参数值,您可以这样做:

import cPickle as pickle
sys.setrecursionlimit(10000) # you may need this if the network is large
with open("model_file", 'wb') as f:
     pickle.dump(nolearnnet , f, -1)

现在你可以保存这些重量了。如果要将它们加载到另一个nolearn模型中,可以执行以下操作:

weights = lasagne.layers.get_all_param_values(nolearnnet.get_all_layers()[-1])

参考此讨论可能会有所帮助:https://groups.google.com/forum/#!topic/lasagne-users/BbG95R6SZ0I