BN融合
BN融合是指在深度学习模型训练过程中的一种常用技术,它可以帮助模型更快地收敛并提高模型的准确性。BN层通常被添加在卷积层或全连接层之后,对每一个batch的输入数据进行标准化处理,从而使模型训练时更加稳定。
同时,BN层也会引入一些浮点运算,增加模型的计算复杂度。因此,在对模型进行量化压缩时,昇腾模型压缩工具提供了一种优化方法,即BN融合。BN融合指的是将BN层与卷积层或全连接层合并为一个操作,从而在保持模型准确率的同时,减少对模型计算量和存储资源的需求,提高昇腾AI处理器的性能。
量化
量化是指对模型的权重(weight)和数据(activation)进行低比特处理,让最终生成的网络模型更加轻量化,从而达到节省网络模型存储空间、降低传输时延、提高计算效率,达到性能提升与优化的目标。
昇腾模型压缩工具将量化和模型转换分开,实现对模型中可量化层的独立量化,并将量化后的模型存为air模型。量化后的模型可以部署在昇腾AI处理器上运行,达到提升推理性能的目的。
保存与加载模型
模型保存
方式一
只存储模型中的参数,该方法速度快,占用空间少(官方推荐使用)
model = VGGNet()
torch.save(model.state_dict(), PATH)
方式二
存储整个模型
model = VGGNet()
torch.save(model, PATH)
模型加载
方式一
对应第一种保存方式,首先构架模型架