wang-xinyu/tensorrtx

Implementation of popular deep learning networks with TensorRT network definition API

何を解決するか

TensorRTx は、ONNX や UFF などの標準パーサーに依存せず、TensorRT のネットワーク定義 API を使用して人気のあるディープラーニングネットワークを実装する方法を提供します。このアプローチにより、自動パーサーの「ブラックボックス」的な性質を回避し、開発者がネットワーク構造と最適化の完全な制御を可能にします。

動作方法

このプロジェクトは、トレーニング済みモデルから高性能な推論エンジンへと移行するための特定のワークフローに従います:

  1. 重みのエクスポート:PyTorch、MXNet、TensorFlow などのフレームワークから重みを抽出し、プレーンテキスト形式の .wts ファイルにエクスポートします。
  2. ネットワーク定義:TensorRT の複雑な API を使用して、ネットワークを完全に再構築し、レイヤーと構造を定義します。
  3. エンジンの構築.wts でエクスポートされた重みを定義されたネットワークに読み込み、TensorRT エンジンを構築します。
  4. 推論:生成されたエンジンをロードして推論を実行します。

対象ユーザー

NVIDIAハードウェア上で TensorRT を介してモデルをデプロイする際、ネットワークを自由に変更したり、中間レイヤーの結果をデバッグしたり、ディープラーニングモデルの内部構造を学びたい開発者や研究者に最適です。

特徴

  • 高い柔軟性:レイヤーの追加・削除・置換が容易で、前処理や後処理をネットワーク内に直接統合できます。
  • 詳細なデバッグ:段階的な開発をサポートし、中間レイヤーの出力を確認できます。
  • 豊富なモデルズー:YOLOシリーズ(v3 から v13)、ResNet、MobileNet、Vision Transformers(ViT)、顔検出用の RetinaFace、テキスト検出用の DBNet など、多様なモデルの実装を含んでいます。
  • カスタマイズ可能なワークフロー:CMake を使用して個別のサブプロジェクトまたは全体のセットを構築できます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト