テキスト入力による画像認識
ex. 「All yellow tailed fish」
ここではDockerをインストールして仮想領域を作り
lang-segment-anythingを使用する方法をご紹介しています。
(ubuntu22.04.4 cuda12.4.1 cudNN9.1.1)の環境で行っています。
Dockerのインストール
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
リポジトリをaptソースに追加する
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
Docker のパッケージをインストールします
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
うまくインストール出来たら試しに、次を実行してみてください。
sudo docker run hello-world
きちんとインストールされていると次が表示されます
Hello from Docker!
This message shows that your installation appears to be working correctly.
Docker composeのインストール
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins
curl -SL https://github.com/docker/compose/releases/download/v2.4.1/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
バージョンを表示して、きちんとインストール出来ているのを確認してみてください。
docker compose version
dockerグループに追加
sudoを使わないで実行できるようにユーザー名を登録しておく
(dockerグループが既に作成されている場合はsudo groupadd docker
をする必要はありません)
sudo groupadd docker
sudo usermod -aG docker あなたのPCのユーザー名
再起動しないと反映されないので
sudo reboot
dockerのビルド
lang_segment_anythingのファイルをgithubより入手し、ディレクトリを変更する
git clone https://github.com/eijwat/lang_segment_anything_with_minor-modification
cd lang_segment_anything_with_minor-modification
NVIDIA Docker Toolkitのインストールのためbashファイルを作る
以下をコピーし、nvidia-container-runtime-script.sh
で保存
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
sudo apt-get install -y nvidia-docker2
sudo systemctl restart docker
作成した.shファイルを実行
sh nvidia-container-runtime-script.sh
コンテナの作成と起動
docker compose -f docker-compose.prebuild.yml up -d
docker compose -f docker-compose.prebuild.yml exec lang-segment-anything /bin/bash
GroundingDINO をインストール
pip install git+https://github.com/IDEA-Research/GroundingDINO.git
プログラムを実行します。
ダウンロードしたフォルダ内にあるfish.jpg
を使い、
demo.py内の text_prompt = "All yellow tailed fish"について画像分類します。
python3 demo.py
結果は fish_result.png になります。