概要
LLaVAをWSL2(ubuntu22)のDockerコンテナで動かしたときのメモを残しておく。
とりあえず動かしただけなので、あとで見直したい。
(2024/5/6時点)
参考サイト
手順
コード取得
git clone https://github.com/haotian-liu/LLaVA.git
cd LLaVA
ubuntuイメージ取得
docker pull nvidia/cuda:11.8.0-devel-ubuntu22.04
コンテナ起動
docker container run -it --gpus all -h "llava_test" --rm -p 80:8888 -v /mnt/c/work:/mnt/work --name llava_test nvidia/cuda:11.8.0-devel-ubuntu22.04 /bin/bash
# -it : インタラクティブモード
# --gpus <gpu指定> : 使用するgpuの指定 (番号を指定する例 : --gpus device=0,2)
# -h <ホスト名> : コンテナ内のホスト名
# --rm : 終了時にコンテナを自動で削除
# -p <ホスト側port>:<コンテナ側port> : ポートマッピング
# -v <ホスト側dir>:<コンテナ側dir> : ディレクトリマウント
# --name <コンテナ名> : コンテナ名
# 末尾から2つ目の引数 : イメージ名:タグ名
# 末尾 : 起動時コマンド
コンテナ内でライブラリインストール
cd /mnt/work/LLaVA
apt-get update
apt-get install -y --no-install-recommends python3-pip git python3-dev curl vim less wget python3-wheel
pip install --upgrade pip
pip install -e .
pip install protobuf
実行例
# llava-v1.5-7b
python3 -m llava.serve.cli --model-path liuhaotian/llava-v1.5-7b --image-file "https://llava-vl.github.io/static/images/view.jpg" --load-4bit
# llava-v1.5-13b
python3 -m llava.serve.cli --model-path liuhaotian/llava-v1.5-13b --image-file "../1.jpg" --load-4bit
以上
Dockerfile
※できてないので未使用。Dockerfileを使用した手順に変えたい
# for LLaVA
FROM nvidia/cuda:11.8.0-devel-ubuntu22.04
ENV FORCE_CUDA="1"
ENV MMCV_WITH_OPS=1
RUN apt-get update && apt-get install -y --no-install-recommends \
python3-pip \
git \
python3-dev \
curl \
vim \
less \
wget \
python3-wheel
RUN pip3 install --upgrade pip
&& pip3 install \
protobuf \
setuptools
COPY . /llava
WORKDIR /llava
RUN pip3 install -e .
# ENTRYPOINT [ "python3", "demo.py" ]
# CMD [configs/pretrain/${MODEL}, weights/${WEIGHT}]