mxnet 解析模型的参数

版权声明: https://blog.csdn.net/qq_35606924/article/details/80042540

这段时间的工作一直在围绕移动端展开。项目需要在手机上跑一个深度学习模型,所以直接上resnet或者是其他的比较好的重量级的模型是不现实的,甚至mobilenet都是不太理想的,我用的一个千元机,跑mobilenet几乎需要1秒的时间。所以网络压缩是一个必然的选择。而进行该部分的工作,对模型参数的解析是个前提工作,下面来看如何读取模型的参数,并对其修改。
对于mxnet来说还是比较方便的:
我们以mobilenet举例

import mxnet as mx
sym, arg_params, aux_params = mx.model.load_checkpoint('mobilenet_v2', 0)
for param in arg_params:
    print(param)


###打印conv1的卷积权重,当然可以按照需求对参数进行修改
print(arg_params['conv1_weight'])

上述代码会打印出读取的模型参数的名称, arg_params是一个字典结构 {‘参数名’:参数}
于是便可以轻松的对网络的参数做一些工作。比如模型压缩。

猜你喜欢

转载自blog.csdn.net/qq_35606924/article/details/80042540