首先,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
出现这个就说明成功了,以后就能够在上面添加本身的代码了。接口