| | |
| | | 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") |
| | | except NameError: |
| | | pass |
| | | # print(os.environ.keys()) |
| | | print("FORCE_CPU flag undefined, proceeding with GPU") |
| | | # print("FORCE_CPU flag undefined, proceeding with GPU") |
| | | if not os.path.exists(winGPUdll): |
| | | 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] |
| | |
| | | metaMain = None |
| | | altNames = None |
| | | |
| | | def performDetect(imagePath="data/dog.jpg", thresh= 0.25, configPath = "./yolov3.cfg", weightPath = "yolov3.weights", metaPath= "./data/coco.data", showImage= True, makeImageOnly = False, initOnly= False): |
| | | def performDetect(imagePath="data/dog.jpg", thresh= 0.25, configPath = "./cfg/yolov3.cfg", weightPath = "yolov3.weights", metaPath= "./data/coco.data", showImage= True, makeImageOnly = False, initOnly= False): |
| | | """ |
| | | Convenience function to handle the detection and returns of objects. |
| | | |