zoukankan      html  css  js  c++  java
  • darknet 的python接口使用

    首先,python接口文件在安装好的darknet目录下的python文件夹,打开就可以看到

    这里的darknet.py文件就是python接口

    用编辑器打开查看最后部分代码:

    使用十分简单,先将网络配置加载进去,然后进行检测就行了。但其实现在还不能直接用,主要是以下两点:

    1、在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放在同一目录下就行了。

    2、处理好 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就行了,如:

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

    再次运行:

    出现这个就说明成功了,之后就可以在上面添加自己的代码了。

  • 相关阅读:
    【洛谷 P4166】 [SCOI2007]最大土地面积(凸包,旋转卡壳)
    专题
    【洛谷 P3299】 [SDOI2013]保护出题人 (凸包,三分,斜率优化)
    【洛谷 P3628】 [APIO2010]特别行动队 (斜率优化)
    $POJ1995$ $Raising$ $Modulo$ $Numbers$
    快速运算模板(未完待续)
    $Luogu$ $P1879$ $[USACO06NOV]$ 玉米田 $Corn Fields$
    [转载] $AT2444$ 题解
    [转载] $CF117B$ 题解
    [转载] $CF543B$ 题解
  • 原文地址:https://www.cnblogs.com/zhangmingcheng/p/10869361.html
Copyright © 2011-2022 走看看