2017-02-25 15 views
1

我一直在用CN​​TK迭代地訓練一些模型,在每次迭代後用新的集合替換數據,然後運行另一輪訓練。 .DNN文件可以在CNTK本身(運行訓練命令)中正確加載,並且可以使用Microsoft.Research.CNTK.CpuEval-mkl nuget軟件包使用來自C#的CPU評估。加載CNTK中的有效模型的未處理異常

模型的評估現在花費足夠長的時間,我決定切換到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 
} 
+0

感謝您報告問題。我們正在研究它。 –

+0

如果有幫助,我添加了用於創建網絡的代碼。 –

回答

1

您正在使用哪種CNTK版本?這個問題應該在最新的Beta12中修復。當您安裝Nuget軟件包時,請明確選擇Beta 12版本。(Nuget軟件包管理器不會將Beta12顯示爲最新版本,因爲它使用字符串比較進行版本檢查。)請試用Beta 12。你仍然有問題。

+0

謝謝,我更新到Beta12,它解決了問題! –