No description
  • Python 55%
  • Dockerfile 30.5%
  • Shell 14.5%
Find a file
2026-09-19 10:23:01 +09:00
workspace workspace/yolo_node.py を更新 2026-09-19 10:14:05 +09:00
buildimage.sh bug fix 2026-09-17 22:23:49 +09:00
compose.yml bug fix 2026-09-17 20:19:11 +09:00
Dockerfile add yolo_node 2026-09-18 13:42:27 +09:00
down.sh first commit 2026-09-17 13:22:07 +09:00
in.sh bug fix 2026-09-19 09:50:28 +09:00
README.md README.md を更新 2026-09-19 10:23:01 +09:00
up.sh bug fix 2026-09-17 20:19:11 +09:00

ROCm 5.7 + ROS 2 Humble + Ultralytics (YOLO) Docker Environment

AMD GPU (ROCm) 環境上で ROS 2 HumbleUltralytics (YOLO) を安全に併用するための Docker 開発・実行環境です。 研究室の所有Raizenの事情により、GPUコア/アーキテクチャコード(gfx900)のマシンでの実行を想定しています。


構成概要

  • ベースイメージ: rocm/pytorch:rocm5.7_ubuntu22.04_py3.10_pytorch_2.0.1
  • ROS 2: ROS 2 Humble (ros-humble-ros-core, rclpy, sensor-msgs, cv-bridge)
  • GPU パススルー: /dev/kfd, /dev/dri
  • ボリュームマウント: ホストの ./workspace をコンテナの /workspace へマウント

ファイル構成

  • Dockerfile: ROS 2 Humble パッケージおよび Python 依存ライブラリの定義
  • compose.yml: コンテナ設定GPUデバイス、各種環境変数、ボリューム割り当て
  • buildimage.sh: BuildKit を有効にして Docker イメージをビルドするスクリプト
  • up.sh: RENDER_GIDVIDEO_GID を自動検出してコンテナを起動・入室するスクリプト
  • down.sh: コンテナを停止・削除するスクリプト
  • in.sh: 稼働中のコンテナに入室するスクリプト

動作要件 (Prerequisites)

  • GPU: AMD Radeon または Instinct シリーズ
  • ドライバー: ROCm 5.x / 6.x ドライバがホスト側に正しくセットアップされていること

クローン & ビルド手順

リポジトリからクローン

git clone https://forgejo.ikko-lab.k.hosei.ac.jp/ikko/rocmros2.git

クリーンビルドする場合

cd rocmros2
./buildimage.sh

コンテナの起動

AMD GPU をコンテナ内で正常に認識させるため、/dev/kfd および /dev/dri デバイスと render グループ権限を付与して起動します。

docker compose base

./up.sh

docker run base

docker run -it \
  --name rocmros2 \
  --ipc=host \
  --device=/dev/kfd:/dev/kfd:rwm \
  --device=/dev/dri:/dev/dri:rwm \
  --cap-add=SYS_PTRACE \
  --security-opt seccomp=unconfined \
  --group-add 110 \
  --group-add 44 \
  -e HSA_OVERRIDE_GFX_VERSION=9.0.0 \
  -e HSA_ENABLE_SDMA=0 \
  -e HSA_XNACK=0 \
  -e ROCBLAS_DISABLE_ASM=1 \
  -v "$(pwd)/workspace:/workspace" \
  forgejo.ikko-lab.k.hosei.ac.jp/ikko/rocmros2:latest \
  /bin/bash

動作確認 (Validation)

コンテナ内で以下の Python コマンドを実行し、ROCm PyTorch および Ultralytics が認識されているか確認します。

docker exec -it rocmros2 python3 -c "import torch, ultralytics; print('PyTorch Version:', torch.__version__); print('ROCm GPU Available:', torch.cuda.is_available()); print('Ultralytics Version:', ultralytics.__version__)"
PyTorch Version: 2.0.1+gita61a294
ROCm GPU Available: True
Ultralytics Version: 8.4.154