代码段:
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结果:
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
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
恭喜你,你已经学会了使用命令来打标签,接下来就在下面的评论里打上标签吧!
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数据:
登录 后才可以发表评论