darknet 的python接口使用
首先,python接口文件在安装好的darknet目录下的python文件夹,打开就可以看到
这里的darknet.py文件就是python接口
用编辑器打开查看最后部分代码:
使用十分简单,先将网络配置加载进去,然后进行检测就行了。但其实现在还不能直接用,主要是以下两点:
1、在python目录下打开终端,输入 python darknet.py 结果如下
错误提示:
1 2 3 4 5 6 | 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 结果如下:
错误提示:
1 2 3 4 | 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就行了,如:
1 2 3 | 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") |
再次运行:
出现这个就说明成功了,之后就可以在上面添加自己的代码了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2018-05-15 shell脚本实现FTP自动上传文件