首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Theano/lasagne: ValueError: mismatch:获取10个值来设置0个参数

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

Stack Overflow用户
提问于 2016-04-21 15:48:00
回答 1查看 419关注 0票数 1

我用theano/lasagne训练了一个神经网络,并用这段代码保存了网络参数:

代码语言:javascript
复制
np.savez('model.npz', *lasagne.layers.get_all_param_values(network))

现在,我想加载模型并设置网络参数,这样我就可以测试它是否正常工作。我用这段代码加载参数:

代码语言:javascript
复制
with np.load('model.npz') as f:
        param_values = [f['arr_%d' % i] for i in range(len(f.files))]

然后,我尝试将网络的参数设置为加载的参数,如下所示:

代码语言:javascript
复制
lasagne.layers.set_all_param_values(self._output_layer, param_values, allow_input_downcast=True)

但是我得到了这个错误:

代码语言:javascript
复制
> 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

然而,当我获得网络中的所有参数并查看长度时,有10个参数。

代码语言:javascript
复制
x = lasagne.layers.get_all_param_values(self._output_layer)
len(x) # 10

因此,参数的数量是相同的,但不知何故,我还是得到了这个错误。知道为什么吗?我是不是忽略了什么?

我很感谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2016-04-28 16:20:42

如果调用不带allow_input_downcast=True标志的set_all_param_values,就不会发生这种情况。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36763110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档