浅入浅出TensorFlow 7
来源:互联网 发布:郑州网站推广优化 编辑:程序博客网 时间:2024/06/07 05:32
一. 环境准备
本文通过 TensorFlow 实现基于 Faster-RCNN 的行人检测,网络模型基于 VGG16 or ResNet。
1. 准备 TensorFlow 环境
Tensorflow (>= 1.0.0)
安装对应 python 库:
sudo apt-get install cython python-opencv python-tk python-scipy python-yaml sudo pip install easydict sudo pip install matplotlib sudo python -m pip install Pillow2. Gtihub 代码
代码下载:【Github】
3. 下载训练好的网络
在 TFFRCNN-master 下新建文件夹 model,存放要下载入的 net(参考 Github 下载地址),推荐下载:
2.VGG16 - TFFRCNN (0.689 mAP on VOC07)
3.VGG16 - TFFRCNN (0.748 mAP on VOC07)
5.Resnet50 - TFFRCNN (0.712 mAP on VOC07)
二. 编译运行
编译代码,并利用训练好的模型运行测试样例。
模型是基于 VGG16 在 PASCAL VOC 2007 上的训练结果做的检测。
1. 编译
打开 lib文件夹下的 make.sh,根据提示修改,如果是 binary版本的 TensorFlow,需要关闭 D_GLIBCXX_USE_CXX11_ABI:
## if you install tf using already-built binary, or gcc version 4.x, uncomment the two lines belowg++ -std=c++11 -shared -D_GLIBCXX_USE_CXX11_ABI=0 -o roi_pooling.so roi_pooling_op.cc \roi_pooling_op.cu.o -I $TF_INC -fPIC -lcudart -L $CUDA_PATH/lib64# for gcc5-built tf#g++ -std=c++11 -shared -D_GLIBCXX_USE_CXX11_ABI=1 -o roi_pooling.so roi_pooling_op.cc \#roi_pooling_op.cu.o -I $TF_INC -fPIC -lcudart -L $CUDA_PATH/lib64cd ..# add building psroi_pooling layercd psroi_pooling_layernvcc -std=c++11 -c -o psroi_pooling_op.cu.o psroi_pooling_op_gpu.cu.cc \-I $TF_INC -D GOOGLE_CUDA=1 -x cu -Xcompiler -fPIC -arch=sm_52#g++ -std=c++11 -shared -o psroi_pooling.so psroi_pooling_op.cc \#psroi_pooling_op.cu.o -I $TF_INC -fPIC -lcudart -L $CUDA_PATH/lib64## if you install tf using already-built binary, or gcc version 4.x, uncomment the two lines belowg++ -std=c++11 -shared -D_GLIBCXX_USE_CXX11_ABI=0 -o psroi_pooling.so psroi_pooling_op.cc \psroi_pooling_op.cu.o -I $TF_INC -fPIC -lcudart -L $CUDA_PATH/lib64执行命令行 make:cd ./lib make # compile cython and roi_pooling_op, you may need to modify make.sh for your platform2. 运行
将 faster_rcnn/ 文件夹下的 demo.py copy到根目录下,执行如下命令:
cd .. python demo.py --model model/VGGnet_fast_rcnn_iter_150000.ckpt # your model path看一下测试效果(0.748 的 mAP,远端检测效果还是很不错的):
三. 训练公网数据
需要下载 PASCAL VOC 数据集,训练过程也比较简单(也可以参考 Github 对应的说明流程):
1. 下载数据集
下载 VOC 数据集,用于下一步数据训练:
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCdevkit_08-Jun-2007.tar新建 VOCdevkit 文件夹,并将下载的 tar 文件放到文件夹内,并解压缩:
tar xvf VOCtrainval_06-Nov-2007.tar tar xvf VOCtest_06-Nov-2007.tar tar xvf VOCdevkit_08-Jun-2007.tar将数据格式按照下面的格式存放:
$VOCdevkit/ # development kit $VOCdevkit/VOCcode/ # VOC utility code $VOCdevkit/VOC2007 # image sets, annotations, etc. # ... and several other directories ...2. 下载 VGG16 的预训练数据
下载地址:【VGG16 Pretrained】
放到指定文件夹下:./data/pretrain_model/VGG_imagenet.npy
3. 训练
运行如下脚本:
python ./faster_rcnn/train_net.py --gpu 0 --weights ./data/pretrain_model/VGG_imagenet.npy --imdb voc_2007_trainval --iters 70000 --cfg ./experiments/cfgs/faster_rcnn_end2end.yml --network VGGnet_train --set EXP_DIR exp_dir4. 查看结果
# install a visualization tool sudo apt-get install graphviz ./experiments/profiling/run_profiling.sh # generate an image ./experiments/profiling/profile.png
- 浅入浅出TensorFlow 7
- 浅入浅出TensorFlow 1
- 浅入浅出TensorFlow 2
- 浅入浅出TensorFlow 3
- 浅入浅出TensorFlow 4
- 浅入浅出TensorFlow 5
- 浅入浅出TensorFlow 6
- 浅入浅出TensorFlow 8
- 浅入浅出TensorFlow 9
- 浅入浅出TensorFlow 8
- TensorFlow学习日记7
- TensorFlow-7实现AlexNet
- windows 7 安装tensorFlow
- tensorflow
- TensorFlow
- TensorFlow
- tensorflow
- tensorflow
- 一道CF送命题引发的博文
- Swift字符串的基本操作(一)
- Chrome浏览器历史版本下载
- iframe结构的网站按F5刷新子页面的实现方式
- 实现单链表中的增删查改(2)
- 浅入浅出TensorFlow 7
- 系统资源不足 无法完成请求的服务
- http://www.yalewoo.com/andrew_ng_machine_learning_notes_1_introduction.html
- 注册谷歌账户-此电话号码无法用于进行验证
- Linux安装常用软件
- 收集硬币 dp
- vslam: 扫盲之旅
- 【SSH进阶之路】一步步重构容器实现Spring框架——彻底封装,实现简单灵活的Spring框架(十一)
- Python调试工具-Spyder