首页 > 解决方案 > 将cntk模型v1转换为cntk模型v2

问题描述

我已经使用 cntk 大脑脚本训练了一个模型。然后我需要在 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)

标签: deep-learningcntk

解决方案


是的,有一种方法可以将您的输入输出节点替换为别的东西。

下面的示例代码:

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!

推荐阅读