在 CNTK 中加载有效模型的未处理异常
Unhandled exception loading a valid model in CNTK
我一直在使用 CNTK 迭代训练一些模型,在每次迭代后用新集替换数据,然后 运行 进行另一轮训练。 .DNN 文件在 CNTK 本身(运行 Train 命令)以及使用 Microsoft.Research.CNTK.CpuEval-mkl nuget 包的 C# 中使用 CPU 评估时都能正常加载。
模型的评估现在花费了足够长的时间,因此我决定切换到 C# 的 GPU 库,CNTK.GPU。但是,当尝试在我的代码中加载模型时,出现以下异常:
Prediction output operand's shape [7 x 1] is incompatible with label operand's shap [7] for the CrossEntropyWithSoftmax operation
at CNTK.Function.LoadModel(String modelFile)
知道如何加载模型吗?如果我必须更改 CNTK 文件以更新拓扑,我可以这样做,但我不想放弃我在当前模型上取得的进展。
编辑:这是我用来构建网络的 CNTK 文件的一部分。我基本上采用了一些示例代码并对其进行了更改以适合我的需要。
SimpleNetworkBuilder = {
layerSizes=84:5000*5:7
trainingCriterion="CrossEntropyWithSoftmax"
evalCriterion="ErrorPrediction"
layerTypes="RectifiedLinear"
initValueScale=1.0
uniformInit=true
needPrior=true
addDropoutNodes=true
}
您使用的是哪个 CNTK 版本?这个问题应该在最新的 Beta12 中得到修复。安装 Nuget 包时,请明确 select 版本 Beta 12。(Nuget 包管理器不会将 Beta12 显示为最新版本,因为它使用字符串比较进行版本检查。)请尝试使用 Beta 12。并且如果您仍然遇到问题,请告诉我们。
我一直在使用 CNTK 迭代训练一些模型,在每次迭代后用新集替换数据,然后 运行 进行另一轮训练。 .DNN 文件在 CNTK 本身(运行 Train 命令)以及使用 Microsoft.Research.CNTK.CpuEval-mkl nuget 包的 C# 中使用 CPU 评估时都能正常加载。
模型的评估现在花费了足够长的时间,因此我决定切换到 C# 的 GPU 库,CNTK.GPU。但是,当尝试在我的代码中加载模型时,出现以下异常:
Prediction output operand's shape [7 x 1] is incompatible with label operand's shap [7] for the CrossEntropyWithSoftmax operation
at CNTK.Function.LoadModel(String modelFile)
知道如何加载模型吗?如果我必须更改 CNTK 文件以更新拓扑,我可以这样做,但我不想放弃我在当前模型上取得的进展。
编辑:这是我用来构建网络的 CNTK 文件的一部分。我基本上采用了一些示例代码并对其进行了更改以适合我的需要。
SimpleNetworkBuilder = {
layerSizes=84:5000*5:7
trainingCriterion="CrossEntropyWithSoftmax"
evalCriterion="ErrorPrediction"
layerTypes="RectifiedLinear"
initValueScale=1.0
uniformInit=true
needPrior=true
addDropoutNodes=true
}
您使用的是哪个 CNTK 版本?这个问题应该在最新的 Beta12 中得到修复。安装 Nuget 包时,请明确 select 版本 Beta 12。(Nuget 包管理器不会将 Beta12 显示为最新版本,因为它使用字符串比较进行版本检查。)请尝试使用 Beta 12。并且如果您仍然遇到问题,请告诉我们。