fix: serve and train reuse the built image and expose GPUs correctly
- serve.sh/train.sh no longer pass --build on up/run; the build subcommand is the only path that rebuilds - compose services pin image: astrai:latest so run reuses the existing image instead of triggering a rebuild - runtime parsers leave CUDA_VISIBLE_DEVICES unset for gpu.devices: all; an empty string hid every GPU inside the container - server service reserves count: all GPUs so CUDA_VISIBLE_DEVICES performs the only filtering, matching the trainer - wrapper compose() strips an empty host CUDA_VISIBLE_DEVICES before invoking docker compose
This commit is contained in:
+4
-1
@@ -1,5 +1,6 @@
|
||||
services:
|
||||
server:
|
||||
image: astrai:latest
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
@@ -20,7 +21,7 @@ services:
|
||||
reservations:
|
||||
devices:
|
||||
- driver: nvidia
|
||||
count: 1
|
||||
count: all
|
||||
capabilities: [gpu]
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
|
||||
@@ -31,6 +32,7 @@ services:
|
||||
restart: unless-stopped
|
||||
|
||||
server-cpu:
|
||||
image: astrai:latest
|
||||
profiles: [cpu]
|
||||
build:
|
||||
context: .
|
||||
@@ -54,6 +56,7 @@ services:
|
||||
restart: unless-stopped
|
||||
|
||||
trainer:
|
||||
image: astrai:latest
|
||||
profiles: [train]
|
||||
build:
|
||||
context: .
|
||||
|
||||
Reference in New Issue
Block a user