如何在 nolearn.lasagne NeuralNet 模型中存储权重和偏差?从文档中,我看不到如何访问 NeuralNet 的权重和偏差并存储它们。
问问题
329 次
1 回答
0
要保存整个 nolearn 模型(训练历史、参数和架构),您可以这样做:
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)
请注意,如果您在 GPU 上训练模型并使用上述方法对其进行腌制,但想在 CPU 上对其进行腌制(反之亦然),这将不起作用。在这种情况下,您应该只保存参数值,您可以这样做:
weights = lasagne.layers.get_all_param_values(nolearnnet.get_all_layers()[-1])
现在您可以保存这些权重。当您想将它们加载到另一个 nolearn 模型中时,您可以执行以下操作:
lasagne.layers.set_all_param_values(nolearnnet2.get_all_layers()[-1], weights)
参考此讨论可能会有所帮助:https ://groups.google.com/forum/#!topic/lasagne-users/BbG95R6SZ0I
于 2017-01-22T19:52:30.933 回答