darknet 的python接口使用

首先,python接口文件在安裝好的darknet目錄下的python文件夾,打開就能夠看到
html

這裏的darknet.py文件就是python接口python

用編輯器打開查看最後部分代碼:c++

使用十分簡單,先將網絡配置加載進去,而後進行檢測就好了。但其實如今還不能直接用,主要是如下兩點:ubuntu

一、在python目錄下打開終端,輸入 python darknet.py 結果以下
錯誤提示: 網絡

Traceback (most recent call last): 
File 「darknet.py」, line 39, in 
lib = CDLL(「libdarknet.so」, RTLD_GLOBAL) 
File 「/home/ubuntu/anaconda3/lib/python3.6/ctypes/init.py」, line 348, in init 
self._handle = _dlopen(self._name, mode) 
OSError: libdarknet.so: cannot open shared object file: No such file or directory 

緣由是darknet.py須要依賴 libdarknet.so文件,該文件其實就在安裝好的darknet目錄下,把libdarknet.so和darknet.py放在同一目錄下就好了。編輯器

二、處理好 libdarknet.so 目錄後,再次運行 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就好了,如:htm

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")

再次運行:
blog

出現這個就說明成功了,以後就能夠在上面添加本身的代碼了。接口

相關文章
相關標籤/搜索