conda create –name yolox python=3.9
conda activate yolox
git clone https://github.com/Megvii-BaseDetection/YOLOX.git
cd YOLOX
pip install -U pip && pip install -r requirements.txt
pip install -v -e . # or python setup.py develop
如果不想用指令進行下載,可手動下載並解壓縮
然後再安裝requirement.txt(還不是要用指令XD)
⚠⚠⚠Pytorch、torchversion 要用GPU跑的話,套件要特別去下載 如果不曉得怎麼做,可以去看我另一篇: https://github.com/huchi00057/Pytorch
再回到視窗輸指令進行下載
pip install torch-1.7.1+cu110-cp39-cp39-win_amd64.wh
pip install cython; pip install 'git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI'
wget https://github.com/Megvii-BaseDetection/YOLOX/releases/download/0.1.1rc0/yolox_s.pth
以及下載yolox_s.pt,而且要放在yolox的資料夾內
https://github.com/Megvii-BaseDetection/YOLOX/releases/download/0.1.1rc0/yolox_s.pth
python tools/demo.py image -f exps/default/yolox_s.py -c yolox_s.pth --path assets/dog.jpg --conf 0.25 --nms 0.45 --tsize 640 --save_result --device [gpu]
- -f 後面放參數設定的檔案,這邊使用官方的預設參數 exps/default/yolox_s.py
- -d GPU的數量
- -b batch size的值,通常建議gpu*8
(前人實測資料:8GPU跑5epoch,43分鐘;2GPU跑5eopch,2小時16分鐘)- -c 後面放預測時使用的 weight 檔,這邊使用官方的預訓練模型 yolox_s.pth
- --path 後面放你要預測的圖片路徑,也可以放想要預測的資料夾路徑,這邊使用官方提供的照片 assets/dog.jpg
- --conf 後面放 confidence 的 threshold,這邊使用 0.25
- --nms 後面放非極大值抑制 (Non-Maximum Suppression) 的 threshold,這邊使用 0.45
- --tsize 後面放你要將影像 resize 成多大丟進模型裡預測,這邊使用 640
- --save_result 如果要將預測結果存下來可以加這個
- --device 要用什麼 device 預測,可選 cpu 或 gpu,這邊使用 gpu
(一) 在 YOLOX/exps/example/custom/yolox_s.py 中,修改資料夾路徑 self.data_dir 和類別數量 self.num_classes
(二) 在 YOLOX/yolox/data/datasets/coco_classes.py 中的類別改成自己對應的類別,例如這邊我改成 car
python tools/train.py -f exps/example/custom/yolox_s.py -d 0 -b 4 --fp16 -o -c yolox_s.pth
python tools/eval.py -n yolox-s -c YOLOX_outputs/yolox_voc_s/latest_ckpt.pth -b 8 -d 1 --conf 0.001 -f exps/example/yolox_voc/yolox_voc_s.py
- -n:指定型號
- -c:最後訓練的重量
Traceback (most recent call last):
File "D:\yolox\tools\demo.py", line 14, in <module>
from yolox.data.data_augment import ValTransform
ModuleNotFoundError: No module named 'yolox'
在它說的那個檔案處加入
import sys
sys.path.append(r' D:\yolox')