blender-mask-peoples/test_quick.sh
2026-02-12 18:26:22 +09:00

74 lines
2.0 KiB
Bash
Executable File

#!/bin/bash
# クイックテストスクリプト
# 処理プロセスが正常に動作するか確認
set -e
echo "=== 顔検出処理のクイックテスト ==="
echo ""
# 仮想環境の確認
if [ ! -d ".venv" ]; then
echo "エラー: .venv が見つかりません"
echo "仮想環境を作成してください: python -m venv .venv"
exit 1
fi
# 環境変数の読み込み
if [ -f ".env" ]; then
echo "環境変数を読み込み中..."
export $(cat .env | grep -v '^#' | xargs)
fi
# 仮想環境をアクティベート
source .venv/bin/activate
# モデルの確認
MODEL_PATH="models/yolov8n-face-lindevs.pt"
if [ ! -f "$MODEL_PATH" ]; then
echo "警告: モデルファイルが見つかりません: $MODEL_PATH"
echo "デフォルトモデルをダウンロードしてください"
fi
# テスト画像の確認
if [ $# -eq 0 ]; then
echo "使い方: $0 <画像ファイルまたは動画ファイル>"
echo ""
echo "例:"
echo " $0 test.jpg"
echo " $0 test.mp4"
exit 1
fi
INPUT_FILE="$1"
if [ ! -f "$INPUT_FILE" ]; then
echo "エラー: ファイルが見つかりません: $INPUT_FILE"
exit 1
fi
# ファイルタイプの判定
EXT="${INPUT_FILE##*.}"
EXT_LOWER=$(echo "$EXT" | tr '[:upper:]' '[:lower:]')
echo "入力ファイル: $INPUT_FILE"
echo ""
# GPU情報の表示
echo "=== GPU情報 ==="
python -c "import torch; print(f'PyTorch CUDA available: {torch.cuda.is_available()}'); print(f'Device: {torch.cuda.get_device_name(0) if torch.cuda.is_available() else \"CPU\"}') if torch.cuda.is_available() else None" 2>/dev/null || echo "PyTorchが見つかりません"
echo ""
# テスト実行
echo "=== 検出テストを開始 ==="
if [[ "$EXT_LOWER" == "mp4" || "$EXT_LOWER" == "avi" || "$EXT_LOWER" == "mov" ]]; then
# 動画の場合は最初の1フレームのみテスト
python debug_detector.py --video "$INPUT_FILE" --frame 0
else
# 画像の場合
python debug_detector.py --image "$INPUT_FILE"
fi
echo ""
echo "=== テスト完了 ==="