Initial commit: Korean voice-cloning TTS prototype
FastAPI backend, web UI, CosyVoice3/F5-TTS setup scripts, and handoff docs for GPU PC continuation. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
77
scripts/check_env.sh
Executable file
77
scripts/check_env.sh
Executable file
@@ -0,0 +1,77 @@
|
||||
#!/usr/bin/env bash
|
||||
# NVIDIA GPU + CUDA 환경 점검
|
||||
set -euo pipefail
|
||||
|
||||
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
cd "$ROOT"
|
||||
|
||||
echo "=== TTS 환경 점검 ==="
|
||||
echo "프로젝트: $ROOT"
|
||||
echo
|
||||
|
||||
echo "--- OS / CPU ---"
|
||||
uname -a
|
||||
echo
|
||||
|
||||
echo "--- Python ---"
|
||||
if command -v python3 &>/dev/null; then
|
||||
python3 --version
|
||||
which python3
|
||||
else
|
||||
echo "python3: 없음"
|
||||
fi
|
||||
echo
|
||||
|
||||
echo "--- NVIDIA GPU ---"
|
||||
if command -v nvidia-smi &>/dev/null; then
|
||||
nvidia-smi
|
||||
echo
|
||||
nvidia-smi --query-gpu=name,memory.total,driver_version --format=csv
|
||||
else
|
||||
echo "nvidia-smi: 사용 불가 (NVIDIA GPU 서버에서 실행하세요)"
|
||||
fi
|
||||
echo
|
||||
|
||||
echo "--- CUDA (nvcc) ---"
|
||||
if command -v nvcc &>/dev/null; then
|
||||
nvcc --version | head -4
|
||||
else
|
||||
echo "nvcc: 없음 (PyTorch CUDA 빌드로도 동작 가능)"
|
||||
fi
|
||||
echo
|
||||
|
||||
echo "--- PyTorch (API venv) ---"
|
||||
API_VENV="$ROOT/.venvs/api"
|
||||
if [[ -x "$API_VENV/bin/python" ]]; then
|
||||
"$API_VENV/bin/python" -c "
|
||||
import sys
|
||||
try:
|
||||
import torch
|
||||
print('torch:', torch.__version__)
|
||||
print('cuda available:', torch.cuda.is_available())
|
||||
if torch.cuda.is_available():
|
||||
print('device:', torch.cuda.get_device_name(0))
|
||||
except ImportError:
|
||||
print('torch: 미설치 (API만 사용 시 정상)')
|
||||
" 2>/dev/null || true
|
||||
else
|
||||
echo "API venv 없음 → ./scripts/setup_api.sh 실행"
|
||||
fi
|
||||
echo
|
||||
|
||||
echo "--- 모델 venv ---"
|
||||
for name in f5tts cosyvoice; do
|
||||
V="$ROOT/.venvs/$name"
|
||||
if [[ -x "$V/bin/python" ]]; then
|
||||
echo "[$name] OK: $V"
|
||||
else
|
||||
echo "[$name] 없음 → setup_${name}.sh (f5tts는 setup_f5tts.sh)"
|
||||
fi
|
||||
done
|
||||
echo
|
||||
|
||||
echo "--- 디렉터리 ---"
|
||||
for d in samples outputs models config backend web; do
|
||||
[[ -d "$ROOT/$d" ]] && echo " $d: OK" || echo " $d: MISSING"
|
||||
done
|
||||
echo "점검 완료."
|
||||
Reference in New Issue
Block a user