今天是2021年5月5日,时隔半月终于有时间整理下第一次搞机器学习这个高大上的东西中踩的坑了

安装cuda和GPU版本的torch

首先确定你的电脑是N卡,然后去英伟达官网下载cuda驱动,没有cuda驱动,就不能进行训练

下载地址:https://developer.nvidia.com/zh-cn/cuda-toolkit

首先选择你操作系统的版本,然后下载安装,注意如果win系统的话安装时不要勾选Geforce Experience这个毒瘤,安装后可以通过nvidia-smi查看

安装完成后去官网下载pytorch,与其说是下载,不如说是通过命令在线安装

推荐下载stable稳定版,注意系统、包类型、语言、cuda驱动版本一定要完全对应!

QQ截图20210504193846.png

仔细看会发现,这个命令除了安装pytorch,也一并安装了torchvision(PyTorch中专门用来处理图像的库)和torchaudio

这里我踩的坑:开始我直接用的 pip install torch ,然而一直报错,后来发现下载的居然是cpu版本。这tm真是个巨坑!所以一定要去看官网。

torch和torchvision的版本对应

兴高采烈的安装完gpu版本的pytorch,终于可以开始训练人工智障了!可是,当运行完一轮后,啪啪打脸,一个报错甩出来

报错是这样的:

一开始我百度半天也没解决问题,仔细看了下报错信息,里面有一句是这样的

Could not run ‘torchvision::nms’ with arguments from the ‘CUDA’ backend. This could be because the operator doesn’t exist for this backend, or was omitted during the selective/custom build process

这不就是torchvision的问题嘛!然后百度才发现,torchvision也是分cpu版本和gpu版本的,我一开始直接用的 pip install torchvision ,也是安装的cpu版本!也就是说我是gpu版的torch+cpu版的torchvision,不报错才怪……

后来卸载torchvision,重新安装gpu版的torchvision,成功跑完300轮!其实仔细看安装pytorch时的命令,是一并安装了gpu版的torchvision的。

下面秀一张跑完之后的截图

总结

  • 直接pip install torchpip install torchvision,安装的都是cpu版本,不要直接敲这两个命令!
  • 安装torch时,cuda版本、系统版本、包管理工具类型必须一一对应!在torch官网上选择十分方便
  • 遇到问题不要瞎百度,学会仔细看报错信息+去官网找教程
  • yolov3的官方repo中说py版本要>3.8,我这是3.7居然也能运行
  • 求一个大佬给我讲下conda相比pip有啥好的

最后吐槽一下,为啥py就不能像node一样,用不同的包管理工具也不会造成多个环境共存呢?为啥conda就要有一个独立的py环境而不是直接用系统里面装好的?这更加深了我对py这门语言的讨厌!