76 Star 588 Fork 1.1K

Ascend/pytorch

grid_sample函数cpu和npu结果不一致,差距大

DONE
需求
创建于  
2022-11-03 16:46

代码段:
import torch
from torch import nn
import numpy as np
import torch_npu
torch_npu.npu.set_device("npu:0")
import os
inp = torch.arange(4*4).view(1, 1, 4, 4).float().to("npu:0")
d = torch.linspace(-1, 1, 8).float().to("npu:0")
meshx, meshy = torch.meshgrid((d, d))
grid = torch.stack((meshy, meshx), 2).unsqueeze(0)
output = torch.nn.functional.grid_sample(inp, grid, mode='bilinear', align_corners=True)
print(output)
exit()

这是cpu结果:
输入图片说明
这是npu结果:
输入图片说明

评论 (5)

张森 创建了需求 3年前

Please add labels , also you can visit https://gitee.com/ascend/community/blob/master/labels.md to find more.
为了让代码尽快被审核,请您为Issue打上标签,打上标签的Issue可以直接推送给责任人进行审核。
更多的标签可以查看https://gitee.com/ascend/community/blob/master/labels.md
以模型训练相关代码提交为例,如果你提交的是模型训练代码,你可以这样评论:
//train/model
另外你还可以给这个Issue标记类型,例如是bugfix或者是特性需求:
//kind/bug or //kind/feature
恭喜你,你已经学会了使用命令来打标签,接下来就在下面的评论里打上标签吧!

张森 修改了描述 3年前
郭夏 任务状态TODO 修改为WIP 3年前

save了数据,1.8的cpu与npu确实不一致,但是对比了1.5,标杆cpu的值是不一样的。以1.5的cpu和1.8的npu对比,精度ok。刚刚将数据传到cuda的环境,跑了一个标杆,再与1.8npu对比,精度达标:

输入图片说明

测试结果:
Pytorch 1.5的cpu和Pytorch 1.8的npu对比,精度ok。
Pytorch 1.8的gpu和Pytorch 1.8的npu对比,精度ok。

Pytorch 1.8的cpu和Pytorch 1.8的gpu结果不一样,建议以GPU结果为准

在1.8torch下复现了1.8cpu!=1.8npu的场景。但是看数据是1.8cpu不对,就以1.5cpu和1.8npu对比,精度达标,输入图片说明由于1.5和1.8cpu不同,存在争议,就save数据以1.8cuda跑了一组标杆,与1.8npu对比,精度也达标:输入图片说明这是cuda数据:输入图片说明

用上面我的代码段跑出的npu结果和你的npu结果不一样哎,差挺多的 。方便把你的跑npu的代码段贴出来吗?感谢

刘彬 任务状态WIP 修改为DONE 3年前

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(4)
ascend-robot-ascend-robot lushunqin-lushunqin 刘彬-liubin4 张森-zhangsanmu99
Python
1
https://gitee.com/ascend/pytorch.git
git@gitee.com:ascend/pytorch.git
ascend
pytorch
pytorch

搜索帮助