本帖最后由 打字的小强 于 2020-6-8 14:21 编辑
按照别人教程来的机器学习教程。完全不需要高数知识,我做一下简单直白的补充说明,并且做部分修正,尽量做到简单通俗易懂。
自己看了老多教程都半途而废,比如图像处理,高数,前置知识等等,一直没有实验,感觉自己很垃圾,很没意思,屡受打击啊。最近看见B站的Bubbliiiing的视频还有博客教程感觉可以自己实验一下。想弄点结果出来再去研究本质。
先把相关的参考教程链接放出来,大家尝试的时候可以参考:
神经网络学习小记录48——windows下的torch=1.2.0环境配置:https://blog.csdn.net/weixin_44791964/article/details/106037141
睿智的目标检测27——Pytorch搭建Faster R-CNN目标检测平台:https://blog.csdn.net/weixin_44791964/article/details/105739918
Pytorch 搭建自己的Faster-RCNN目标检测平台(Bubbliiiing 深度学习 教程):https://www.bilibili.com/video/BV1BK41157Vs?p=13
bubbliiiing/faster-rcnn-pytorch:https://github.com/bubbliiiing/faster-rcnn-pytorch
一.搭建环境
首先是在windows下搭建touch = 1.2.0环境。
教程是说装旧的anoconda环境,我是新的,没有用教程推荐的conda老版本,我自己的版本是4.8.3,也可以,Anaconda的安装网上很多教程,可以参考,我这里不赘述了,记得选择Add Anaconda to my PATH environment variable,把conda填入全局变量里面,很方便。
接下来装cudnn和cuda,这里需要英伟达的显卡,原帖楼主的显卡的是1660Ti,我的显卡是2070Super。两个很大的安装包,下载链接我最后提供给大家。
torch=1.2.0对应的Cuda版本是10.0,与cuda10.0对应的cudnn是7.4.1.5
下载cuda_10的exe,文件名是cuda_10.0.130_411.31_win10.exe,大小2.04 GB。
直接双击安装。不要更改安装路径,然后安装的时候选择自定义,后面默认就安装成功了。
安装完成找到这个cuda_10的安装路径我们要把cudnn这个安装包解压后的某些东西放到cuda_10里面去
我的cuda_10的安装路径为C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0
我们把cudnn的安装包解压一下,cudnn的安装包是cudnn-10.0-windows10-x64-v7.4.1.5.zip,208 MB 。
解压后图片:
把这里面所有的文件,文件夹复制,粘贴到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0 这个目录下面,接下来的截图就像我这样
到目前为止,基础软件安装完毕
接下来配置conda环境,python的各种包依赖非常复杂,conda非常方便,可以解决这个问题,单独创建一个环境来运行代码
首先进入cmd命令框。输入
[Asm] 纯文本查看 复制代码 conda create –n pytorch python=3.6
意思就是新建一个python 版本为3.6,别名为pytorch的环境
[Asm] 纯文本查看 复制代码 activate pytorch
activate就是进入这个名为 pytorch环境,进入环境过后pip就可以安装一些包
[Asm] 纯文本查看 复制代码 pip install torch===1.2.0 torchvision===0.4.0 -f https://download.pytorch.org/whl/torch_stable.html
这个包特别大,需要等待很长时间,我偷懒就是按照这个命令安装的,很慢看看原教程采用本地安装
安装完成后再pip安装两个包,一个是opencv-python ,一个是matplotlib,这是我补充的内容在实际代码种需要这两个包,不安装,后面测试的时候会出现问题
安装的时候要进入这个环境conda activate pytorch后安装。可以用清华源安装,非常快
[Asm] 纯文本查看 复制代码 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python
[Asm] 纯文本查看 复制代码 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib
二.部署项目
下载github上面的代码(最后会放链接),用vccode打开,我没有按照原教程专门配置vscode,我直接配置python conda环境到vscode
打开项目文件后还需要把预训练权重文件放到这里面去,这个文件可以理解为加快训练速度的文件,也有点大,需要放在项目文件model_data这个文件夹下面,我会单独放在百度云网盘里面,这两个文件可以选择其中一个,我选的是第一个,我也不知道区别有哪些,想用第二个要改一些地方原帖有说明的。
然后还有最重要的voc2007数据集,是一个标准数据标注的数据集,有特定的格式。下载我提供的数据集,也可以用其他的数据集(用其他的数据集比较麻烦。需要改一些东西)。就是一些标注好的图片的标注信息文件和对应的图片文件,一一对应。
解压pascal-voc-2007.zip
我用的是VOCtrainval_06-Nov-2007,这是我自己在百度上找的,进入VOCtrainval_06-Nov-2007文件夹,进入到里面的文件夹找到Annotations和JPEGImages文件夹。把这里面的图片和xml文件复制到项目代码VOCdevkit\VOC2007里面的对应的Annotations和JPEGImages下面去,图片和xml文件各有5000个左右。
软后运行voc2frcnn.py,生成一个训练的txt,这个2007_train.txt就是告诉这个训练框架,这个图片哪个位置有什么东西
不用修改voc_annotation.py里面的classes和model_data里面的voc_classes.txt文件。需要用其他的数据集的时候再修改吧,classes越多,目标分类就越多,训练难度就越大
三.开始训练
找到项目中的train.py,点击运行
如果出现下图就证明正在训练,没有任何报错了
四.训练好的模型进行预测
经过一个晚上的时间训练,训练还没有结束,但是logs文件夹下有31个模型文件了,每一轮都会保存这个训练好的模型,可能分类太复杂了,显卡算力不够,我们来用最后一个模型来测试一下效果怎么样。
我们来测试一下图像的预测
修改frcnn.py里面的引入模型的设置,如图所示,你要修改成你自己的模型,我也会把我自己的模型上传。
接下来运行predict.py,如图所示,填入文件路径。
填入图片路径,图片就会打开。图片上的框框就会显示出来,相似度。类名,大小,很牛啊。
接下来测试一下其他的东西,还不错。
再来测试一下视频,找到video.py,可以获取摄像头,也可以修改视频文件路径,点击运行,帧率感人,就是把视频变成一帧一帧的图片然后预测。
五。相关链接以及总结
百度云链接: https://pan.baidu.com/s/1JKPN49jeJfavPXMY5aF54w 提取码:nml9
Github链接: koala9527/faster-rcnn-pytorch:https://github.com/koala9527/faster-rcnn-pytorch
弄这些没花多长时间,感觉机器比我想象中更强大,虽然没有很完美,看到这些代码在我面前演示很有成就感。每个帖子都会这么说,哈哈,有用记得给star,给评分关注我哦,每当总结的时候总会畅想,要把这些技术用到哪里去呢?大家有啥想法呢?
|