| | |
| | | if int(os.environ['CUDA_VISIBLE_DEVICES']) < 0: |
| | | raise ValueError("ForceCPU") |
| | | try: |
| | | # Check a global |
| | | global DARKNET_FORCE_CPU |
| | | if DARKNET_FORCE_CPU: |
| | | raise ValueError("ForceCPU") |
| | |
| | | raise ValueError("NoDLL") |
| | | lib = CDLL(winGPUdll, RTLD_GLOBAL) |
| | | except (KeyError, ValueError): |
| | | print("Notice: GPU-free mode") |
| | | hasGPU = False |
| | | if os.path.exists(winNoGPUdll): |
| | | lib = CDLL(winNoGPUdll, RTLD_GLOBAL) |
| | | print("Notice: CPU-only mode") |
| | | else: |
| | | # Try the other way, in case no_gpu was |
| | | # compile but not renamed |
| | | lib = CDLL(winGPUdll, RTLD_GLOBAL) |
| | | print("Environment variables indicated a CPU run, but we didn't find `"+winNoGPUdll+"`. Trying a GPU run anyway.") |
| | | else: |
| | | lib = CDLL("./libdarknet.so", RTLD_GLOBAL) |
| | | lib.network_width.argtypes = [c_void_p] |