LoginSignup
0
0

More than 1 year has passed since last update.

物体検出モデルの最適化のお勉強(随時更新)

Posted at

※この記事は投稿者が物体検出の最適化のお勉強をするための情報をまとめている。
自分なりに解釈した文字が多いのでご了承ください。

疑問・知りたいこと

  • どういった原理でモデルの最適化ができているのか
  • 他にも最適化の手法がないか

そもそもTensroRTとは

公式サイトによると

  • CPUのみを使った場合よりも高速な実行が可能。
  • モデルの前処理をすることで工場の検出器などに搭載可能
  • 量子化を行うことでモデルのlatency(待ち時間)を短縮する
  • 量子化はINT8とFP16の2種類を使用している

INT8とFP16とは

INT8:8 ビット整数
FP16:16 ビット半精度浮動小数点数
以下引用です。

TensorRT では推論時の演算精度を選択できます。どの GPU も、32 ビット単精度浮動小数点数 である FP32 >という演算精度をサポートしています。GPU によっては、16 ビット半精度浮動小数点数 である FP16、8 ビッ>ト整数である INT8 という演算精度をサポートしています。多くの場合、FP16 や INT8 を選択すると、FP32 よりもさらに高速に推論できます。
サポートされているGPU一覧
image.png

なら、Jetson nanoで使うならINT8にしてみよう。

具体的にどう計算してるの

公式サイトを例にみていく。

  • 静的な値を持つノードは定数とされる。
  • テンソル計算を記述するノードは、1つまたは複数のTensorRTレイヤーに変換される。
  • 残りのノードはTorchScriptのまま
    image.png
    image.png

Torch-TensorRTのINT8は

2つの技術を使って実現している

  • 訓練後の量子化[PTQ]
  • 量子化を想定した訓練[QAT]
    PTQとは
  • ターゲットドメインのサンプルデータでモデルを実行する校正ステップ
  • FP32とINT8の推論間の情報損失を最小にするINT8へのマッピングを実行する
    QATとは
0
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
0
0