首页 Paddle框架 帖子详情
全局自适应平均池化的问题,困扰了我很久
收藏
快速回复
Paddle框架 问答炼丹技巧模型训练深度学习 485 3
全局自适应平均池化的问题,困扰了我很久
收藏
快速回复
Paddle框架 问答炼丹技巧模型训练深度学习 485 3

def count_adap_avgpool(m, x, y):
    kernel = paddle.to_tensor(
        [*(x[0].shape[2:])], dtype=paddle.float64) // paddle.to_tensor([*(y.shape[2:])], dtype=paddle.float64)
    total_add = paddle.prod(kernel)
    num_elements = y.numel().item()
    m.total_ops += counter_adap_avg(total_add, num_elements)

关于上面的函数,是在profile_utils文件中,请问这个函数的作用是什么,可以将上面的float32 改成 int64 吗, 模型在关于avgpool前向计算上一直出错,把上面的float32 改成 int64就不会报错,不知道这样改对不对,会不会对模型精度产生影响

0
收藏
回复
全部评论(3)
时间顺序
JavaRoom
#2 回复于2021-12

好细心,我不会

0
回复
skywalk163
#3 回复于2021-12

我看官方是这样写的,建议参考官方

def count_adap_avgpool(m, x, y):
    kernel = np.array(x[0].shape[2:]) // np.array(y.shape[2:])
    total_add = np.product(kernel)
    total_div = 1
    kernel_ops = total_add + total_div
    num_elements = y.numel()
    total_ops = kernel_ops * num_elements
    m.total_ops += abs(int(total_ops))
0
回复
DeepGeGe
#4 回复于2021-12

自适应全局平均池化我使用起来是没什么问题的,建议你把使用这个API的整段代码都发出来一起看看,有可能是使用方法错了。。。

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