ValueError: not enough values to unpack (expected 2, got 1)
来源:互联网 发布:cad截图软件 编辑:程序博客网 时间:2024/06/01 09:36
File "main_batch.py", line 202, in <module>
main(my_args)
File "main_batch.py", line 139, in main
run_loss = train(args, Encoder, Decoder, en_hidden,de_hidden, train_batch, en_optimizer, de_optimizer, criterion)
File "main_batch.py", line 51, in train
results = Decoder(out_sents_, en_hidden)
File "/users4/zsun/.local/lib/python3.6/site-packages/torch/nn/modules/module.py", line 206, in __call__
result = self.forward(*input, **kwargs)
File "/users4/zsun/graduation_design/nnet/decoder.py", line 37, in forward
output, de_hidden = self.rnn_cell(output, de_hidden)
File "/users4/zsun/.local/lib/python3.6/site-packages/torch/nn/modules/module.py", line 206, in __call__
result = self.forward(*input, **kwargs)
File "/users4/zsun/.local/lib/python3.6/site-packages/torch/nn/modules/rnn.py", line 91, in forward
output, hidden = func(input, self.all_weights, hx)
File "/users4/zsun/.local/lib/python3.6/site-packages/torch/nn/_functions/rnn.py", line 343, in forward
return func(input, *fargs, **fkwargs)
File "/users4/zsun/.local/lib/python3.6/site-packages/torch/autograd/function.py", line 202, in _do_forward
flat_output = super(NestedIOFunction, self)._do_forward(*flat_input)
File "/users4/zsun/.local/lib/python3.6/site-packages/torch/autograd/function.py", line 224, in forward
result = self.forward_extended(*nested_tensors)
File "/users4/zsun/.local/lib/python3.6/site-packages/torch/nn/_functions/rnn.py", line 285, in forward_extended
cudnn.rnn.forward(self, input, hx, weight, output, hy)
File "/users4/zsun/.local/lib/python3.6/site-packages/torch/backends/cudnn/rnn.py", line 195, in forward
hx, cx = hx
ValueError: not enough values to unpack (expected 2, got 1)
将代码:
self.rnn_cell = nn.LSTM(input_size = input_dim,
hidden_size = hidden_dim,
num_layers = num_layers,
dropout=dropout,
batch_first=True,
bidirectional=False)
改为:
self.rnn_cell = nn.GRU(input_size = input_dim,
hidden_size = hidden_dim,
num_layers = num_layers,
dropout=dropout,
batch_first=True,
bidirectional=False)
后,报错:
Traceback (most recent call last):
File "main_batch.py", line 202, in <module>
main(my_args)
File "main_batch.py", line 139, in main
run_loss = train(args, Encoder, Decoder, en_hidden,de_hidden, train_batch, en_optimizer, de_optimizer, criterion)
File "main_batch.py", line 51, in train
results = Decoder(out_sents_, en_hidden)
File "/users4/zsun/.local/lib/python3.6/site-packages/torch/nn/modules/module.py", line 206, in __call__
result = self.forward(*input, **kwargs)
File "/users4/zsun/graduation_design/nnet/decoder.py", line 40, in forward
output = nn.LogSoftmax(self.out(output[0]))
TypeError: __init__() takes 1 positional argument but 2 were given
##############################################
原因是:
lstm的每一个单元,即每一步传播,都需要Ct-1和Ht-1,需要两个隐藏层参数,
而此处只有hidden一个H,所以会报错
ValueError: not enough values to unpack (expected 2, got 1)
gru的每一个单元,即每一步传播,只需要Ht-1,所以不会出现此错误。
对于第二个错误:
TypeError: __init__() takes 1 positional argument but 2 were given
改为:
def __init__(self, 。。。):中加入self.LSoftmax = nn.LogSoftmax()
调用变为:output = self.LSoftmax(a)
错误解决。
- ValueError: not enough values to unpack (expected 2, got 1)
- ValueError: not enough values to unpack (expected 3, got 0)
- ValueError: too many values to unpack (expected 2)
- ValueError: too many values to unpack (expected 2)
- ValueError: need more than 1 values to unpack
- ValueError: too many values to unpack
- ValueError: Expected 2D array, got 1D array instead:
- 关于错误:ValueError: too many values to unpack
- 关于解决cv2.findContours返回值too many values to unpack (expected 2)的问题
- 解决cv2.findContours返回值too many values to unpack (expected 2)的问题
- ValueError: Expected 2D array, got 1D array instead 问题解决
- python错误for k,v in d: ValueError: too many values to unpack
- 关于Android 4.0编译生成Recovery的一个错误:ValueError: too many values to unpack
- 调用libsvm中的easy.py 时报错ValueError: need more than 0 values to unpack
- python2.7错误for k,v in dict: ValueError: too many values to unpack
- CDH分支节点无法被监听,错误提示ValueError: too many values to unpack
- 关于 Python opencv 使用中的 ValueError: too many values to unpack
- ValueError: need more than 1 value to unpack
- HDU1028
- 数据结构第十周项目(一)——验证算法(四)
- 选择时间 小时:分钟
- IT的道德与伦理
- MySQL (10)MySQL优化
- ValueError: not enough values to unpack (expected 2, got 1)
- Restful API 设计参考原则
- BASIC-3 基础练习 字母图形
- golang三方包应该如何安装--在线和离线
- GOROOT、GOPATH和project目录说明
- GoLang structTag说明
- linux命令ps aux|grep xxx详解
- leetcode 500. Keyboard Row
- Hive结合shell脚本实现自动化业务