首页 Paddle框架 帖子详情
conv1d的input和filter不一致
收藏
快速回复
Paddle框架 问答深度学习模型训练 1130 3
conv1d的input和filter不一致
收藏
快速回复
Paddle框架 问答深度学习模型训练 1130 3

网络的一部分

self.cov1d = nn.Conv1D(1,32,kernel_size=5,stride=1,padding='SAME',data_format='NLC')

def forward(self,d1,d2,d3):
        sd = self.cov1d(d1)#报错行
        sd = self.relu(sd)
        sd = self.flatten(sd)
        sd = self.relu(self.fc1(sd))
        inputs_com = [sd, d2]
        cl = CombineLayer(TIME_STEPS)
        combined = cl(inputs_com)
        out1,final_states1 = self.lstm(combined)
        out2,final_states2 = self.lstm(d3,initial_state=final_states1)
        y = self.fc2(out2)
        
        return y

 

d1的数据

Tensor(shape=[1, 9, 1], dtype=float64, place=CPUPlace, stop_gradient=True,
[[[0.06142009],
[0.54790709],
[0.21413160],
[0.26372740],
[0.05794880],
[0.36735536],
[0.05000000],
[0.86115580],
[0.20000000]]])

报错:ValueError: (InvalidArgument) input and filter data type should be consistent, but received input data type is double and filter type is float
[Hint: Expected input_data_type == filter_data_type, but received input_data_type:6 != filter_data_type:5.] (at /paddle/paddle/fluid/operators/conv_op.cc:211)
[operator < conv2d > error]

d1的类型是float64,为什么报错说是double。

0
收藏
回复
全部评论(3)
时间顺序
FutureSI
#2 回复于2022-03

paddle 一般都用float32,显示转下试试

0
回复
吻得太哔甄
#3 回复于2022-04

我也遇到这个错误了

0
回复
大风歌
#5 回复于2022-05

hik

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