Python Theano/lasagne:ValueError:mismatch:获取10个值以设置0个参数

Python Theano/lasagne:ValueError:mismatch:获取10个值以设置0个参数,python,theano,lasagne,Python,Theano,Lasagne,我在theano/lasagne中训练了一个神经网络,并用以下代码保存了网络参数: np.savez('model.npz', *lasagne.layers.get_all_param_values(network)) with np.load('model.npz') as f: param_values = [f['arr_%d' % i] for i in range(len(f.files))] 现在,我想加载模型并设置网络参数,以便测试它是否正常工作。我正在用这段

我在theano/lasagne中训练了一个神经网络,并用以下代码保存了网络参数:

np.savez('model.npz', *lasagne.layers.get_all_param_values(network))
with np.load('model.npz') as f:
        param_values = [f['arr_%d' % i] for i in range(len(f.files))]
现在,我想加载模型并设置网络参数,以便测试它是否正常工作。我正在用这段代码加载参数:

np.savez('model.npz', *lasagne.layers.get_all_param_values(network))
with np.load('model.npz') as f:
        param_values = [f['arr_%d' % i] for i in range(len(f.files))]
然后我尝试将网络参数设置为加载的参数,如下所示:

lasagne.layers.set_all_param_values(self._output_layer, param_values, allow_input_downcast=True)
但是我得到了这个错误:

> Traceback (most recent call last):
  File "snake_player.py", line 406, in <module>
    player = SnakePlayer()
  File "snake_player.py", line 99, in __init__
    self.loadModel()
  File "snake_player.py", line 328, in loadModel
    lasagne.layers.set_all_param_values(self._output_layer, param_values, allow_input_downcast=True, trainable=True)
  File "C:\Anaconda2\lib\site-packages\lasagne\layers\helper.py", line 446, in set_all_param_values
    (len(values), len(params)))
ValueError: mismatch: got 10 values to set 0 parameters
所以参数的数量是相同的,不知怎么的,我仍然得到这个错误。知道为什么吗?我是不是忽略了什么


非常感谢您的帮助。

如果您调用
set\u all\u param\u values
而不使用
allow\u input\u downcast=True
标志,则不会发生这种情况

如果调用
set_all_param_value
而不调用
allow_input_downcast=True
标志,则不会发生这种情况