我们可以在没有GPU的自定义对象上训练YOLOv3吗?

时间:2019-06-10 05:12:50

标签: python cpu yolo darknet

我的YOLO模型可以很好地检测物体,例如瓶子,人,手机,背包等。但是我想让我的模型检测到戒指,手镯或头盔(当前yolo模型中当前没有的对象)。没有GPU,我可以制作自定义对象检测yolo模型吗?有哪些风险? (如果有)。

“我的系统”是Windows 8 Home单一语言,具有8GB RAM。

2 个答案:

答案 0 :(得分:0)

重新编译darknet.exe使其在CPU上运行非常慢。我以前尝试过这是完全不切实际的。 建议您学习英特尔OpenVINO工具包。

https://software.intel.com/en-us/openvino-toolkit

https://docs.openvinotoolkit.org/latest/_docs_MO_DG_prepare_model_convert_model_tf_specific_Convert_YOLO_From_Tensorflow.html

OpenVINO工具包可以在其CPU /集成GPU上加载和运行任何框架。

Darknet YOLO仍然可以使用常规的NVIDIA卡来训练您的自定义对象。 然后使用第三方转换工具(可以在GitHub上轻松找到)将您训练的YOLO重量文件转换为Tensorflow PB文件。 然后使用Intel的Model Optimizer将PB文件和标签文件转换为它们所谓的“推理表示”文件(以* .bin,*。xml,*。labels和* .mapping文件命名),随后可以加载和在Intel的CPU或集成的GPU上运行。

他们的模型优化器将自动优化并删除YOLO卷积网络文件中的一些未使用的节点,并提高整体推理速度,这比仅使用重新编译的CPU版本darknet.exe在CPU上运行YOLO权重要快得多。 / p>

答案 1 :(得分:0)

是的,你可以做到。

只需更改darknet文件夹的Makefile中的以下行-

GPU = 1 CUDNN = 1(对于GPU)

将其更改为-

GPU = 0 CUDNN = 0(对于CPU)

是的,您也可以训练YOLO模型来检测自定义对象。只需关注此博客-Link