Wenn Sie Multiprocessing mit Pytorch verwenden, werden Sie möglicherweise wütend auf die Initialisierung von CUDA.
RuntimeError: cuda runtime error (3) : initialization error at /pytorch/aten/src/THC/THCGeneral.cpp:50
THCudaCheck FAIL file=/pytorch/aten/src/THC/THCGeneral.cpp line=50 error=3 : initialization error
Nach verschiedenen Untersuchungen habe ich verschiedene Dokumente über Spawn gefunden, aber es scheint, dass dies in meinem Fall durch die Verwendung von "torch.cuda.device_count ()" verursacht wurde.
Ich möchte also die Anzahl der GPUs ohne "torch.cuda.device_count ()" wissen.
Verlassen Sie sich auf nvidia-smi
.
Im Fall von Linux ist es wie folgt.
import subprocess
msg = subprocess.check_output("nvidia-smi --query-gpu=index --format=csv", shell=True)
n_devices = max(0, len(msg.decode().split("\n")) - 2)
Bitte beachten Sie das CUDA-Initialisierungsproblem von pytorch.
Recommended Posts