2017-05-16 79 views
0

我有一個訓練有素的fastrcnn模型的自定義圖像集。我想使用模型和C++ Eval API評估一個新的圖像。我將圖像壓縮成一維矢量並獲取rois以輸入到eval函數中。CNTK C++ Eval for FastRCNN

GetEvalF(&model); 
// Load model with desired outputs 
    std::string networkConfiguration; 

//networkConfiguration += "outputNodeNames=\"h1.z:ol.z\"\n"; 
    networkConfiguration += "modelPath=\"" + modelFilePath + "\""; 
    model->CreateNetwork(networkConfiguration); 



// inputs are features of image: 1000:1000:3 & rois for image: 100 
    std::unordered_map<string, vector<float>> inputs = { { "features", imgVector },{ "rois", roisVector } }; 

//outputs are roiLabels and prediction values for each one: 500 
    std::unordered_map<string, vector<float>*> outputs = { { "roiLabels", &labelsVector }}; 

但是當我嘗試

model->Evaluate(inputs, outputs); 

評估我有一個「重載函數的錯誤沒有實例」

是否有人知道我是如何錯誤的,我的格式?

回答

0

您是否使用Python或BrainScript訓練模型?如果使用Python,則應使用CNTKLibrary API進行評估,但不要使用EvalDll API(僅適用於使用BrainScript培訓的模型)。您可以在Wiki頁面here中找到有關這兩個API之間差異的更多信息。您可以檢查關於如何使用CNTKLibrary API進行模型評估的this page以及example code。有關如何構建示例的說明在this page中描述。

您也可以使用我們的Nuget packages來構建您的應用程序。

謝謝!

+0

我現在使用CNTKLibrary API作爲參考使用該示例,並且所有內容都工作正常。感謝您的幫助! – Gepard