一、前言
最近在學習一個基於目標導航的深度學習Demo,是Yuke Zhu在他論文Target-Driven Visual Navigation中提出的,並在他的Github提供了代碼。下面,我將演示如何實現這個Demo,並在博客最後附上論文翻譯連接和Github代碼連接。
二、Demo實現
1.配置Tensortflow
該工程代碼是在Tensorflow API r1.0中實現,首先要進行Tensorflow 1.0的安裝。引用王立遠博主提供的國內源。
sudo python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow==1.0.0
2.在Github上下載源代碼
打開終端直接克隆。
git clone https://github.com/caomw/icra2017-visual-navigation-1.git
3.其他依賴
其他依賴(h5py,numpy的,scikit圖像,pyglet)可以通過安裝PIP,在終端直接運行命令行:
sudo pip install -r requirements.txt
這裏可能會出現pip版本問題,解決辦法在我的另一篇博客【Ubuntu16.04】pip版本問題。
4.場景
(1)下載場景
爲了便於培訓,Yuke Zhu提供了模擬場景的hdf5轉儲。每個轉儲都包含在四個基本方向上從離散網格中採樣的代理人的第一人稱觀察值,共四個場景,使用data文件夾裏的download_scene_dumps.sh
腳本在終點下載。
#終端運行
sh ./data/download_scene_dumps.sh
(2)加載場景
目前四個場景分別是(浴室,臥室,廚房和客廳),keyboard_agent.py
提供了一個腳本。該腳本允許加載場景轉儲並使用箭頭鍵導航場景。要運行腳本,在終端輸入命令:
#確保場景轉儲位於數據文件夾中,例如./data/bedroom_04.h5
python keyboard_agent.py --scene_dump ./data/bedroom_04.h5
點擊場景框,用上下左右鍵控制移動。
5.訓練與評估
(1)訓練
將模型檢查點存儲到CHECKPOINT_DIR,並將Tensorboard日誌寫入LOG_FILE。要訓練目標驅動的導航模型,在終端運行以下腳本:
#進行訓練
python train.py
(2)評估
爲了進行評估,爲每個目標運行100集,並報告導航軌跡的平均/標準差長度。要評估中的模型檢查點CHECKPOINT_DIR,在終端運行以下腳本:
#評估
python evaluate.py
三、論文翻譯與Github源碼鏈接
1.論文翻譯
豬蒙索洛夫博主的超強良心翻譯:
【論文翻譯】Target Driven Visual Navigation with Hybrid Asynchronous Universal Successor Representations
2.Github源代碼鏈接
基於有些小夥伴有使用谷歌瀏覽器下源碼習慣,直接附連接:
https://github.com/caomw/icra2017-visual-navigation-1.git