こすたろーんエンジニアの試行錯誤部屋

作成物の備忘録を書いていきますー

Jetson Xavier NX上でfacebookresearchの画像分類フレームワーク ClassyVision を使う

facebookresearchが公開している画像分類フレームワークClassyVisionをJetson Xavier NX上で動かす際の備忘録です
強引なやり方をしてますので、もっとスマートなやり方をご存じの方はコメントで教えてくれると嬉しいです・・・

目次

スポンサーリンク

この記事でわかること

Jetson Xavier NXでClassyVisionを使う方法

1.実行環境

Jetson Xavier NX
ubuntu18.04
docker
python3.x
pytorch
->Jetson Xavier NX上におけるpytrorch環境構築は以下でやってますので、ご参考までに~ technoxs-stacker.hatenablog.com

2.環境構築

2.1 docker containerの起動

sudo docker run -it --rm --runtime nvidia --network host -v /path/to/classy_vision/workspace/:/workspace nvcr.io/nvidia/l4t-pytorch:r32.4.4-pth1.6-py3

2.2 モジュールのインストール

git clone https://github.com/facebookresearch/ClassyVision.git
cd ClassyVision
pip install .

pipでもインストール可能なようですが、私の環境では必要なコードがうまく入らなかったため
git cloneでインストールしています

2.3 その他モジュールのアップデート及びインストール

pytorchは1.8以上が必要みたいなので、アップデートします
またtensorboardが必要なのでインストールします

pip3 install torch==1.8.0 torchvision==0.11.3 torchaudio==0.10.0
pip3 install tensorboard

以下コマンドで必要モジュールが入ったか確認します

python3 -c 'import torch; print(torch.__version__) '
python3 -c "import torchvision;print(torchvision.__version__);"

2.4 一部コードの改良

Classy Visionでは 「classy-project project名」でプロジェクトを作成し、プロジェクト内のコードをいじって、
画像分類モデルの学習を行います
私の環境では、「classy-project project名」を実行すると「classy_train.pyが見つからない」とエラーが
出るのでclassy-projectを改造して対応します
ファイル:/bin/classy-project 42行目

    # if dev_install:
    #     classy_train_path = root / "classy_train.py"
    # else:
    #     classy_train_path = Path(sys.prefix) / "classy_vision" / "classy_train.py"
    classy_train_path = "./classy_train.py"

3.テストプロジェクトの実行

環境構築が完了したので、テストプロジェクトを作成して実行してみます

3.1 テストプロジェクトの作成

python3 ./bin/classy-project my-project

3.2 学習実行

cd my-project
./classy_train.py --config configs/template_config.json

テスト完了後に以下のメッセージが表示され、output_xxxディレクトリに「checkpoints」「tensorboard」が
生成されていれば動作テスト完了です

INFO:root:Training successful!

関連記事

technoxs-stacker.hatenablog.com

感想

configをいじるだけで、torchvisionにあるモデルやオープンデータセットは使えるみたいで便利です
カスタムでデータセットやモデル、loss関数なんかも作れるみたいなので、今後やってみようかなと思います

スポンサーリンク

参考

classyvision.ai github.com