pytorch环境搭建| cuda版本、pytorch版本等问题解决

27 篇文章 71 订阅 ¥49.90 ¥99.00

1.选择适合自己的pytorch进行安装

打开官网,https://pytorch.org/,如下:

在这里插入图片描述

这里按自己的需求选择,会生成安装命令,我选择了conda安装,cuda版本10.2,安装命令为:

conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch

测试一下gpu环境是否成功:

import torch
import torchvision
print(torch.cuda.is_available())

返回 Ture表示pytorch能够正常调用cuda

2.pytorch代码版本升级

pytorch安装好之后发现从github上拿到的是2018年的代码,使用的pytorch版本较低,代码没有及时维护,这时候需要自己调整代码的写法,主要以下几点:

(1)报错:IndexError: invalid index of a 0-dim tensor. Use tensor.item() to convert a 0-dim tensor to a Python

这个报错一般都是在调用update对象时候出现,主要有以下改动

top.update(prec[0]) 改为 top.update(prec.data)

loss_val.data[0] 改为 loss_val.data

(2)报错:RuntimeError: view size is not compatible with input tensor‘s size and stride

这个报错一般是在调用view对象时候出现,因为view()需要Tensor中的元素地址是连续的,但可能出现Tensor不连续的情况,所以先用 .contiguous() 将其在内存中变成连续分布:

out = out.view(out.size()[0], -1) 改为 out = out.contiguous().view(out.size()[0], -1)

(3) 报错:TypeError: can’t convert CUDA tensor to numpy. Use Tensor.cpu() to copy the tensor to host memory fi

这个报错一般是在调用numpy时候出现,如果想把CUDA tensor格式的数据改成numpy,需要先将其转换成cpu float-tensor随后再转到numpy格式。 numpy不能读取CUDA tensor 需要将它转化为 CPU tensor

predict.data.numpy() 改为 predict.data.cpu().numpy()

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据AI笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值