淺入淺出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
wget http://download.tensorflow.org/models/resnet_v1_50_2016_08_28.tar.gz
解壓得到 resnet_v1_50.ckpt
二. 代碼編譯運行
代碼編譯可以參考 Github 說明,這裡也給出如下流程:
1. make coco工具
cd ./libs/datasets/pycocotools make
2. 將下載的 COCO 數據放到 ./data 目錄下,將數據轉換成 tf 所需格式;
按照說明文件:
a)在 data下建一個 coco 文件夾,將指定的5個文件 copy到該目錄;
b)將zip文件解壓縮;
c)在根目錄下建立 output/mask_rcnn 文件夾,用於存放 log;
d)執行格式轉換腳本(大概會花一小時);
python download_and_convert_data.py
可能會提示Python某些庫錯誤,沒關係,安裝一下就好了,可以將pip源換成國內的,pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pil
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編譯
cd ./libs make
5. 訓練數據
python ../train/train.py
當你觀察到Loss的時候,說明訓練過程已經成功開始了,不要著急,等著Loss慢慢減少吧,原作者訓練 8-GPU 花了32個小時。
三. 訓練效果
根據訓練生成的 Log文件,存放在 output裡面:
設置 TensorBoard 的logdir,來看一下訓練效果:
可以看到整個的 loss 的變化情況,還是很有成就感的,需要說明一下,在訓練過程中可能 loss 會有震蕩的情況,沒有關係,等到逐漸下降就好了。
看一下生成的 Graphs:
四. Demo 運行
Github 上未給出 Demo 運行方法,需要我們自己找腳本來實現。
可以參考上一篇 demo.py 自己來寫,這裡作者就不給出具體 code 了,請自行發揮。
推薦閱讀:
※TensorFlow機器學習模型快速部署指南
※一文打盡:線性回歸和邏輯斯蒂線性回歸
※記錄深度學習踩過的坑
※對比深度學習十大框架:TensorFlow最流行但並不是最好
TAG:TensorFlow |