どうもヒノマルクです。
アノテーションツールでCVATというのがあるのですが、M1 mac上でインストールして動かすのに苦労したのでここにまとめておきます。
まず試したのはUTMにUbuntu serverをインストールして、実行する方法です。
こちらは
export DOCKER_DEFAULT_PLATFORM=linux/amd64
docker compose up -d
でamd64指定をして実行を試みました。
しかし結局は、no matching manifest for linux/arm64/v8 と出てしまい断念。
色々調べていたら下記CVATのチケットが出てきてm1 macでも動くようなことが書いてあります。(CVAT m1 macとかで検索すると出てきます)
https://github.com/cvat-ai/cvat/issues/6629
https://github.com/cvat-ai/cvat/issues/2798
考えてみるとUTMにUbuntuサーバー立てなくても、Docker Desktop for Apple siliconでやればいいかと思い、さっそくインストール。https://matsuand.github.io/docs.docker.jp.onthefly/desktop/mac/apple-silicon/
Rossetaをインストールとか色々出てきますが、インストラクションの通りにインストールしました。(あまりm1 macを汚したくないのでDocker Desktopは入れないようにしていたのですがしょうがない。)
試行錯誤の結果、下記で起動まで出来ました。
git clone https://github.com/cvat-ai/cvat.git
cd cvat
# 結構時間かかります
export DOCKER_DEFAULT_PLATFORM=linux/amd64 && docker compose -f docker-compose.yml -f docker-compose.dev.yml build
# 起動
docker compose up -d
Error response from daemon: No such image: apache/kvrocks:2.7.0
とか出てきたら一旦cvat/ui:devとcvat/server 以外のpull済みのイメージを消去してください。
docker imagesで出てくるイメージを探して、docker rmi [IMAGE ID]で消去できます。
起動後 docker ps で一覧を見てみて、コンテナがrestart 6 seconds ago とかになっているものがなければおそらく大丈夫です。
hinomaruc@hinomarucnoMacBook-Air cvat % docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
329db88389fe cvat/ui:dev "/docker-entrypoint.…" 22 seconds ago Up 19 seconds 80/tcp cvat_ui
7d4cc5712fd3 cvat/server:dev "./backend_entrypoin…" 59 seconds ago Up 19 seconds 8080/tcp cvat_worker_consensus
c956656619b5 cvat/server:dev "./backend_entrypoin…" 59 seconds ago Up 19 seconds 8080/tcp cvat_worker_chunks
e8931310262d cvat/server:dev "./backend_entrypoin…" 59 seconds ago Up 19 seconds 8080/tcp cvat_server
0a380b4c5840 cvat/server:dev "./backend_entrypoin…" 59 seconds ago Up 19 seconds 8080/tcp cvat_worker_quality_reports
42db88366085 cvat/server:dev "./backend_entrypoin…" 59 seconds ago Up 20 seconds 8080/tcp cvat_worker_analytics_reports
8949d4bcdb16 cvat/server:dev "./backend_entrypoin…" 59 seconds ago Up 19 seconds 8080/tcp cvat_worker_export
139a4069dad2 cvat/server:dev "./backend_entrypoin…" 59 seconds ago Up 20 seconds 8080/tcp cvat_worker_annotation
cf83ac3d872a cvat/server:dev "./backend_entrypoin…" 59 seconds ago Up 19 seconds 8080/tcp cvat_worker_webhooks
81140d144292 cvat/server:dev "./backend_entrypoin…" 59 seconds ago Up 19 seconds 8080/tcp cvat_utils
f7cebf1ed529 cvat/server:dev "./backend_entrypoin…" 59 seconds ago Up 19 seconds 8080/tcp cvat_worker_import
c5a345831807 timberio/vector:0.26.0-alpine "/usr/local/bin/vect…" 59 seconds ago Up 20 seconds cvat_vector
a64e1f216136 postgres:15-alpine "docker-entrypoint.s…" About a minute ago Up 20 seconds 5432/tcp cvat_db
a6a5cdeda299 redis:7.2.3-alpine "docker-entrypoint.s…" About a minute ago Up 20 seconds 6379/tcp cvat_redis_inmem
75e21d1b7b9e grafana/grafana-oss:10.1.2 "sh -euc 'mkdir -p /…" About a minute ago Up 20 seconds 3000/tcp cvat_grafana
86d1655b15d1 apache/kvrocks:2.7.0 "kvrocks -c /var/lib…" About a minute ago Up 20 seconds (healthy) 6666/tcp cvat_redis_ondisk
3c4e6ce98df8 clickhouse/clickhouse-server:23.11-alpine "/entrypoint.sh" About a minute ago Up 20 seconds 8123/tcp, 9000/tcp, 9009/tcp cvat_clickhouse
b8dcd0a45f0a traefik:v2.10 "/entrypoint.sh trae…" About a minute ago Up 20 seconds 0.0.0.0:8080->8080/tcp, 80/tcp, 0.0.0.0:8090->8090/tcp traefik
3cff5d9dea16 openpolicyagent/opa:0.63.0 "/opa run --server -…" About a minute ago Up 20 seconds cvat_opa
そういえばUTMのUbuntuサーバーでは docker buildは試してなかったですね。もし成功した人がいましたらぜひ問い合わせから教えてください。
。。。ここらへんもGrok3のDeep Searchで検索したら一発で出来るようになるのかな?