deeplabcut 安裝、demo實驗到應用

最近發現一個很NB的玩意,deeplabcut,實現自動捕捉動物運動的軟件,嘗試使用在自己的項目中,所以進行一波操作。

先給一些鏈接 實驗室鏈接

github鏈接

路人one鏈接  路人two鏈接

本人環境 Ubuntu 16.04,根據自己電腦顯卡分別安裝對應版本的NVIDIA,CUDA 9,Anaconda3-4.2.0,Python3.5。請先自行安裝好

1、首先到 https://repo.anaconda.com/archive 下載對於你Python版本的Anaconda,並安裝。

2、環境創建命令:

# 在上述環境安裝完成的情況下進行:
conda create -n deeplabcut-py36 python=3.6
# 激活環境,之後的操作都是在激活 deeplabcut-py36環境的情況下進行操作
source activate deeplabcut-py36
# 筆者安裝gpu版本,deeplabcut 現階段只支持 tensorflow 1.8 版本
conda install tensorflow-gpu
# 安裝deeplabcut
pip install deeplabcut
# 安裝wxpython-這是一個Python的GUI庫
#linux用戶 Ubuntu 16.04LTS
pip install https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-16.04/wxPython-4.0.3-cp36-cp36m-linux_x86_64.whl
/

3、環境檢測:

# 在激活 deeplabcut-py36 環境下
# 進入 python 交互環境
:~$ python
>>>import tensorflow as tf
>>>sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
# 如果能夠正確顯示出GPU信息說明成功
 
>>>import deeplabcut
# 無報錯則說明成功

4、其他相關命令:

conda info --envs            #列出系統中現有的環境
conda remove –n 環境名 –all   #移除環境
source activate 環境名        #激活環境
source deactivate             # 退出環境
conda create -n deeplabcut-py36 python=3.6   #創建環境
 ######################################################

使用

導入相關庫:

import deeplabcut
import tensorflow as tf
import os
from pathlib import Path

加載數據:

# 路徑
path_config_file = os.path.join(os.getcwd(),'DeepLabCut-Felix/examples/Reaching-Mackenzie-2018-08-30/config.yaml')
# 加載數據
deeplabcut.load_demo_data(path_config_file)
# 注意文件夾的 文件變化
# 檢查標籤數據
deeplabcut.check_labels(path_config_file)
 

訓練數據:deeplabcut.train_network(path_config_file, shuffle=1, saveiters=300, displayiters=10)
可以實時監控顯卡運行情況:watch -n 10 nvidia-smi
#        ^數字10代表每隔10s刷新一次數據

評估網絡:# ctrl + c 停止訓練
# 開始評估模型
deeplabcut.evaluate_network(path_config_file,plotting=True)
# 此函數用於評估特定訓練狀態(快照)或所有狀態下特定隨機播放/隨機播放的訓練模型。
# 在數據集(圖像)上對網絡進行評估,並將結果作爲.csv文件存儲在評估結果下的子目錄中。

分析視頻:

# 創建路徑
videofile_path = ['/home/DeepLabCut-Felix/examples/Reaching-Mackenzie-2018-08-30/videos/MovieS2_Perturbation_noLaser_compressed.avi']
# 注意保存視頻的目錄下有兩個視頻,但不是同一個視頻。
# 一個用於訓練,一個(MovieS2_Perturbation_noLaser_compressed.avi)用於分析
# 分析視頻
print("Start Analyzing the video!")
deeplabcut.analyze_videos(path_config_file, videofile_path )
# 需要較長的時間分析
 

後續。。。。等待二。。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章