Конвертировать модель cntk v1 в модель cntk v2 - PullRequest
0 голосов
/ 30 октября 2019

Я обучил модель, используя cntk brain script. Затем мне нужно было использовать мою модель в Python. Проблема в том, что модели, сохраненные с использованием Brainscript, являются моделями v1 и имеют сохраненные входные и выходные узлы. С другой стороны, модели, используемые в cntk python api, являются моделями v2.

Есть ли способ конвертировать модели v1 в формат моделей v2?

Если нет, есть лиспособ удалить входные и выходные узлы из формата первой версии, чтобы я мог напрямую передавать объекты на первый слой в модели следующим образом:

mode= load_model("cntk_v1.model")
model = mode.clone(method = 'freeze' )
f = cntk.ops.sequence((input_dim))
z = model(f)

1 Ответ

0 голосов
/ 30 октября 2019

Да, есть способ заменить ваши входные выходные узлы чем-то другим.

Пример кода ниже:

new_input = C.input_variable(...)
model = C.load_model(...)
nodes_replacement = {model.arguments[0]: new_input, ANY_NODE_YOU_WANT_REPLACED: NEW_NODE}
new_model = model.clone(C.CloneMethod.clone, nodes_replacement)  # done!
...