如何将mxnet params文件解析为纯文本?

时间:2019-04-09 08:22:49

标签: mxnet

我正在尝试使用Python将mxnet参数解析为纯文本。该代码如下所示。但是解析结果不是纯字符串,而是一些编码后的文本看起来像这样,“ ... \ xaa> \ x0f \ xed \ x8e> \ xaf!\ x8f> g ...”有人可以给我一些提示吗? ?非常感谢!

...

param_file = 'resnet-50-0000.params'
with open(param_file, 'rb') as f:
    net_params = f.read()

...

1 个答案:

答案 0 :(得分:1)

参数是二进制文件。如果要将它们阅读为纯文本,则需要首先将其解码为parameter_name->NDArray的字典,然后才能将其转换为numpy。从numpy中,您可以将其转换为列表,然后将其作为标量列表(列表)进行处理。

import mxnet as mx

params = mx.nd.load('resnet-50-0000.params')
for k, param in params.items():
    print(k)
    print(param.asnumpy().tolist())