1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

YOLO-World Docker試行メモ

Last updated at Posted at 2024-05-06

概要

YOLO-WorldをWSL2(ubuntu22)のDockerコンテナで動かしたときのメモを残しておく。
インストールするライブラリやDockerfileの記述はかなり適当なので、あとで直したい。
(2024/5/6時点)

参考サイト

手順

YOLO-Worldのコード取得

git clone --recursive https://github.com/AILab-CVC/YOLO-World.git
cd YOLO-World

モデル取得

# 取得したモデルを格納
mkdir weights

データ取得

取得したデータを格納

# annotation
mkdir -rp data/coco/Ivis
# val2017
mkdir -rp data/coco/val2017

Dockerfileの作成

YOLO-Worldディレクトリ直下のDockerfileを更新
※頻発するエラーを解消させただけなので、中身はかなり適当

FROM nvidia/cuda:11.8.0-devel-ubuntu22.04

# ENV MODEL="yolo_world_l_dual_vlpan_l2norm_2e-3_100e_4x8gpus_obj365v1_goldg_train_lvis_minival.py"
# ENV WEIGHT="yolo_world_l_clip_base_dual_vlpan_2e-3adamw_32xb16_100e_o365_goldg_train_pretrained-0e566235.pth"

ENV FORCE_CUDA="1"
ENV MMCV_WITH_OPS=1

RUN apt-get update && apt-get install -y --no-install-recommends \
python3-pip     \
libgl1-mesa-glx \
libsm6          \
libxext6        \
libxrender-dev  \
libglib2.0-0    \
git             \
python3-dev     \
curl            \
vim             \
less            \
wget            \
python3-wheel

RUN pip3 install --upgrade pip \
&& pip3 install   \
gradio        \
opencv-python \
supervision   \
mmengine      \
setuptools    \
openmim       \
transformers  \
&& pip3 install --no-cache-dir --extra-index-url https://download.pytorch.org/whl/cu118 \
wheel         \
torch==2.0.0  \
torchvision==0.15.1  \
torchaudio    \
&& pip3 install mmdet \
mmyolo        \
&& pip3 install git+https://github.com/lvis-dataset/lvis-api.git \
&& mim install mmcv==2.0.0

COPY . /yolo
WORKDIR /yolo

# RUN pip3 install -e .

# RUN curl -o weights/$WEIGHT -L https://huggingface.co/wondervictor/YOLO-World/resolve/main/$WEIGHT

# ENTRYPOINT [ "python3", "demo.py" ]
# CMD [configs/pretrain/${MODEL}, weights/${WEIGHT}]

イメージビルド

# tag名を 0.1 とする場合
docker image build -f ./Dockerfile --tag yolo-world:0.1 .

コンテナ起動

docker container run -it --gpus all -h "yolo" --rm -p 80:8080 -v /mnt/c/temp:/work_tmp --name "yolo" yolo-world:0.1 /bin/bash
  # -it : インタラクティブモード
  # --gpus <gpu指定> : 使用するgpuの指定 (番号を指定する例 : --gpus device=0,2)
  # -h <ホスト名> : コンテナ内のホスト名
  # --rm : 終了時にコンテナを自動で削除
  # -p <ホスト側port>:<コンテナ側port> : ポートマッピング
  # -v <ホスト側dir>:<コンテナ側dir> : ディレクトリマウント
  # --name <コンテナ名> : コンテナ名
  # 末尾から2つ目の引数 : イメージ名:タグ名
  # 末尾 : 起動時コマンド  

実行例(image_demo.py)

# YOLO-Worldv2-S
PYTHONPATH=./ python3 demo/image_demo.py configs/pretrain/yolo_world_v2_s_vlpan_bn_2e-3_100e_4x8gpus_obj365v1_goldg_train_lvis_minival.py weights/yolo_world_v2_s_obj365v1_goldg_pretrain-55b943ea.pth data/lvis_val2017/val2017/ 'person,dog,cat' --topk 100 --threshold 0.25 --output-dir out

# YOLO-Worldv2-XL
PYTHONPATH=./ python3 demo/image_demo.py configs/pretrain/yolo_world_v2_xl_vlpan_bn_2e-3_100e_4x8gpus_obj365v1_goldg_train_lvis_minival.py weights/yolo_world_v2_xl_obj365v1_goldg_cc3mlite_pretrain-5daf1395.pth data/coco/val2017 'person, dog, cat, horse, car' --topk 100 --threshold 0.1 --output-dir out

以上

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?