【问题标题】:Can we Train YOLOv3 on custom objects with no GPU?我们可以在没有 GPU 的自定义对象上训练 YOLOv3 吗?
【发布时间】:2019-10-24 12:34:58
【问题描述】:

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

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

【问题讨论】:

  • 可以,这会大大减慢训练时间和推理速度

标签: python cpu yolo darknet


【解决方案1】:

重新编译 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 上加载和运行任何框架。

您仍然可以使用常规 NVIDIA 卡通过 Darknet YOLO 训练您的自定义对象。 然后使用 3rd-party 转换器工具(可以在 GitHub 上轻松找到)将您训练的 YOLO 权重文件转换为 Tensorflow PB 文件。 然后使用英特尔的模型优化器将 PB 文件和标签文件转换为它们所谓的“推理表示”文件(在 *.bin、*.xml、*.labels 和 *.mapping 文件中命名),稍后可以加载和在 Intel 的 CPU 或集成 GPU 上运行。

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

【讨论】:

    【解决方案2】:

    是的,你可以这样做。

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

    GPU=1 CUDNN=1(用于 GPU)

    改成 -

    GPU=0 CUDNN=0(用于 CPU)

    是的,你也可以训练你的 YOLO 模型来检测自定义对象。只要关注这个博客 - Link

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-07
      • 1970-01-01
      • 2021-12-20
      • 1970-01-01
      • 2020-10-05
      • 2019-07-06
      • 2020-02-09
      • 1970-01-01
      相关资源
      最近更新 更多