运行yoloV5
一开始对图像处理一无所知,只是因为课堂作业要求去运行代码,所以要从环境搭建开始,一步步建立环境并且运行代码,其中还不包括调参,写下来记录一下。
环境:Windows+anaconda+pytorch
yolov5:https://github.com/ultralytics/yolov5
云端GPU:kaggle
1、环境搭建
为什么要搭建环境?
是因为在运行代码的时候包太多,如果只存在base解释器中,包不太好管理,所以要新建环境进行包管理。
系统中最初始的就是base解释器,要建立新的python解释器,首先要先下载anaconda(作用:Anaconda(官方网站)就是可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本。Anaconda包含了conda、Python在内的超过180个科学包及其依赖项)。
1、anaconda下载
这个去官网下载即可(我下载时候的难题:每次点击download都会跳转一个新页面,就是不下载,(估计我的电脑有点问题)解决办法:右键点击在新标签页内打开,就可下载啦)下载之后一定要将anaconda加入到环境变量中(检验方法:win+R:在cmd中输入conda list 如果没有报错,就证明这一步没问题啦)
加入环境变量的方法:1、在安装的时候直接勾选选项(但是官方不推荐)
2、安装好之后直接编辑环境变量,以我的为例
(记得更改自己的安装路径)
2、环境配置(建立解释器(也叫包管理))
这个需要在cmd中进行指令
- 创建虚拟环境
- 进入虚拟环境conda activate 名字conda create -n 名字 python=3.6(版本可以改)途中需要输入‘y'来完成安装
- 修改conda镜像源因为conda原始源为国外的,所以有时候下载会很慢,所以将其修改为镜像源onda config --add channels Index of /anaconda/pkgs/free/win-64/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror conda config --add channels Index of /anaconda/pkgs/main/win-64/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror conda config --set show_channel_urls yes
- 安装pytorch这个需要去pytorch官网依照自己的电脑情况进行下载指令选择我理解的是如果电脑没有独显,则不能选择cuda,我的选择如下(看教程说可以去掉 -c pytorch)这里面可以指定torch版本,下面是我下载的,版本要和python对应
- 现在环境配置已经完成了 conda info -envs ,可以查看现在已有的虚拟环境
配置好环境的用处是使用python解释器,以pycharm为例,点击-file--settings--projiect interpreter,可以选择你建立好的虚拟环境,在这个环境下运行代码
2、yolo算法的运行
- 代码下载这个可以去GitHub上寻找官方的代码https://github.com/ultralytics/yolov5(这个是yolov5的代码),截止到2022.11,现在的最新版本是6.2,我下载的就是6.2版本的
- 下载本地以后,将其导入到本地,一定要将项目解释器选择为刚才搭建的虚拟环境,否则会出现import报错的情况
- 在导入的时候可能会发现报pycocotools的错误,这时候需要去Microsoft C++ 生成工具 - Visual Studio下载工具,安装一下安装完成之后,直接在pycharm终端输入:pip install pycocotools,这时候就不会报错啦然后再输入 pip install requirements.txt
这时候可以直接运行detect.py ,会在此处显示效果
训练模型
因为我的电脑不太ok,所以选择了kaggle(云端GPU)进行模型训练,(可能Google Calob也可以,但是我打不开网址,所以就选择的kaggle)
- 进入kaggle官网,登录账号,没有账号的话点击进行注册,但是有时候注册点击‘next’时,没有反应,这时候可以参考这个博文(6条消息) kaggle无法注册(含解决方案)Moniko_yo的博客-CSDN博客kaggle注册不了
- 注册完成后,如果从本地加载data,则会在input路径下进行显示 但是这就导致了一个问题,他在写文件时候报错了,然后不知道怎么解决这个问题
- 为了解决这个问题 ,就选择了用git clone将其下载到output路径下,就可以正常运行啦
!git clone GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite
然后点击下载所需要的环境
pip install -r ./yolov5/requirements.txt
最后运行train.py
!python ./yolov5/train.py
最后生成的训练好的best.pt文件在runs/train文件下,但是这时候我的文件夹一直打不开,不出现下载按钮,电脑下载不了,所以就选择将其搞成压缩包,然后之后下载 运行以下代码就可以
*import os**import zipfile**import datetime*
*def file2zip(packagePath, zipPath):*
*'''*
*:param packagePath: 文件夹路径*
*:param zipPath: 压缩包路径*
*:return:*
*'''*
*zip = zipfile.ZipFile(zipPath, 'w', zipfile.ZIP_DEFLATED)*
*for path, dirNames, fileNames in os.walk(packagePath):*
*fpath = path.replace(packagePath, '')*
*for name in fileNames:*
*fullName = os.path.join(path, name)*
*name = fpath + '\\' + name*
*zip.write(fullName, name)*
*zip.close()*
*if __name__ == "__main__":*
#文件夹路径
*packagePath = '/kaggle/working/yolov5/runs'*
*zipPath = '/kaggle/working/output.zip'*
*if os.path.exists(zipPath):*
*os.remove(zipPath)*
*file2zip(packagePath, zipPath)*
*print("打包完成")*
*print(datetime.datetime.utcnow())
最后就可以用训练好的模型进行测试啦
版权归原作者 Wonder-King 所有, 如有侵权,请联系我们删除。