溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

OneFlow怎么快速上手

發布時間:2022-10-12 17:29:15 來源:億速云 閱讀:176 作者:iii 欄目:web開發

本文小編為大家詳細介紹“OneFlow怎么快速上手”,內容詳細,步驟清晰,細節處理妥當,希望這篇“OneFlow怎么快速上手”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

安裝 OneFlow 穩定發布版

使用以下命令安裝 OneFlow 最新穩定版本:

python3

系統要求:

  • Python >= 3.5

  • Nvidia Linux x86_64 driver version >= 440.33

如果提示 找不到 對應版本,請嘗試升級 pip

python3 -m pip install --upgrade --user pip

安裝 OneFlow with legacy CUDA

支持其它較早版本 CUDA 的 OneFlow 的安裝方法如下:

python3 -m pip install --find-links https://oneflow-inc.github.io/nightly oneflow_cu101 --user
python3 -m pip install --find-links https://oneflow-inc.github.io/nightly oneflow_cu100 --user
python3 -m pip install --find-links https://oneflow-inc.github.io/nightly oneflow_cu92 --user
python3 -m pip install --find-links https://oneflow-inc.github.io/nightly oneflow_cu91 --user
python3 -m pip install --find-links https://oneflow-inc.github.io/nightly oneflow_cu90 --user

從源碼編譯安裝 OneFlow

YoloV3

快速開始

開始前,請確保您已正確安裝了oneflow,并且在python3環境下可以成功import oneflow。

  1. git clone此倉庫到本地

git

2.安裝python依賴庫   

pip install -r requirements.txt

3.在項目root目錄下,執行:

./scripts/build.sh

執行此腳本,將cpp代碼中自定義的op算子編譯成可調用執行的.so文件,您將在項目路徑下看到:

  • libdarknet.so

  • liboneflow_yolov3.so

預訓練模型

我們使用了yolov3原作者提供的預訓練模型—yolov3.weight ,經轉換后生成了OneFlow格式的模型。下載預訓練模型:of_model_yolov3.zip ,并將解壓后的of_model文件夾放置在項目root目錄下,即可使用。

預測/推理

運行:

sh yolo_predict.sh

或者:

sh yolo_predict_python_data_preprocess.sh

運行腳本后,將在data/result下生成檢測后帶bbox標記框的圖片

參數說明 - --pretrained_model 預訓練模型路徑

  • --label_path coco類別標簽路徑(coco.name)

  • --input_dir 待檢測圖片文件夾路徑

  • --output_dir 檢測結構輸出路徑

  • --image_paths 單個/多個待檢測圖片路徑,如:

--image_paths 'data/images/000002.jpg' 'data/images/000004.jpg'

訓練同樣很簡單,準備好數據集后,只需要執行:sh yolo_train.sh即可,數據集制作過程見下文【數據集制作】部分。

數據集制作

YoloV3支持任意目標檢測數據集,下面我們以COCO2014制作過程為例,介紹訓練/驗證所需的數據集制作,其它數據集如PASCAL VOC或自定義數據集等,都可以采用相同格式。

資源文件

下載COCO2014訓練集和驗證集圖片,將解壓后的train2014和val2014放在data/COCO/images目錄下

(如果本地已下載過COCO2014數據集,可以ln軟鏈接images至本地train2014和val2014的父目錄)

準備資源文件:labels,5k.part,trainvalno5k.part

wget -c https://pjreddie.com/media/files/coco/5k.part
wget -c https://pjreddie.com/media/files/coco/trainvalno5k.part
wget -c https://pjreddie.com/media/files/coco/labels.tgz

腳本

在data/COCO目錄下執行腳本:

# get label file
tar xzf labels.tgz

# set up image list
paste <(awk "{print \"$PWD\"}" <5k.part) 5k.part | tr -d '\t' > 5k.txt
paste <(awk "{print \"$PWD\"}" <trainvalno5k.part) trainvalno5k.part | tr -d '\t' > trainvalno5k.txt

# copy label txt to image dir
find labels/train2014/ -name "*.txt"  | xargs -i cp {} images/train2014/
find labels/val2014/   -name "*.txt"  | xargs -i cp {} images/val2014/

執行腳本將自動解壓縮labels.tgz文件,并在當前目錄下生成5k.txt和trainvalno5k.txt,然后將labels/train2014和labels/val2014的的所有label txt文件復制到對應的訓練集和驗證集文件夾中( 保證圖片和label在同一目錄 )。

至此,完成整個數據集的準備過程。

訓練

修改yolo_train.sh腳本中的參數,令:--image_path_file="data/COCO/trainvalno5k.txt"并執行:


sh yolo_train.sh

即可開始訓練過程,更詳細的參數介紹如下:

  • --gpu_num_per_node 每臺機器使用的gpu數量

  • --batch_size batch 批大小

  • --base_lr 初始學習率

  • --classes 目標類別數量(COCO 80;VOC 20)

  • --model_save_dir 模型存放文件夾路徑

  • --dataset_dir 訓練/驗證集文件夾路徑

  • --num_epoch 迭代總輪數

  • --save_frequency 指定模型保存的epoch間隔

讀到這里,這篇“OneFlow怎么快速上手”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女