pytorch中tensor与ndarray转换,torch中topk、squeeze、cpu等API的应用

tensor与ndarray转换,torch中topk、squeeze、cpu等API的应用

二分类模型的输出:
torch.tensor(1,2,512,512),cuda=0

print(preds.shape)
print(preds)

在这里插入图片描述
首先要转换成cpu()

preds = preds.data.cpu()
print(preds.shape)
print(preds)

在这里插入图片描述
对于二分类,可以先把tensor转换成numpy,再调用Softmax

preds = preds.numpy()
print(preds.shape)
print(preds)

在这里插入图片描述
或者可以直接使用torch.topk()在这里插入图片描述
最后将第二维合并为一维,但此时还不能直接与label进行比对(此处指测试的时候,而非训练时,测试时label往往是二维的(512*512)),经topk之后,输出变为了(1,1,512,512)。可以用笨方法,用a[0][0]取出来,但是有更优雅的方法,a.squeeze()可以去除所有=1的维度。
在这里插入图片描述

暂时这样,之后整理,发表于2019平安夜

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值