#!/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 "=== テスト完了 ==="