Skip to content

Latest commit

 

History

History
66 lines (56 loc) · 3.48 KB

File metadata and controls

66 lines (56 loc) · 3.48 KB

[Japanese/English]

YOLOX-Colaboratory-Training-Sample


YOLOXをGoogle Colaboratory上で訓練しONNX、TensorFlow-Lite形式のファイルをエクスポートするサンプルです。
以下の内容を含みます。

  • データセット ※アノテーション未実施
  • データセット ※アノテーション済み
  • Colaboratory用スクリプト(環境設定、モデル訓練)
  • ONNX推論サンプル

Requirement

  • Pytorch 1.9.0 or later
  • apex 0.1 or later
  • pycocotools 2.0 or later
  • OpenCV 3.4.2 or later ※推論サンプルを実施する場合のみ
  • onnxruntime 1.5.2 or later ※推論サンプルを実施する場合のみ

About annotation

VoTTを使用してアノテーションを行い、
Pascal VOC形式で出力したアノテーションデータを前提としています。
ただし、ノートブック内で更にMS COCO形式変換しています。

ノートブックのサンプルでは、以下のようなディレクトリ構成を想定しています。
ただし、本サンプルでは「pascal_label_map.pbtxt」は利用しないため、
格納しなくても問題ありません。

02.annotation_data
│  000001.jpg
│  000001.xml
│  000002.jpg
│  000002.xml
│   :
│  000049.jpg
│  000049.xml
│  000050.xml
└─ pascal_label_map.pbtxt
  

Usage

Open In Colab
トレーニングはGoogle Colaboratory上で実施します。
[Open In Colab]リンクからノートブックを開き、以下の順に実行してください。

  1. YOLOX 依存パッケージインストール(YOLOX Dependent Package Install)
  2. NVIDIA APEXインストール(NVIDIA APEX Install)
  3. PyCocoToolsインストール(PyCocoTools Install)
  4. データセットダウンロード(Download Dataset)
    自前のデータセットを使用したい方は「use_sample_image = True」をFalseに設定し、
    「dataset_directory」に自前のデータセットのパスを指定してください
  5. Pascal VOC形式 を MS COCO形式へ変換(Convert Pascal VOC format to MS COCO format)
  6. モデル訓練(Training Model)
    「!python train.py」を実施する前に「YOLOX」ディレクトリに「nano.py」を格納してください。
    自前のデータセットを使用する場合「nano.py」の以下の項目を変更してください。
    1. クラス数
      self.num_classes
    2. 画像格納パス
      self.data_dir
    3. 学習データ アノテーションファイル
      self.train_ann
    4. 検証データ アノテーションファイル
      self.val_ann
    5. エポック数
      self.max_epoch
  7. 推論テスト(Inference test)
  8. ONNX変換(Convert to ONNX)

※「nano.py」のオリジナルファイルは「Megvii-BaseDetection/YOLOX/exps/default」に格納されています

Author

高橋かずひと(https://twitter.com/KzhtTkhs)

License

YOLOX-Colaboratory-Training-Sample is under Apache-2.0 License.