4
3

More than 3 years have passed since last update.

IceVisionを手元で使いたい

Last updated at Posted at 2021-07-13

これは何

2021年で最もイケている物体検出フレームワークと言っても過言ではないIceVisionを手元環境で実行するためのメモ

IceVisionとは

Mobility Technologyさんによる解説記事に詳しい。(2021/7/14時点で日本語文献がこれ以外に存在しない?)
PyTorch-Lightning/fastaiを用いた物体検出フレームワークであり、複雑怪奇なgithubを読んでも実装がよくわからない物体検出手法を同一のmoduleで扱えるようにしよう、という設計思想です。
MMDetectionとDetectron2やPytorchのpretrainedモデルに比べ、最先端のモデルが実装される点にメリットがあります。(現状はMMDetectionの実装+Torchvisionの実装+EfficientDet+YOLOv5があるようです。また、timmも近々追加されるようです。)
これがあれば最新の物体検出手法が一気に試せる!

動機

公式のinstallationが一般人である私には難しかった。
Google Colab上で長時間の学習を行うのは避けたかった。

環境

Windowsでのインストールがサポートされていないようなので、わざとWindowsを使ってインストールを行う。

Ryzen Threadripper 3970X
Nvidia RTX A6000
RAM 256 GB, Storage NVMe SSD 2 TB
Windows 11 pro (21H2, build:22000.65)

手順

まず、今回はカスタムデータセットでの学習を行うことを最終目標としているため、CUDA on WSL2を使える状態にしておく。多分今使えるdeveloper modeはWindows 11のみになっている。WSLとしてUbuntu20.04を利用。

まずはcondaで環境を作る。(Windows11上のWSL-CUDA上のdockerを扱いたくなかったため。)

conda -V
#conda 4.10.1
conda create -n icevision-dev python=3.7
conda activate icevision-dev

なんかwsl上のcondaは動きが遅い気がします。色々大変なんでしょうか。
pycocotoolsは執筆時になぜかpipで入れられなかったため、condaで入れました。

conda install -c conda-forge -y pycocotools

続けて、環境の依存関係をあまり考えたくなかったのでgoogle colab用のシェルスクリプトを流用します。ここでPytorchと一緒にcudatoolkitを指定して入れるから、WSL立てたあとに入れなくてもいいっぽい?
GPUがAmpereなのでcu111を使っていますが、執筆時点でのcolab用シェルスクリプトではcu102が使われていました。

pip install PyYAML
pip install datascience
pip install tensorflow==2.4.0
pip install torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio==0.8.1 torchtext==0.9.1 -f https://download.pytorch.org/whl/lts/1.8/torch_lts.html
python -c "import torch; print(torch.cuda.is_available()); print(torch.cuda.get_device_name())"
# True
# Nvidia RTX A6000
python -c "import torch;print(torch.max(torch.rand((30,30),device='cuda')))"
# tensor(0.9998, device='cuda:0')みたいな感じ
pip install fastai==2.3.1
pip install icevision[all] 
pip install icedata
pip install yolov5-icevision
pip install mmcv-full==1.3.7 -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.8.0/index.html
pip install mmdet==2.13.0

これで環境ができるはず。

追記

現状のWindows11では、なぜかjupyter上でのimportができない(そのほかではできる)ようです。

標準データセットでのfine-tuningに続く。

4
3
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
4
3