Ubuntu+Python+云GPU平台 实现Faster RCNN过程

参考贴
1.github源码 tf-faster-rcnn,看这个基本就能复现了
2.python3+Tensorflow+Faster R-CNN训练自己的数据

1.使用的第三方包

tensorflow
keras
pickle

作用:把变量从内存中变成可存储或传输的过程称之为序列化,将内存中的对象转换成为文本流

os
os模块提供了多数操作系统的功能接口函数。当os模块被导入后,它会自适应于不同的操作系统平台,根据不同的平台进行相应的操作,在python编程时,经常和文件、目录打交道,这时就离不了os模块。
Python的os模块简介

2.数据集制作

TensorFlow笔记-制作自己的训练集,利用卷积神经网络模型进行训练、测试(完整流程)
Pytorch使用albumentations实现数据增强

数据标注软件labelimg**
打开方式
在labelimg文件所在路径下输入指令:

cd labelImg
 
pyrcc4 -o resources.py resources.qrc
 
python labelImg.py
 

Ubuntu+Python+云GPU平台 实现Faster RCNN过程_第1张图片

寻找labelimg文件路径代码:

pip show labelImg

快捷键
画框 w
保存 ctrl+s;
下一张图片 d;上一张图片 a
ctrl + shift + A advanced mode:很方便的模式 鼠标点击直接画框,任意键切图,试一次就知道有多方便了
复制当前标签和矩形框 ctrl+d
标记当前图片已标记 Space

数据增强库 albumentations

Pytorch使用albumentations实现数据增强
使用说明文档
主流的数据扩增方法

深度学习云服务器
包括阿里云、华为云、美团云(已对个人用户关闭)

选择:mistgpu
运行环境备份与恢复
conda中的环境用conda list --export > ~/package-list.txt备份
conda create -n myenv --file package-list.txt恢复。

遇到的坑
1.数据集测试特别慢,一张图片要5s,发现是未使用GPU进行加速,直接用CPU在跑,使用GPU的代码没有生效
原因:未安装tensorflow-gpu版本,版本和tensorflow一致
参考贴:
Tensorflow无法使用CUDA_VISIBLE_DEVICES参数进行GPU加速

3.文件上传至云服务器

看mistgpu官网介绍,比较容易。

#保存环境,如果使用的mistgpu可以直接复制
tar xvf /data/VOCtrainval_06-Nov-2007.tar
tar xvf /data/VOCdevkit_08-Jun-2007.tar
tar xvf /data/VOCtest_06-Nov-2007.tar
unzip /data/tf-faster-rcnn.zip  -d ~/
unzip /data/voc_0712_80k-110k.zip -d ~/

tar -xzvf vgg_16_2016_08_28.tar.gz
unzip /data/CNN2020.zip  -d ~/

demo结果
用res101跑VOC07和12
Ubuntu+Python+云GPU平台 实现Faster RCNN过程_第2张图片

4.替换成自己的数据集

为目标检测制作PASCAL VOC2007格式的数据集
常见的坑:训练报错:KeyError: ‘000071’
原因:在开始训练之前,没有需要把之前训练产生的模型以及cache删除掉,分别在tf-faster-rcnn/output/vgg16/voc_2007_trainval/default路径下和tf-faster-rcnn/data/cache路径下,然后就可以开始训练了

./experiments/scripts/train_faster_rcnn.sh 0 pascal_voc vgg16

Ubuntu+Python+云GPU平台 实现Faster RCNN过程_第3张图片

你可能感兴趣的:(python,神经网络,深度学习,tensorflow)