運行 python darknet.py 結果報錯如下:
Traceback (most recent call last): File “darknet.py”, line 136, in net = load_net(“cfg/tiny-yolo.cfg”, “tiny-yolo.weights”, 0) ctypes.ArgumentError: argument 1:……….. : wrong type
原因
net = load_net(“cfg/tiny-yolo.cfg”, “tiny-yolo.weights”, 0)這個函數最后會將”cfg/tiny-yolo.cfg”, “tiny-yolo.weights”這些參數傳給剛才說到的libdarknet.so這個庫中,而這個庫是用c/c++來寫的,所以出現了這個錯誤。
解決方法
在出錯的字符串前面添加一個b就行了,如:
net = load_net(b"cfg/tiny-yolo.cfg", b"tiny-yolo.weights", 0) meta = load_meta(b"cfg/coco.data") r = detect(net, meta, b"data/dog.jpg")