Spaces:
Sleeping
Sleeping
| # ์ค์น ๊ฐ์ด๋ | |
| ## PyTorch ๋ฒ์ ์ ์ฝ ๋ฌธ์ | |
| **๋ฌธ์ **: HF Spaces์ ZeroGPU๋ PyTorch 2.0.0-2.2.0๋ง ์ง์ํ์ง๋ง, ๋ก์ปฌ ํ๊ฒฝ์์๋ ์ต์ ๋ฒ์ ์ ์ฌ์ฉํ๊ณ ์ถ์ต๋๋ค. | |
| **ํด๊ฒฐ์ฑ **: ํ๊ฒฝ๋ณ๋ก ๋ค๋ฅธ requirements ํ์ผ ์ฌ์ฉ | |
| --- | |
| ## ๋ฐฉ๋ฒ ๋น๊ต | |
| | ๋ฐฉ๋ฒ | ์ฅ์ | ๋จ์ | ์ถ์ฒ | | |
| |------|------|------|------| | |
| | **requirements-local.txt** | ๊ฐ๋จ, ๋ช ํ | ์๋ ์ ํ ํ์ | โญโญโญ | | |
| | **setup.py** | ์๋ ๊ฐ์ง | ๋ณต์ก๋ ์ฆ๊ฐ | โญโญ | | |
| | **requirements.txt** | HF Spaces ํธํ | ๊ตฌ๋ฒ์ ๊ฐ์ | โญ | | |
| --- | |
| ## ๋ฐฉ๋ฒ 1: requirements-local.txt (๊ถ์ฅ) | |
| ### HF Spaces ๋ฐฐํฌ | |
| ```bash | |
| # requirements.txt ์ฌ์ฉ (์๋) | |
| # PyTorch 2.2.0 (ZeroGPU ํธํ) | |
| ``` | |
| ### ๋ก์ปฌ ๊ฐ๋ฐ | |
| ```bash | |
| # ๊ฐ์ํ๊ฒฝ ์์ฑ | |
| python -m venv venv | |
| source venv/bin/activate # Windows: venv\Scripts\activate | |
| # ๋ก์ปฌ์ฉ requirements ์ค์น | |
| pip install -r requirements-local.txt | |
| # PyTorch >=2.2.0 (์ต์ ๋ฒ์ ) | |
| ``` | |
| ### ํ์ผ ๊ตฌ์กฐ | |
| ``` | |
| requirements.txt # HF Spaces์ฉ (PyTorch 2.2.0) | |
| requirements-local.txt # ๋ก์ปฌ์ฉ (PyTorch >=2.2.0) | |
| ``` | |
| --- | |
| ## ๋ฐฉ๋ฒ 2: setup.py (์๋ ๊ฐ์ง) โญ ์๋ก์ด CUDA ์ง์! | |
| ### ์ค์น | |
| ```bash | |
| # ๊ฐ์ํ๊ฒฝ ์์ฑ ๋ฐ ํ์ฑํ | |
| python -m venv venv | |
| source venv/bin/activate # Windows: venv\Scripts\activate | |
| # ์ค๋งํธ ์ค์น ์คํ | |
| python setup.py | |
| ``` | |
| ### ๋์ ๋ฐฉ์ (NEW! CUDA ์๋ ๊ฐ์ง) | |
| 1. **ํ๊ฒฝ ๊ฐ์ง**: `SPACE_ID` ํ๊ฒฝ ๋ณ์ ํ์ธ | |
| 2. **HF Spaces**: PyTorch 2.2.0 ์ค์น (ZeroGPU ํธํ) | |
| 3. **๋ก์ปฌ ํ๊ฒฝ**: | |
| - ๐ **NVIDIA GPU ๊ฐ์ง**: `nvidia-smi` ์คํ | |
| - ๐ **CUDA ๋ฒ์ ๊ฐ์ง**: `nvcc --version` ๋๋ nvidia-smi์์ ์ถ์ถ | |
| - โ **CUDA๋ณ PyTorch ์ค์น**: | |
| - CUDA 11.8 โ PyTorch cu118 | |
| - CUDA 12.1-12.3 โ PyTorch cu121 | |
| - CUDA 12.4-12.8 โ PyTorch cu124 | |
| - ๐ **Apple Silicon**: MPS ์ง์ | |
| - ๐ป **GPU ์์**: CPU ์ ์ฉ PyTorch | |
| ### ์ง์ํ๋ CUDA ๋ฒ์ | |
| | CUDA ๋ฒ์ | PyTorch ๋ณํ | Index URL | | |
| |-----------|--------------|-----------| | |
| | 11.8 | cu118 | https://download.pytorch.org/whl/cu118 | | |
| | 12.1-12.3 | cu121 | https://download.pytorch.org/whl/cu121 | | |
| | 12.4-12.8 | cu124 | https://download.pytorch.org/whl/cu124 | | |
| ### ์ฅ์ | |
| - โ **์์ ์๋ CUDA ๊ฐ์ง** (NEW!) | |
| - โ ํ ๋ช ๋ น์ผ๋ก ์ค์น | |
| - โ ํ๋ซํผ๋ณ ์ต์ ํ | |
| - โ ์ค์น ํ ์๋ ๊ฒ์ฆ | |
| - โ ์คํจ ์ CPU๋ก ํด๋ฐฑ | |
| --- | |
| ## PyTorch ๋ฒ์ ๋ณ ๊ธฐ๋ฅ | |
| ### PyTorch 2.2.0 (HF Spaces ZeroGPU) | |
| - โ ZeroGPU ํธํ | |
| - โ ๊ธฐ๋ณธ LLM ๊ธฐ๋ฅ | |
| - โ ์์ ์ฑ ๊ฒ์ฆ๋จ | |
| ### PyTorch >=2.2.0 (๋ก์ปฌ) | |
| - โ ์ต์ ๊ธฐ๋ฅ | |
| - โ ์ฑ๋ฅ ๊ฐ์ | |
| - โ ์ต์ GPU ์ง์ | |
| - โ MPS ์ต์ ํ (Apple Silicon) | |
| --- | |
| ## ํ๋ซํผ๋ณ ๊ถ์ฅ ์ค์น | |
| ### Mac (Apple Silicon) | |
| ```bash | |
| # M1/M2/M3/M4 | |
| pip install -r requirements-local.txt | |
| # MPS ๊ฐ์ ์ง์ | |
| ``` | |
| ### Linux (NVIDIA GPU) | |
| ```bash | |
| pip install -r requirements-local.txt | |
| # CUDA 12.x ์ง์ | |
| ``` | |
| ### Windows (NVIDIA GPU) | |
| ```bash | |
| pip install -r requirements-local.txt | |
| # CUDA 12.x ์ง์ | |
| ``` | |
| ### HF Spaces (์๋) | |
| ```bash | |
| # requirements.txt ์๋ ์ฌ์ฉ | |
| # ์๋ ์ค์น ๋ถํ์ | |
| ``` | |
| --- | |
| ## ๊ฒ์ฆ | |
| ### ์ค์น ํ์ธ | |
| ```python | |
| import torch | |
| print(f"PyTorch: {torch.__version__}") | |
| print(f"CUDA: {torch.cuda.is_available()}") | |
| print(f"MPS: {torch.backends.mps.is_available()}") | |
| ``` | |
| ### ์์ ์ถ๋ ฅ | |
| **๋ก์ปฌ (์ต์ )**: | |
| ``` | |
| PyTorch: 2.5.1 | |
| CUDA: True / False | |
| MPS: True / False | |
| ``` | |
| **HF Spaces (ZeroGPU)**: | |
| ``` | |
| PyTorch: 2.2.0 | |
| CUDA: True | |
| MPS: False | |
| ``` | |
| --- | |
| ## FAQ | |
| ### Q: ๋ก์ปฌ์์ PyTorch 2.2.0์ ์ฌ์ฉํด์ผ ํ๋์? | |
| A: ์๋์. ๋ก์ปฌ์์๋ `requirements-local.txt`๋ก ์ต์ ๋ฒ์ ์ ์ฌ์ฉํ์ธ์. | |
| ### Q: requirements.txt์ requirements-local.txt ์ฐจ์ด๋? | |
| A: | |
| - `requirements.txt`: HF Spaces์ฉ (PyTorch 2.2.0) | |
| - `requirements-local.txt`: ๋ก์ปฌ์ฉ (PyTorch >=2.2.0) | |
| ### Q: setup.py๋ฅผ ์ฌ์ฉํด์ผ ํ๋์? | |
| A: ์ ํ ์ฌํญ์ ๋๋ค. ์๋ ๊ฐ์ง๋ฅผ ์ํ๋ฉด ์ฌ์ฉํ์ธ์. | |
| ### Q: ๋ ํ์ผ์ ๋๊ธฐํํด์ผ ํ๋์? | |
| A: PyTorch ๋ฒ์ ๋ง ๋ค๋ฅด๊ณ ๋๋จธ์ง๋ ๋์ผํ๊ฒ ์ ์งํ์ธ์. | |
| --- | |
| ## ๋ฌธ์ ํด๊ฒฐ | |
| ### ๐ฅ GPU๊ฐ ๊ฐ์ง๋์ง ์์ (torch.cuda.is_available() = False) | |
| #### ์ฆ์ 1: Driver/library version mismatch | |
| ```bash | |
| nvidia-smi | |
| # ์ถ๋ ฅ: Failed to initialize NVML: Driver/library version mismatch | |
| ``` | |
| **์์ธ**: NVIDIA ๋๋ผ์ด๋ฒ ์ ๋ฐ์ดํธ ํ ์ฌ๋ถํ ํ์ง ์์ | |
| **ํด๊ฒฐ์ฑ **: | |
| ```bash | |
| # ์์คํ ์ฌ๋ถํ (๊ฐ์ฅ ๊ฐ๋จํ๊ณ ํจ๊ณผ์ ) | |
| sudo reboot | |
| ``` | |
| ์ฌ๋ถํ ํ ๋ค์ ํ์ธ: | |
| ```bash | |
| nvidia-smi | |
| python setup.py # PyTorch ์ฌ์ค์น | |
| ``` | |
| #### ์ฆ์ 2: PyTorch๊ฐ CPU ๋ฒ์ ์ผ๋ก ์ค์น๋จ | |
| ```python | |
| import torch | |
| print(torch.__version__) # ์ถ๋ ฅ: 2.9.0+cpu (CUDA ์์) | |
| ``` | |
| **์์ธ**: pip install torch๊ฐ ๊ธฐ๋ณธ CPU ๋ฒ์ ์ ์ค์นํจ | |
| **ํด๊ฒฐ์ฑ **: | |
| ```bash | |
| # ํ์ฌ PyTorch ์ ๊ฑฐ | |
| pip uninstall torch torchvision torchaudio -y | |
| # setup.py๋ก ์ฌ์ค์น (์๋ CUDA ๊ฐ์ง) | |
| python setup.py | |
| ``` | |
| #### ์ฆ์ 3: CUDA ๋ฒ์ ๋ถ์ผ์น | |
| ```python | |
| # ์์คํ CUDA: 12.8 | |
| # PyTorch CUDA: 12.4 | |
| # ์ค๋ฅ: forward compatibility was attempted on non supported HW | |
| ``` | |
| **์์ธ**: PyTorch CUDA ๋ฒ์ ๊ณผ ๋๋ผ์ด๋ฒ CUDA ๋ฒ์ ๋ถ์ผ์น | |
| **ํด๊ฒฐ์ฑ **: | |
| ```bash | |
| # 1. ๋๋ผ์ด๋ฒ ์ฌ๋ถํ (์ฐ์ ์๋) | |
| sudo reboot | |
| # 2. ๋๋ผ์ด๋ฒ ์ฌ์ค์น (์ฌ๋ถํ ์ผ๋ก ์ ๋๋ฉด) | |
| sudo ubuntu-drivers autoinstall | |
| sudo reboot | |
| # 3. PyTorch ์ฌ์ค์น | |
| python setup.py | |
| ``` | |
| #### ์ฆ์ 4: nvidia-smi๋ ์๋ํ์ง๋ง PyTorch์์ GPU ์ธ์ ์ ๋จ | |
| ```bash | |
| nvidia-smi # โ ์๋ | |
| python -c "import torch; print(torch.cuda.is_available())" # โ False | |
| ``` | |
| **ํด๊ฒฐ์ฑ **: | |
| ```bash | |
| # PyTorch๋ฅผ CUDA ๋ฒ์ ์ผ๋ก ๊ฐ์ ์ฌ์ค์น | |
| pip uninstall torch torchvision torchaudio -y | |
| # CUDA ๋ฒ์ ํ์ธ | |
| nvidia-smi | grep "CUDA Version" # ์: CUDA Version: 12.1 | |
| # ํด๋น CUDA ๋ฒ์ ์ PyTorch ์ค์น | |
| # CUDA 12.1-12.3 | |
| pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 | |
| # CUDA 12.4+ | |
| pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124 | |
| # ๊ฒ์ฆ | |
| python -c "import torch; print(f'CUDA available: {torch.cuda.is_available()}')" | |
| ``` | |
| ### ImportError: spaces | |
| **๋ก์ปฌ ํ๊ฒฝ**: | |
| ``` | |
| ์ ์ ๋์ - app.py๊ฐ ์๋์ผ๋ก ๊ฐ์งํ๊ณ CPU/GPU ๋ชจ๋๋ก ์ ํ | |
| ``` | |
| ### PyTorch ๋ฒ์ ์ถฉ๋ | |
| ```bash | |
| pip uninstall torch torchvision torchaudio -y | |
| python setup.py # ์๋ CUDA ๊ฐ์ง ๋ฐ ์ค์น | |
| ``` | |
| ### ์ค์น ๊ฒ์ฆ | |
| ```python | |
| # ์์ ํ ํ๊ฒฝ ๊ฒ์ฆ | |
| import torch | |
| print(f"PyTorch: {torch.__version__}") | |
| print(f"CUDA available: {torch.cuda.is_available()}") | |
| print(f"CUDA compiled: {torch.version.cuda}") | |
| if torch.cuda.is_available(): | |
| print(f"GPU name: {torch.cuda.get_device_name(0)}") | |
| print(f"GPU count: {torch.cuda.device_count()}") | |
| ``` | |
| **์์ ์ถ๋ ฅ (GPU ํ๊ฒฝ)**: | |
| ``` | |
| PyTorch: 2.5.1+cu124 | |
| CUDA available: True | |
| CUDA compiled: 12.4 | |
| GPU name: NVIDIA GeForce RTX 4090 | |
| GPU count: 1 | |
| ``` | |