浅入浅出TensorFlow 8 - 行人分割
一. 环境准备
本文介绍如何通过 Mask-RCNN 来实现行人检测,假设你已经对 SSD、YOLO、Faster RCNN 等框架有所了解。
1. 准备 TensorFlow 环境
Tensorflow (>= 1.0.0)
Numpy
2. Gtihub 代码
代码下载:【Github】
3. 下载CoCo数据
下载地址:http://mscoco.org/dataset/#download
Web下载比较慢,可以从我的网盘下载:【百度网盘】
4. 下载 ReNet50
[cpp] view plaincopy
- wget http://download.tensorflow.org/models/resnet_v1_50_2016_08_28.tar.gz
解压得到 resnet_v1_50.ckpt
二. 代码编译运行
代码编译可以参考 Github 说明,这里也给出如下流程:
1. make coco工具
[cpp] view plaincopy
- cd ./libs/datasets/pycocotools
- make
2. 将下载的 COCO 数据放到 ./data 目录下,将数据转换成 tf 所需格式;
按照说明文件:
a)在 data下建一个 coco 文件夹,将指定的5个文件 copy到该目录;
b)将zip文件解压缩;
c)在根目录下建立 output/mask_rcnn 文件夹,用于存放 log;
d)执行格式转换脚本(大概会花一小时);
[cpp] view plaincopy
- python download_and_convert_data.py
可能会提示Python某些库错误,没关系,安装一下就好了,可以将pip源换成国内的,pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pil
[cpp] view plaincopy
- sudo pip install pil # or python -m pip install Pillow
- sudo pip install scikit-image
- sudo apt-get install python3-tk
3. 提前训练好的 Resnet模型
在data下新建 pretrained_models 目录,将 resnet_v1_50.ckpt 放到目录下。
4. Make编译
[cpp] view plaincopy
- cd ./libs
- make
5. 训练数据
[cpp] view plaincopy
- python ../train/train.py
当你观察到Loss的时候,说明训练过程已经成功开始了,不要着急,等着Loss慢慢减少吧,原作者训练 8-GPU 花了32个小时。
三. 训练效果
根据训练生成的 Log文件,存放在 output里面:
设置 TensorBoard 的logdir,来看一下训练效果:
可以看到整个的 loss 的变化情况,还是很有成就感的,需要说明一下,在训练过程中可能 loss 会有震荡的情况,没有关系,等到逐渐下降就好了。
看一下生成的 Graphs:
四. Demo 运行
Github 上未给出 Demo 运行方法,需要我们自己找脚本来实现。
可以参考上一篇 demo.py 自己来写,这里作者就不给出具体 code 了,请自行发挥。
浅入浅出TensorFlow 8 - 行人分割相关推荐
- 浅入浅出深度学习理论实践
全文共9284个字,40张图,预计阅读时间30分钟. 前言 之前在知乎上看到这么一个问题:在实际业务里,在工作中有什么用得到深度学习的例子么?用到 GPU 了么?,回头看了一下自己写了这么多东西一直围 ...
- [科普]浅入浅出Liunx Shellcode
创建时间:2008-05-13 文章属性:原创 文章提交: pr0cess (pr0cess_at_cnbct.org) 浅入浅出Liunx Shellcode /*---------------- ...
- 浅入深出之Java集合框架(上)
Java中的集合框架(上) 由于Java中的集合框架的内容比较多,在这里分为三个部分介绍Java的集合框架,内容是从浅到深,如果已经有java基础的小伙伴可以直接跳到浅入深出之Java集合框架(下). ...
- 浅入深出之Java集合框架(中)
Java中的集合框架(中) 由于Java中的集合框架的内容比较多,在这里分为三个部分介绍Java的集合框架,内容是从浅到深,如果已经有java基础的小伙伴可以直接跳到浅入深出之Java集合框架(下). ...
- Angular浅入深出系列 - 写在前面
本系列目录: 写在前面 基础知识 控制器(Controller) 作用域(Scope) 集合(Collection) 模块(Module) 依赖注入(Dependency Injection) 服务( ...
- SegmentFault 技术周刊 Vol.16 - 浅入浅出 JavaScript 函数式编程
函数式编程(Functional Programming),一看这个词,简直就是学院派的典范. 以至于从 Lisp 的创世,到 Scheme.Haskell.Clean.Erlang.Miranda. ...
- 浅入浅出 Android 安全 翻译完成!
浅入浅出 Android 安全 翻译完成! 作者:Yury Zhauniarovich 译者:飞龙 来源:Yury Zhauniarovich | Publications 在线阅读 PDF格式 EP ...
- 浅入深出Vue:环境搭建
浅入深出Vue:环境搭建 工欲善其事必先利其器,该搭建我们的环境了. 安装NPM 所有工具的下载地址都可以在导航篇中找到,这里我们下载的是最新版本的NodeJS Windows安装程序 下载下来后,直 ...
- 处理中文乱码_浅入深出:一次提问引发的深思,从此再也不怕“乱码”问题
这是恋习Python之浅入深出系列第3篇原创首发文章 作者|丁彦军 来源|恋习Python(ID:sldata2017) 转载请联系授权(微信ID:2394608316) 近日,有位粉丝向我请教,在爬 ...
最新文章
- python零基础怎么学-编程零基础应当如何开始学习 Python?
- Python 3.x标准模块库目录
- springMVC请求发生重复路径
- WPF利用HelixToolKit后台导入3D模型
- 190816每日一句
- 数字系统——实验一:常用元器件的识别与简单测试
- 怎么减小照片大小kb?
- BLAST原理和用法总结(一)
- 助力高效办公,TOM企业邮箱网页版全面升级
- %后的各种格式C语言详解
- 数字趣解-不可思议的《魔兽世界》
- python画地球代码_用Python制作中国地图、地球平面图及球形图
- 怎么用html做音乐播放列表,html网页音乐播放器自带播放列表
- 2020年 网络 “十大热词” 出炉,你熟悉哪些?
- 被127次掌声打断的浙江大学教授郑强的经典语录.(大家都看
- Swagger注释@API详细说明
- 呼哈,很开心终于把我i自己写的一个wp8程序成功部署到手机上喽~~·
- t3出纳系统连接不到服务器,用友T3里面的出纳通提示连接系统数据库失败...
- nginx 负载均衡502问题
- VR全景拍摄制作到底需不需要加盟?加盟都有哪些好处?
热门文章
- y电容如何选型_陶瓷气体放电管,如何选型?
- python 空数组_从零开始学python之numpy
- BZOJ2127happiness——最小割
- JavaScript 小知识点
- uboot2014.10移植(一)
- AxonFramework,快照(Snapshotting)
- Django搭建简单的站点
- Laravel学习笔记之Decorator Pattern
- ansible 非root 用户 批量修改用户密码
- 用Handler的post()方法来传递线程中的代码段到主线程中执行