74 lines
2.0 KiB
Bash
Executable File
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 "=== テスト完了 ==="
|