- config: batch_size_per_card 14 -> 32 (5090 32GB headroom) - setup_server.sh: pin nvidia-cudnn-cu13>=9.17 to match the sm_120 wheel (without it conv2d hits "Cannot load symbol cublasLtCreate" abort) - new scripts/recreate_container.sh: one-shot rebuild with --shm-size 8g, preserves /root/.netrc so wandb auth survives, runs setup_server.sh Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>main
parent
f5f8939a5c
commit
c7c13e48cd
@ -0,0 +1,50 @@
|
||||
#!/usr/bin/env bash
|
||||
# kr_lp_pgnet 컨테이너 재생성 (--shm-size 8g 적용 등)
|
||||
#
|
||||
# 호스트에서 실행:
|
||||
# bash scripts/recreate_container.sh
|
||||
#
|
||||
# 동작:
|
||||
# 1. /root/.netrc 백업 (wandb 인증 보존)
|
||||
# 2. 기존 컨테이너 강제 삭제
|
||||
# 3. 새 컨테이너 시작 (--shm-size 8g, --gpus all, bind mount)
|
||||
# 4. .netrc 복원
|
||||
# 5. setup_server.sh 자동 실행 (paddle 등 재설치)
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
NAME=kr_lp_pgnet
|
||||
IMAGE=ubuntu:24.04
|
||||
SHM=8g
|
||||
WORKSPACE=/home/cuuva/workspace
|
||||
|
||||
# 1. .netrc 백업 (wandb 로그인 보존용)
|
||||
NETRC_BAK=/tmp/${NAME}_netrc.bak
|
||||
if docker exec "$NAME" test -f /root/.netrc 2>/dev/null; then
|
||||
docker cp "$NAME":/root/.netrc "$NETRC_BAK"
|
||||
echo " ✓ /root/.netrc backed up → $NETRC_BAK"
|
||||
fi
|
||||
|
||||
# 2. 기존 컨테이너 강제 정리
|
||||
docker rm -f "$NAME" 2>/dev/null || true
|
||||
|
||||
# 3. 새 컨테이너 (--shm-size 8g 핵심)
|
||||
docker run -d --name "$NAME" --gpus all \
|
||||
--shm-size="$SHM" \
|
||||
-v "$WORKSPACE:/workspace" \
|
||||
-w /workspace \
|
||||
--restart unless-stopped \
|
||||
"$IMAGE" sleep infinity
|
||||
echo " ✓ 새 컨테이너 시작 (shm-size=$SHM)"
|
||||
|
||||
# 4. .netrc 복원
|
||||
if [ -f "$NETRC_BAK" ]; then
|
||||
docker cp "$NETRC_BAK" "$NAME":/root/.netrc
|
||||
rm "$NETRC_BAK"
|
||||
echo " ✓ /root/.netrc 복원 (wandb login 유지)"
|
||||
fi
|
||||
|
||||
# 5. setup_server.sh 자동 실행 (paddle/PaddleOCR/cuDNN 등 재설치)
|
||||
echo
|
||||
echo " → setup_server.sh 실행..."
|
||||
docker exec "$NAME" bash /workspace/kr_lp_pgnet/scripts/setup_server.sh
|
||||
Loading…
Reference in new issue