在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%。另一方面,InceptionV3的精度下降最大,为4%,压缩67%,内存从100 MB降至33 MB。
这凸显了量化对高效部署深度学习网络的重大影响。
请参考视频下面的资源来学习如何开始并探索MATLAB中的这些新功能。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。