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関数なんかも作れるみたいなので、今後やってみようかなと思います
スポンサーリンク