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

标签 python cpu yolo darknet

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

我的系统是 Windows 10 家庭版,单语言,8GB 内存。

最佳答案

重新编译 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 文件。 然后使用 Intel 的模型优化器将 PB 文件和标签文件转换为它们所谓的“推理表示”文件(命名为 *.bin、*.xml、*.labels 和 *.mapping 文件),稍后可以加载和在 Intel 的 CPU 或集成 GPU 上运行。

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

关于python - 我们可以在没有 GPU 的情况下在自定义对象上训练 YOLOv3 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56520802/

相关文章:

python - 如何使用 Python 3.x 阅读和编辑 Google 电子表格?

python - 分割 Seaborn fiddle 图表中的控制面

cpu - 如何判断我的计算机是哈佛架构还是冯诺依曼架构?

python - 将 'filepath' 列添加到 pandas DataFrame

python - 动态规划 - 使用一组整数计算总和的方法数

python - iPython 终端中的屏幕宽度太小

不同国家Android手机芯片架构不同?

kubernetes - CPU 资源单位 (millicore/millicpu) 是如何计算的?

c# - 如何在 C#.net 中使用 YOLO 提高物体检测速度

cuda - 支持 CUDA 5 的 GPU 上不受支持的 GPU 架构计算_30