#!/bin/bash echo "๐Ÿ” ๅผ€ๅง‹ๆฃ€ๆต‹ๆœๅŠกๅ™จ GPU ้…็ฝฎ..." echo "" # 1. ๆฃ€ๆŸฅ NVIDIA ้ฉฑๅŠจ echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”" echo "1๏ธโƒฃ ๆฃ€ๆŸฅ NVIDIA ้ฉฑๅŠจ" echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”" if command -v nvidia-smi &> /dev/null; then nvidia-smi --query-gpu=name,driver_version,memory.total --format=csv echo "" echo "โœ… NVIDIA ้ฉฑๅŠจๅทฒๅฎ‰่ฃ…" else echo "โŒ ๆœชๆฃ€ๆต‹ๅˆฐ NVIDIA ้ฉฑๅŠจ" echo " ่ฏทๅ…ˆๅฎ‰่ฃ…้ฉฑๅŠจ: https://www.nvidia.com/Download/index.aspx" exit 1 fi # 2. ๆฃ€ๆŸฅ CUDA echo "" echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”" echo "2๏ธโƒฃ ๆฃ€ๆŸฅ CUDA ็‰ˆๆœฌ" echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”" if command -v nvcc &> /dev/null; then nvcc --version | grep release echo "โœ… CUDA ๅทฅๅ…ทๅŒ…ๅทฒๅฎ‰่ฃ…" else echo "โš ๏ธ ๆœชๆฃ€ๆต‹ๅˆฐ CUDA ๅทฅๅ…ทๅŒ…๏ผˆๅฏ้€‰๏ผ‰" echo " nvidia-smi ๆ˜พ็คบ็š„ CUDA ็‰ˆๆœฌๅฏไปฅ็›ดๆŽฅไฝฟ็”จ" fi # 3. ๆฃ€ๆŸฅ Python ๅ’Œ PyTorch echo "" echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”" echo "3๏ธโƒฃ ๆฃ€ๆŸฅ PyTorch GPU ๆ”ฏๆŒ" echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”" if command -v python3 &> /dev/null; then python3 << 'EOF' import sys try: import torch print(f"PyTorch ็‰ˆๆœฌ: {torch.__version__}") print(f"CUDA ๅฏ็”จ: {torch.cuda.is_available()}") if torch.cuda.is_available(): print(f"CUDA ็‰ˆๆœฌ: {torch.version.cuda}") print(f"cuDNN ็‰ˆๆœฌ: {torch.backends.cudnn.version()}") print(f"GPU ๆ•ฐ้‡: {torch.cuda.device_count()}") print(f"GPU ๅ็งฐ: {torch.cuda.get_device_name(0)}") print(f"GPU ๆ˜พๅญ˜: {torch.cuda.get_device_properties(0).total_memory / 1024**3:.1f} GB") print("") print("โœ… PyTorch GPU ๆ”ฏๆŒๅทฒๅฏ็”จ") else: print("") print("โŒ PyTorch ๆœชๅฏ็”จ GPU ๆ”ฏๆŒ") print(" ้œ€่ฆๅฎ‰่ฃ… CUDA ็‰ˆๆœฌ็š„ PyTorch:") print(" pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118") sys.exit(1) except ImportError: print("โŒ PyTorch ๆœชๅฎ‰่ฃ…") print(" ่ฏทๅ…ˆๅฎ‰่ฃ…: pip install torch torchvision") sys.exit(1) EOF if [ $? -eq 0 ]; then echo "" echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”" echo "๐ŸŽ‰ GPU ้…็ฝฎๆฃ€ๆต‹ๅฎŒๆˆ๏ผ" echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”" echo "" echo "๐Ÿ“Š ๆ€ง่ƒฝ้ข„ไผฐ:" echo " โ€ข ๆŽจ็†้€Ÿๅบฆ: 0.1-0.3 ็ง’/ๆฌก" echo " โ€ข ๆฏ” CPU ๅฟซ 3-5 ๅ€" echo " โ€ข ็”จๆˆทไฝ“้ชŒ: โญโญโญโญโญ" echo "" echo "๐Ÿš€ ๅฏไปฅๅผ€ๅง‹้ƒจ็ฝฒ Florence-2 API ไบ†๏ผ" else echo "" echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”" echo "โš ๏ธ ้œ€่ฆๅฎ‰่ฃ… CUDA ็‰ˆๆœฌ็š„ PyTorch" echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”" echo "" echo "่ฏท่ฟ่กŒไปฅไธ‹ๅ‘ฝไปค:" echo "" echo " # ๆŸฅ็œ‹ CUDA ็‰ˆๆœฌ" echo " nvidia-smi | grep 'CUDA Version'" echo "" echo " # ๅฆ‚ๆžœๆ˜ฏ CUDA 11.8" echo " pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118" echo "" echo " # ๅฆ‚ๆžœๆ˜ฏ CUDA 12.1" echo " pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121" echo "" fi else echo "โŒ Python3 ๆœชๅฎ‰่ฃ…" fi