🔖

CartoonSegmentationをDockerで動かす

2024/01/06に公開

概要

今回はこちらのCartoonSegmentationをローカルPCのUbuntu上のDocker環境で動かしてみます。
https://github.com/CartoonSegmentation/CartoonSegmentation

githubの手順ではインストールに失敗しました。mmcvモジュールはインストール時の依存関係がかなり厳しいです。

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

公式のColabの内容を参考にDocker環境でモジュールをインストールします。mmcvのインストールより先にtorchをインストールする必要があるようです。

CUDA11.8のdockerイメージにtorch==2.1.0をインストールした後でopenminをインストールして、min install でmmcvなどをインストールします。

FROM nvidia/cuda:11.8.0-devel-ubuntu20.04
...
RUN pip install -f https://download.pytorch.org/whl/torch_stable.html torch==2.1.0+cu118
RUN pip install -f https://download.pytorch.org/whl/torch_stable.html torchvision==0.16.0+cu118

RUN pip install -U openmim
RUN mim install mmcv mmdet mmengine

RUN git clone https://github.com/CartoonSegmentation/CartoonSegmentation
WORKDIR $HOME/CartoonSegmentation
RUN pip install -r requirements.txt
...

あとはCartoonSegmentation/run_segmentation.ipynbを実行するだけです。

mmcvをインストールしたことがある人はわかると思いますが、このモジュールは依存関係がとんでもなく厳しいです。今回は以下のバージョンで動いているようです。

openmim                            0.3.9
mmcv                               2.1.0
mmdet                              3.3.0
mmengine                           0.10.2

pytorch-lightning                  2.1.3
torch                              2.1.0+cu118
torchmetrics                       1.2.1
torchvision                        0.16.0+cu118

Discussion