首页 Paddle框架 帖子详情
单机多卡训练的时候用自注意力机制出现softmax不支持的问题
收藏
快速回复
Paddle框架 问答深度学习 560 1
单机多卡训练的时候用自注意力机制出现softmax不支持的问题
收藏
快速回复
Paddle框架 问答深度学习 560 1

我在自己的网络里加了个自注意力层,但是放到脚本里去训练就报错

Traceback (most recent call last):
File "run.py", line 221, in
trainG.train()
File "run.py", line 188, in train
fake_imgs,_=modelG(noise,c_code)
File "/opt/_internal/cpython-3.7.0/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 917, in __call__
return self._dygraph_call_func(*inputs, **kwargs)
File "/opt/_internal/cpython-3.7.0/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 907, in _dygraph_call_func
outputs = self.forward(*inputs, **kwargs)
File "/opt/_internal/cpython-3.7.0/lib/python3.7/site-packages/paddle/fluid/dygraph/parallel.py", line 704, in forward
outputs = self._layers(*inputs, **kwargs)
File "/opt/_internal/cpython-3.7.0/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 917, in __call__
return self._dygraph_call_func(*inputs, **kwargs)
File "/opt/_internal/cpython-3.7.0/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 907, in _dygraph_call_func
outputs = self.forward(*inputs, **kwargs)
File "/mnt/code_20220228155740/model.py", line 233, in forward
h_code2 = self.h_net2(h_code1, c_code)
File "/opt/_internal/cpython-3.7.0/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 917, in __call__
return self._dygraph_call_func(*inputs, **kwargs)
File "/opt/_internal/cpython-3.7.0/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 907, in _dygraph_call_func
outputs = self.forward(*inputs, **kwargs)
File "/mnt/code_20220228155740/model.py", line 182, in forward
out_code=self.att(out_code)
File "/opt/_internal/cpython-3.7.0/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 917, in __call__
return self._dygraph_call_func(*inputs, **kwargs)
File "/opt/_internal/cpython-3.7.0/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 907, in _dygraph_call_func
outputs = self.forward(*inputs, **kwargs)
File "/mnt/code_20220228155740/model.py", line 46, in forward
attention_ = self.softmax(s)
File "/opt/_internal/cpython-3.7.0/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 917, in __call__
return self._dygraph_call_func(*inputs, **kwargs)
File "/opt/_internal/cpython-3.7.0/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 907, in _dygraph_call_func
outputs = self.forward(*inputs, **kwargs)
File "/opt/_internal/cpython-3.7.0/lib/python3.7/site-packages/paddle/nn/layer/activation.py", line 1171, in forward
return F.softmax(x, self._axis, self._dtype, self._name)
File "/opt/_internal/cpython-3.7.0/lib/python3.7/site-packages/paddle/nn/functional/activation.py", line 913, in softmax
return _C_ops.softmax(outs_cast, 'axis', axis, 'use_cudnn', use_cudnn)
OSError: (External) CUDNN error(9), CUDNN_STATUS_NOT_SUPPORTED.
[Hint: 'CUDNN_STATUS_NOT_SUPPORTED'. The functionality requested is not presently supported by cuDNN. ] (at /paddle/paddle/fluid/platform/cudnn_helper.h:221)

 

看错误好像是cudnn不支持softmax? 

0
收藏
回复
全部评论(1)
时间顺序
十进制到二进制
#2 回复于2022-02

h_net2从这里开始就错了。应该不是不支持,是你网络结构写的有问题。你可以用model.summary先把模型可视化下,看有没有问题

0
回复
需求/bug反馈?一键提issue告诉我们
发现bug?如果您知道修复办法,欢迎提pr直接参与建设飞桨~
在@后输入用户全名并按空格结束,可艾特全站任一用户