1、环境配置
今天的内容是配置环境和跑代码,配置环境我在pycharm里已经做过很多次了,比较熟练,但是这个vscode软件着实没弄明白怎么玩,于是最后还是在pycharm里面跑完了cnn的代码。
在anaconda中新建一个环境,这里就不演示了,包括怎么按照anaconda的方法都在这个链接里,直接抄PPT了
slides/chapter_0-Installation.ipynb · Epsilon Luoo/仅同步_learn-python-the-smart-way-v2 - Gitee.com
我的之前环境配置有点紊乱,后面慢慢学习开始用anaconda来管理整个环境,这样开始我才慢慢有点感觉了,每一个项目使用一个envs,而且可以打包到另一个电脑上使用,这个确实是很好很方便的一件事,也不再怕不同包之间发生冲突。
这里我记录一下我的环境配置方法,希望可以有帮助。
比较关键的是使用pytorch这个包,这个包使用GPU版本的比较麻烦一点(特别是对于两年前的电脑),视频里面都是可以直接在pytorch官网上找到匹配的版本,但是这个对于我来说不行。
在cmd命令行使用如下命令,可以看到CUDA Version:11.4,这意味着我的cuda最多可以安装到11.4及以下。
nvidia-smi
方法一:直接pytorch官网匹配
对于现在的pytorch官网,直接输入一行命令就安装并不现实,于是只能另外找方法来安装了。
方法二:没办法直接在官网上找到合适版本
1、我们先保证电脑是nvidia的独立显卡,然后安装上面找到适合自己的版本,最后在这个网站上找到torch、torchaudio、torchvision
https://download.pytorch.org/whl/cu102
打开torch点击进入,然后Ctrl+f搜索你自己的版本,我是cuda11.4,于是我找到的版本是cu113,这个代表cuda11.3版本,后面的cp310代表你匹配的python版本是python=3.10,找到适配版本后直接点击下载,这里需要提醒的是这个下载很慢,我用手机流量下载大概每秒3M左右。
2、接着在pytorch官网中找到以前previous版本
https://pytorch.org/get-started/previous-versions/
在这里对应我们需要的这三个torch、torchaudio、torchvision包的版本,这里要注意使用的是whl下载包,也就是要在这里面找
3、这时候需要找到torch==1.12.1时匹配的torchvision==0.13.1和torchaudio==0.12.1,这个都可以在网站中找到,按照上面的方法。
4、在环境中安装上述的下载whl文件
已经将上述的文件下载完毕,我们开始依次安装,按照torch、torchaudio、torchvision的顺序
首先进入我们的虚拟环境Datawhale,找到安装的位置,然后依次键入
pip install E:\2023.7.21Datawhale\torch_intall_whl\torch-1.12.1+cu113-cp310-cp310-win_amd64.whl
pip install E:\2023.7.21Datawhale\torch_intall_whl\torchaudio-0.12.1+cu113-cp310-cp310-win_amd64.whl
pip install E:\2023.7.21Datawhale\torch_intall_whl\torchvision-0.13.1+cu113-cp310-cp310-win_amd64.whl
接下来就要试试是否能够成功
先进入python环境,然后先后输入
import torch torch.cuda.is_available()
如果输入torch没有报错,证明torch安装成功,后面一句如果得到true,证明已经可以使用GPU了。
上面的环境配置我主要是参考了知乎的一位博主:pytorch gpu版安装(普适稳妥,亲测有效)
接下来只需要在新建好的环境中,进入requirement.txt的文件所在地,输入以下命令即可
pip install -r requirement.txt
2、存在问题
1、WinError1455
【pytorch问题解决】OSError: [WinError 1455] 页面文件太小,无法完成操作。_python页面文件太小,无法完成操作_求求你来BUG行不行的博客-CSDN博客
2、关于中文字符不显示的问题
参考以下博主和群友的解惑,目前 还存在一点问题YOLOv5,v8中文标签显示问题-CSDN博客
2-1 在E:\2023.8.31aihia\yolov8-aidlux\yolov8-main\ultralytics\yolo\utils\plotting.py文件中添加如下代码
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
2-2 下载SimHei.ttf文件(群友发在群文件了),并将其放在matplotlib字体路径下
首先查询matplotlib字体路径
import matplotlib print(matplotlib.matplotlib_fname())
然后将SimHei.ttf文件放进去
2-3 修改F:\application\Anaconda\Lib\site-packages\matplotlib\mpl-data\matplotlibrc配置文件
# 用记事本打开matplotlibrc
# 修改的内容
# 去掉前面的#
font.family : sans-serif
# 去掉前面的#,并在冒号后面添加SimHei
font.sans-serif : SimHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
# 去掉前面的#,并将True改为False
axes.unicode_minus : False
2-4 删除matplotlib缓冲目录
获取地址
import matplotlib print(matplotlib.get_cachedir())
删除这个文件.matplotlib
2-5 修改E:\2023.8.31aihia\yolov8-aidlux\yolov8-main\ultralytics\yolo\utils\plotting.py文件中Annotator类中的font,修改成放置SimHei.ttf的路径
2-6 代码的字体路径需要修改
2-7 仍然存在的问题:val验证集里的这些图表仍然存在没有中文字符,但是其他的都有
3、关于vscode上的插件无法安装,按照群友的方法,使用ladder可以安装成功
3、模型部署到安卓端
1、安装教程安装aidlux
AidLux AI应用开发部署入门操作指引- AidLux开发者社区
2、在拓展里安装python,这一步特别慢,我是用ladder才能下载的
之前一直都在loading,一直没办法安装
3、onnx转换成tflite和dlc文件,部署到手机运行
AidLux AI应用开发部署入门操作指引- AidLux开发者社区
3-1 根据东哥的视频,我们将onnx依次在这里转换成tflite和dlc
3-2 准备图片数据和模型文件
我是按照东哥的文件,把转换好的模型分别放入dlc、tflite文件夹,将测试图片放入images文件夹,最后把onnx文件也放到这里,用一个文件夹vision_detection存放。
把文件复制到aidlux
按照操作打开电脑端,然后把vision_detection文件夹直接拖入aidlux的Home里
3-3 修改vision_detection\tflite\yolov8_simple_tflite.py文件
直接运行该文件在手机上预测,会出现下面的报错
需要修改model_path和image_path以及image_file_name里的地址
把这三个地址都修改成放置vision_detection的地址,这里使用vscode,右键选择copy path即可
修改完成后,点击在终端运行
得到最终结果