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 简介与实践
如何将 Turi Create 创建的 CoreML 模型转换为 Keras?