在 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。并且如果您仍然遇到问题,请告诉我们。