Faster RCNN项目部署(一)
Faster RCNN项目部署
simple-faster-rcnn-pytorch-master
项目源码:https://github.com/chenyuntc/simple-faster-rcnn-pytorch
云服务器环境:
![OKYfPN.png](https://ooo.0x0.ooo/2023/12/29/OKYfPN.png)
安装依赖
1 | !pip install scikit-image |
运行demo
下载预训练模型
1 | 百度网盘地址:https://pan.baidu.com/s/1o87RuXW |
运行demo.pipynb
问题:在运行
img = read_image('/root/autodl-tmp/FasterRCNN/misc/demo.jpg')
出现错误:UnidentifiedImageError:Image.open() cannot identify image file
解决:我也不知道咋解决,因为另外测试后发现PIL的Image.open()是可以用的,我重启了几次不知道为什么就能用了
Train
准备数据
参考项目官网的5.1 Prepare data--Pascal VOC2007
![OKYllC.png](https://ooo.0x0.ooo/2023/12/29/OKYllC.png)
最终得到的数据目录如下
![OKYjTL.png](https://ooo.0x0.ooo/2023/12/29/OKYjTL.png)
修改配置
- utils/config.py:修改VOC数据集的存放位置
voc_data_dir = '/root/autodl-tmp/FasterRCNN/dataset/VOCdevkit/VOC2007/'
开启训练
如果直接运行代码!python train.py train --env='fasterrcnn' --plot-every=100
,会出现以下问题:
问题:ERROR:visdom:[WinError 10061] 由于目标计算机积极拒绝,无法连接。
原因:代码中用到了在线可视化工具visdom,但是没有启动
解决:利用Xshell映射云端服务器的visdom,进行训练过程可视。参考博客https://blog.csdn.net/m0_6551
因此,先利用Xshell映射云端服务器的visdom(参见上面的博客),再在jupyter notebook运行以下代码
1 | python train.py train --env='fasterrcnn' --plot-every=100 |
运行成功结果如下:
利用Pycharm进行调试
因为在jupyter
notebook中开启训练时使用了代码python train.py train --env='fasterrcnn' --plot-every=100
,而在Pycharm中无法输入这样的命令进行debug,因此我对train.py
做了以下修改:
![OKYsua.png](https://ooo.0x0.ooo/2023/12/29/OKYsua.png)
我舍弃了利用fire.Fire()来调用函数train,而是直接在main函数中调用了train()方法,并传递了参数。此时就可以在Pycharm进行debug了。
另外,Pycharm在调试过程会遇到一个问题,即:debug时Pycharm卡住在connected界面不动
![]()
解决: