Turi Create:Blackmagic eGPU 上的训练性能缓慢

Posted

技术标签:

【中文标题】Turi Create:Blackmagic eGPU 上的训练性能缓慢【英文标题】:Turi Create: slow training performance on Blackmagic eGPU 【发布时间】:2019-04-23 22:50:50 【问题描述】:

在我的 Macbook Pro 13" 上,我通过 USB-C 连接了 Blackmagic eGPU (AMD Radeon Pro 580)。理论上这应该可以极大地加快我使用 Turi Create 进行模型训练的速度。

在我的例子中,对于一个小型模型,使用了 15 个标记图像 (4k x 3k) 和 500 次迭代,包括 eGPU 在内,这大约需要 2 个小时。只有 CPU 需要 4 小时,所以 GPU 加速了,但不是非常快。

在Guide to Turi Create 中,据说在 1 小时内处理了具有 ~700 张图像和 4000 次迭代的对象检测模型。所以速度更快。

在使用 CreateML 时,我观察到在使用 eGPU 的特征检测阶段,迁移学习的性能至少提高了 5 倍

这是框架本身的问题吗?

我可以优化数据或训练参数以更好地使用 eGPU 吗?

数据是否太小或分辨率太大而无法通过 USB-C 获得最佳 GPU 使用率?

Class                                    : ObjectDetector

Schema
------
Model                                    : darknet-yolo
Number of classes                        : 4
Non-maximum suppression threshold        : 0.45
Input image shape                        : (3, 416, 416)

Training summary
----------------
Training time                            : 1h 29m 8s
Training epochs                          : 1066
Training iterations                      : 500
Number of examples (images)              : 15
Number of bounding boxes (instances)     : 49
Final loss (specific to model)           : 1.808

【问题讨论】:

【参考方案1】:

是图像大小/分辨率 (4k x 3k) 造成了 GPU 的瓶颈。缩小图像(并相应地设置标签)可以获得 eGPU 的全速(100x vs CPU)。

【讨论】:

您的 MacBook Pro 有 SSD 还是旋转磁盘?我认为 Turi 不会将全尺寸图片发送到 eGPU,而是在 CPU 上调整它们的大小。所以瓶颈是你的磁盘,而不是与 eGPU 的连接。使用 SSD(和快速 CPU),您应该无法区分。 我有最新的 2018 Macbook Pro,所以是一个非常快的 SSD。手动调整图像大小确实提高了速度

以上是关于Turi Create:Blackmagic eGPU 上的训练性能缓慢的主要内容,如果未能解决你的问题,请参考以下文章

Apple 开源机器学习框架 Turi Create 简介与实践

Core ML 和 Turi Create 使用啥模型?

如何将 Turi Create 创建的 CoreML 模型转换为 Keras?

下载苹果发布Turi Create机器学习框架,5行代码开发图像识别

Graphlab create安装

Blackmagic 设备和 WebRTC 不兼容