我正在使用 eIQ Toolkit 训练一个图像分类模型,数据集大约有 6,000 张图像。我的目标是生成一个小于800 KB的 TensorFlow Lite (TFLite) 模型,以便它可以在MCXN947上运行。
我目前的训练配置是:
型号:MobileNetV2
Alpha:0.35
修剪:已启用
输出格式:TFLite
问题在于,整个培训过程需要近24小时才能完成。我想知道是否有任何推荐的设置或优化方法,可以在将最终模型大小保持在800 KB以下的同时,将训练时间缩短到1-2 小时左右。
有人遇到过类似的情况吗?eIQ Toolkit 中是否有任何最佳实践可以在不显著影响模型准确率或增加模型大小的情况下减少训练时间?
任何建议都将不胜感激。谢谢你!
对于小型 MobileNetV2-alpha-0.35 迁移学习作业来说,除非训练是在 CPU 上运行、使用较大的输入规模、过多的 epoch、大量的动态增强,或者在整个训练过程中进行剪枝/QAT,否则预计不会出现 24 小时运行约 6,000 张图像的情况。
我认为你可以参考以下内容。
确认已安装并正在使用 CUDA + cuDNN。
使用能够保证可接受精度的最小输入分辨率;如果您使用的是 224×224,请先尝试 128×128。
首先设定较低的训练轮数限制并提前停止,而不是进行固定的长时间训练。
初始训练运行禁用剪枝;
部署时使用 INT8 TFLite 量化;
在第一次速度优化运行中避免使用 QAT;
首先选择“无增强功能”,
具体内容请参阅 eIQ Toolkit 用户指南。
BR
哈里