老哥这个错误是什么意思
收藏
RuntimeError: (NotFound) Operator elementwise_floordiv does not have kernel for data_type[double]:data_layout[ANY_LAYOUT]:place[CUDAPlace(0)]:library_type[PLAIN].
[Hint: Expected kernel_iter != kernels.end(), but received kernel_iter == kernels.end().] (at /paddle/paddle/fluid/imperative/prepared_operator.cc:159)
[operator < elementwise_floordiv > error]
我想在模型中加入SE,但好像在全局平局池化那出现了问题,产生了这个错误
0
收藏
请登录后评论
我看到了与你这个错误很类似的一个错误,原因是暂时不支持。你这个错误应该也是同样的原因。
我换了几个代码,我看问题主要还是出在池化这一步上,在前向计算时,到池化这一步就会报错,难道是paddle半精度不支持池化吗,elementwise_floordiv好像是这个支持半精度
elementwise_floordiv好像是这个不支持半精度
我顺着代码找到了出问题的地方,应该就是在自适应平均池化哪个位置,
def count_adap_avgpool(m, x, y):
kernel = paddle.to_tensor(
[*(x[0].shape[2:])], dtype=paddle.int64) // paddle.to_tensor([*(y.shape[2:])], dtype=paddle.int64)
total_add = paddle.prod(kernel)
num_elements = y.numel().item()
m.total_ops += counter_adap_avg(total_add, num_elements)
原代码是float64位 ,改成int64位 , 程序就可以正常执行了
666666666666
问题是出在这个地方,但我感觉改的不对
遇到同样问题了 解决了吗
谢谢老哥 我那个也跑起来了。请问一下“elementwise_floordiv好像是这个不支持半精度 ”是什么意思呢?能具体说一下吗,谢谢!