2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【YOLOX】PyTorch版モデルをTensorRTへ変換する

Posted at

YOLOXの処理を高速化する目的で、既存のPyTorch版モデルをTensorRT版に変換してみました。

前提

  • YOLOXリポジトリをcloneし、TensorRTとtorch2trtをインストールした動作環境があること。 (環境構築については、補足を参照してください。)
  • YOLOXのPyTorch版のモデル(重みファイル)が手元にあること。

PyTorch→TensorRT変換手順

動作環境が用意できていれば、YOLOX公式のスクリプトを使って簡単に変換できます。

  1. 動作環境に入り、YOLOXリポジトリのルートをカレントディレクトリにします。

    cd /path/to/YOLOX
    
  2. tools/trt.pyスクリプトを実行すると、PyTorch版モデルをTensorRT版に変換したモデルmodel_trt.pthが生成されます。

    python tools/trt.py -n yolox-m -c /path/to/yolox_m.pth
    

    上記コマンドの実行に成功すると、カレントディレクトリ(/path/to/YOLOX)直下にディレクトリYOLOX_outputs/yolox_mが生成され、そのディレクトリ下にmodel_trt.pthが出力されます。

    /path/to/YOLOX/YOLOX_outputs/yolox_m/
        ├ model_trt.engine
        └ model_trt.pth
    

動作確認

生成したTensorRT版モデルを使って、YOLOXのデモ用スクリプトを実行します。

python tools/demo.py image -n yolox-m --trt --save_result

デモに成功すると、推論結果の可視化画像がvis_res/YYYY_mm_dd_HH_MM_SS/dog.jpgとして出力されます。

/path/to/YOLOX/YOLOX_outputs/yolox_m/
    ├ model_trt.engine
    ├ model_trt.pth
    └ vis_res/
        └ YYYY_mm_dd_HH_MM_SS/
            └ dog.jpg

dog.jpg

推論処理にかかった処理時間は下記のように出力されます。筆者の環境では、約12FPSの処理速度でした。

Infer time: 0.0846s

同様にしてPyTorch版でデモを試した際は8FPS程度でしたので、期待通り高速化されたと言えそうです。

補足(環境構築)

YOLOX

git clone git@github.com:Megvii-BaseDetection/YOLOX.git
cd YOLOX
pip install -v -e .

PyTorch版モデルでデモを試したい場合は、下記のDemoが参考になります。

https://github.com/Megvii-BaseDetection/YOLOX/tree/main?tab=readme-ov-file#quick-start

TensorRT

下記リンクの手順に従ってインストールできます。

https://docs.nvidia.com/deeplearning/tensorrt/latest/installing-tensorrt/installing.html

debファイルからインストールする等いくつかのインストールオプションがありますが、いずれの方法でもNVIDIAアカウントが必要です。

torch2trt

git clone https://github.com/NVIDIA-AI-IOT/torch2trt
cd torch2trt
python setup.py install

その他のインストールオプションはhttps://github.com/NVIDIA-AI-IOT/torch2trt?tab=readme-ov-file#setupに記載されています。

参考

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?