用MATLAB实现深度学习网络的量化
在本视频中,我们演示了在MATLAB中深度学习量化工作流程。使用模型量化库支持包,我们演示了如何校准、量化和验证诸如Resnet50这样的深度学习网络。我们还强调了量化对减少一些标准网络(如Resnet101和InceptionV3)内存的影响。
深度学习量化是深度学习网络高效部署的关键优化策略,尤其是在嵌入式平台上。
我是Ram Cherukuri, MathWorks的高级产品经理,在这个视频中,我将给你一个MATLAB中深度学习量化工作流的概述。
量化权重、偏差和激活以降低精度数据类型(如INT8或FP16),可以显著减少AI算法的内存占用,并可以提高嵌入式硬件上的推理性能。
您可以使用模型量化库支持包在MATLAB中量化您的深度学习网络。您可以从Add-On Explorer下载它,如下所示。
量化工作流利用仪器,基于校准数据存储计算仪器统计信息,这些统计信息用于量化网络层的权重、偏差和激活。
最后,验证步骤计算精度指标,以分析和理解量化对网络精度的影响。让我们以Resnet50作为一个示例网络来完成这个工作流程。
这是深度学习量化器应用程序,你首先从MATLAB工作区导入网络,你会看到网络结构显示在左侧窗格。
接下来,选择要用于校准的数据存储,应用程序将显示计算的统计信息,如权重、偏差和每层的激活的最小值和最大值。您还可以选择可以量化的层,然后使用验证数据存储验证量化的影响。
在本例中,我们使用默认的top 1精度指标,您可以看到内存减少了67%,而精度没有下降。然后,您可以继续从量化网络生成用于部署的代码。
我们用几个网络重复了这个工作流程,只将计算密集的转换层量化为INT8。
你可以在这里的图表中看到量化的影响。例如,这里最大的网络Resnet101有180 MB内存,压缩72%,精度下降2%。另一方面,《盗梦空间v3》的精确度下降了4%,压缩了67%,内存从100 MB下降到33 MB。
这凸显了量化对高效部署深度学习网络的重要影响。
请参考视频下面的参考资料,学习如何开始并探索MATLAB中的这些新功能。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。