将 cntk 模型 v1 转换为 cntk 模型 v2
Convert cntk model v1 to cntk model v2
我已经使用 cntk 大脑脚本训练了一个模型。然后我需要在 python 中使用我的模型。问题是使用 brainscript 保存的模型是 v1 模型,并且保存了输入节点和输出节点。另一方面,cntkpythonapi中使用的模型是v2模型
有没有办法将 v1 模型转换为 v2 模型格式?
如果没有,有没有办法从版本一格式中删除输入和输出节点,以便我可以直接将特征传递到模型中的第一层,如下所示:
mode= load_model("cntk_v1.model")
model = mode.clone(method = 'freeze' )
f = cntk.ops.sequence((input_dim))
z = model(f)
是的,有一种方法可以替换您的输入输出节点。
示例代码如下:
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!
我已经使用 cntk 大脑脚本训练了一个模型。然后我需要在 python 中使用我的模型。问题是使用 brainscript 保存的模型是 v1 模型,并且保存了输入节点和输出节点。另一方面,cntkpythonapi中使用的模型是v2模型
有没有办法将 v1 模型转换为 v2 模型格式?
如果没有,有没有办法从版本一格式中删除输入和输出节点,以便我可以直接将特征传递到模型中的第一层,如下所示:
mode= load_model("cntk_v1.model")
model = mode.clone(method = 'freeze' )
f = cntk.ops.sequence((input_dim))
z = model(f)
是的,有一种方法可以替换您的输入输出节点。
示例代码如下:
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!