Как разобрать файл параметров mxnet в обычный текст? - PullRequest
0 голосов
/ 09 апреля 2019

Я пытаюсь использовать 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 Ответ

1 голос
/ 11 апреля 2019

Параметры представляют собой двоичные файлы. Если вы хотите прочитать их как обычный текст, вам нужно сначала декодировать их как словарь 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())
...