2017-05-16 3 views
0

私は、カスタム画像セットで訓練されたfastrcnnモデルを持っています。私はモデルとC++ Eval APIを使って新しい画像を評価したいと思います。私は画像内を1次元ベクトルに平坦化し、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で訓練されたモデルでのみ動作します)。これらの2つのAPIの違いに関する詳細は、Wikiページhereにあります。モデル評価にCNTKLibrary APIを使用する方法についてはthis pageexample codeを確認できます。サンプルの作成方法については、this pageに記載されています。

Nuget packagesを使用してアプリケーションを構築することもできます。

ありがとうございます!

+0

この例を参考にしてCNTKLibrary APIを使用していますが、すべてが完全に機能しています。ご協力ありがとうございました! – Gepard