pytorch-cuda-cudnn初探(个人记录)

这是纸上谈兵后第一次跑一个网络,惭愧,而且是为了完成一项作业才开始的,emm。

这次主要记录一下自己在使用pytorch训练时的感受。


刚开始,我找到了一个基于pytorch框架,使用u-net分割肝脏的代码,在朋友的帮助下,迅速调通了代码,并且能够运行。不过,你懂得,很慢,而且是在cpu上运行的。当时,我的电脑如同“难产”,涨得浑身是汗。

后面,我查了资料才知道,原来我缺点东西。cuda是英伟达开发的一个基于英伟达显卡的一个工具,基于cuda训练能够将网络的训练从cpu转移到gpu,因为本身显卡对图像的处理能力强,所以速度会提升很多。

不过我的cuda安装路有点长。现在梳理一下流程。首先,应该查看自己的显卡类型。在命令行中输入nvidia-smi,可以看到显卡的类型,以及支持的cuda的最高版本是什么。

可以看到,本人电脑的显卡很low,入门级别,这也是我后面出现问题的一个原因。我们接着说,我这边电脑显卡支持的最高cuda版本是10.2.因此,我跑去英伟达官网下载了CUDA Toolkit 10.2 Download。具体选择如下,

这个安装包下载完毕后,打开exe进行安装。这里我自定义安装,选了一些常用的。大家可以根据自己的情况进行安装,我根据网上的资料最终安装的包如下图。然后,安装位置也更改到了D盘。

PS:我Visual Studio Integration也没装。

可参考https://www.cnblogs.com/arxive/p/11198420.html

cuda安装完毕后,需要配置路径,找到计算机里的高级系统设置,配置环境变量,具体配置如下图。

然后在命令行中输入nvcc -V查看安装情况,很明显,我安装成功了,

于是乎,屁颠屁颠的打开pycharm,运行自己的代码,然后,可悲的事发生了。

然后,我很执着的觉得可能不是自己显存不足的原因,从网上各位码农的介绍中,感觉可能会是另外两个原因,而且主要是“人穷志坚”。

https://blog.csdn.net/xu380393916/article/details/106277909

我很执着的找各种解决方案。而且,了解到,跑深度学习时,cudnn是一个大家都用的包,与cuda一起使用,于是乎,跑到cudnn官网下载合适的包。

官网:https://developer.nvidia.com/cudnn

但结局想必大家已经想到了,没错,就是显存不足,努力解决也没成功。不过,在这个过程中,倒是学到了很多知识。

其中一条是,我本人电脑是联想Yoga的,里面一个集显,一个独显,独显就刚刚那个配置,集显后面看清是intel的。可能早点看清就不会那么纠结。

之前有几个小时都在纠结我的cuda设备有几个。因为自己没有vs,所以devicequery没有跑通,查看不了。后面,在python中调用pytorch看到了,没错就只有一个,哈哈哈。突然觉得自己好傻,好可怜。测试的代码很简单,供大家参考,提供给和我一样没有vs的同胞。

另外,附cuda查询和选取设备信息,有关于通过devicequery进行测试的方法,可以参考其他博客。

import torch
torch.cuda_version # 查看已经安装的cuda版本
Out[3]: '10.2'
torch.cuda.device_count() # 查看能够使用的显卡数量
Out[7]: 1
torch.cuda.get_device_name() # 查看显卡类型
Out[9]: 'GeForce MX250'
torch.cuda.get_device_properties('cuda') # 查看显卡属性
Out[13]: _CudaDeviceProperties(name='GeForce MX250', major=6, minor=1, total_memory=2048MB, multi_processor_count=3)
torch.cuda.get_device_capability('cuda')
Out[14]: (6, 1)

总结,想要跑图像方面复杂网络的朋友,还是找个好点(显卡级别高点,显存高)的电脑,或者扔服务器上跑(我还没有尝试过,后面会尝试的)。

参考资料:PyTorch- 笔记本Nvidia MX250 显卡模型推理性能测试

后续学习资料:

pytorch1.4教程&文档

用Unet实现图像分割(by pytorch)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值