我试图按照here中的示例来对c ++中的输入数据进行训练。这是我的代码:
Model::Model(){
const wchar_t* modelFile = L"./models/final/model.cntk";
_modelFunc = Function::Load(modelFile, _device);
_model_input = _modelFunc->Arguments()[0];
_model_output = _modelFunc->Output();
}
void Model::run_train_step(string &invoked_cmd) {
const size_t num_targets = targetcmd2index.size();
auto label_var = InputVariable({ num_targets }, AsDataType<float>(), L"labels");
// loss and output
auto xentropy = CrossEntropyWithSoftmax(_modelFunc, label_var, L"xentropy");
我的应用程序在最后一行崩溃了。我究竟做错了什么?推理步骤工作正常,它只是有问题的训练步骤。
不确定它是否相关,但我先用Keras(使用CNTK后端)在Python中训练它,然后再将其构建到c ++应用程序中。
我抓住了与它相关的异常(std :: logic_error),这就是结果: