在CPU上跑YOLO V5学习记录

要想在CPU上面跑,环境很重要,我先默认大家安装好了pycharm,并且默认配置好了python。我的python版本是3.7.3(我且称它为原生版本)。

一、配置环境(非常重要)

  1. 首先你要去安装一下Anaconda,我的电脑是64位的,所以我用的版本是64位的(推荐使用清华源的镜像下载)。

Anaconda3-5.2.0-Windows-x86_64.exe

  1. 下载打开后进入,选择这样子

我这里安装到了F盘,因为我的C、D、E盘都满了。

  1. 完成安装之后,我们进行配置并测试一下

  1. 测试一下(在cmd中输入并回车查看一下)

conda --version

出现这个就可以了,接着换一下源

5.换源在cmd中接着依次输入以下代码

conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes

6.完成后在电脑的用户目录下找到.condarc的文件,用记事本打开查看

是这个样子就行

6.在cmd中接着输入,该过程有点消耗时间,虽然说已经换好了源,但是下载起来的确不太快

conda update conda

这是我在安装的过程中遇到的一丢丢的小问题,下载速度的确是太慢了!下面更新包我就不更新了,后面在pycharm中直接配置就可以了。

7.接着在cmd中输入以下内容,出现图中的样子就可以了

python-V

到这一步,恭喜你环境已经搭建完成了。

以上内容,我参考了一下这篇博客,如果你想在把原生的python调出来,可以跟着这篇博客接着来操作。

二、还是配置环境(还是很重要)

  1. 接着打开cmd,在下面输入以下内容,跑一会

conda create -n yolov5 python=3.7
  1. 等待一会,输入y,回车

  1. 最后出现以下内容,算是配置完事了

到这里,yolov5的环境算是搭建出来了

三、导入Pytorch库

1.在cmd中输入

conda activate yolov5

路径前出现(yolov5)就说明激活成功!

2.异常处理,如果说你输入后,在路径前没有出现,如果出现的以下的内容,请跟着2.1走。

2.1

activate  # 重新进入虚拟环境

deactivate # 重新退出虚拟环境

activate (你想要进入环境)# 就OK了

然后出现这个样子就ok了

3.接着去pytorch官网,选择你要的配置,我这里是用的CPU跑,当然是选择这样的

4.在cmd中接着输入官网上显示的最后那句

conda install pytorch torchvision torchaudio cpuonly -c pytorch

5.等待一会,输入y,回车;再等待一会,出现done,说明Pytorch库导入成功!到这里,我们已经要结束在cmd上的操作了,下面我们转战pycharm。

四、在pycharm上操作

我的pycharm的版本是PyCharm Community Edition 2022.2.3,其他版本的也可以,没必要纠结版本嘛。

  1. 先去Giicode上下载项目

  1. 解压并用pycharm打开

  1. 配置一下解释器

  1. 配置完成后,在pycharm的右下角会显示Python3.7(yolov5)

5.打开requitements.txt,上面写了所需要库的版本

6.大家可以直接pip安装,不过前提条件要换源,我这里用的还是清华源。我在安装时没有用pip安装,因为我这里显示了一些不知名的bug,所以我保险起见用了手动添加。

7.点击运行左侧的detect.py文件,在这个过程中,可能会因为网速原因导致你与github之间的链接问题

看现在网速极其的慢,现在你可以点击他说的那个链接,手动下载好,将下载好的yolov5s.pt直接放到项目文件夹里面。

8.接着我们改一下模型里面的一些代码,先找到这个文件,在utils文件夹下面,datasets.py的这个文件的第161行,先把这一行注释掉,再在下面写一行代码。

p = str(Path(path))

9.接着跑一下detect.py,如果再报错,就是你的库文件安装的版本可能过高或者过低。我在运行是碰到了一些错误。如果你遇到了跟我一样的报错,可以跟着这些解决。

9.1AttributeError: ‘Upsample‘ object has no attribute ‘recompute_scale_factor‘

9.2UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the ........indexing argument return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined](打开看第四步)

10.解决bug,跑完之后再看一眼跑完后的效果(在runs文件夹下面的detect文件夹下面的exp文件夹可以看到处理后的图片)

五、结语

好好学习,认真解决bug!!!!

猜你喜欢

转载自blog.csdn.net/qq_33177599/article/details/128583226