什么是暗网,为什么 YOLO 对象检测需要它?

数据挖掘 美国有线电视新闻网 rnn 物体检测 约洛
2021-09-28 07:29:42

什么是暗网,为什么 YOLO 对象检测需要它?我读到它是一个用 C 编写的神经网络,但是当我们有很多机器学习框架、api 像 tensorflow、keras、pytorch 时,为什么需要它来进行 YOLO 对象检测。

我试图从 git 代码中训练 yolo,我可以看到他们也在使用 tensorflow/keras,但不确定为什么最初使用 darkenet 来训练 yolo。

暗网/yolo算法

3个回答

https://pjreddie.com/darknet/是他们的网站...

我引用:

“暗网:C 中的开源神经网络

Darknet 是一个用 C 和 CUDA 编写的开源神经网络框架。它快速、易于安装,并支持 CPU 和 GPU 计算。”

至于他们为什么使用它,好吧,它是开源的,并且在 C 语言中,这是很好的观点并且似乎是高性能的(请参阅您的链接和相关论文中的图表)。但重点似乎是关于历史。暗网项目似乎是在 2014 年开始的。当时 tensorflow / keras 是否可用和 perfromant ?即使他们是为什么他们应该使用 keras / tensorflow ?

暗网主要用于对象检测,与其他深度学习框架具有不同的架构、功能。它比许多其他 NN 架构和方法(如 FasterRCNN 等)更快。如果您需要速度,则必须使用 C 语言,并且大多数深度 nn 框架都是用 c 语言编写的。我想说 Tensorflow 的范围更广,但暗网架构和 YOLO 是一个专门的框架,它们在速度和准确性方面处于领先地位。YOLO 可以在 CPU 上运行,但由于它利用了 CUDA 和 cuDNN,因此在 GPU 上的速度提高了 500 倍。

这个深度学习框架本身是用 C 语言编写的,但是一旦你训练了网络,你就不需要 Darknet 本身来进行推理。OpenCV 内置了对暗网格式的支持,因此模型和训练的权重都可以在任何使用 OpenCV 的地方直接使用,也可以从 Python 中使用(参见此处)。

这个网络的积极方面,有一些关于如何训练自己的数据集以及如何在自己的输入上运行推理的正常文档。其他流行的框架有时会针对各种现有数据集进行大量“优化”以进行训练和验证,以至于很难打破这个金笼子并构建可用的产品。