dlib mlp :: kernel_1a_c成员在类中初始化

时间:2016-07-29 00:12:39

标签: c++ class neural-network private dlib

我在神经网络示例中使用了dlib。 dlib neural network

我收到错误:

错误:没有匹配函数来调用'dlib :: mlp_kernel_c :: mlp_kernel_c()

我正在尝试初始化

" mlp :: kernel_1a_c net(2,5);"

一个类里面的变量,但是我得到了各种各样的错误。以下是与我的问题相关的代码

#ifndef MYCLASS_H
#define MYCLASS_H
#include <dlib/mlp.h>
typedef dlib::mlp::kernel_1a_c mlp_trainer_type;
Class MyClass:
 public:
  MyClassConstructure()
  {
     /// After declaration, how do I initialize my_neural_network_ here?
     // my_neural_network_(5, 5);  ????
  }
 private:
  /* this part fails, even without using the typedef. */
  mlp_trainer_type mouth_neural_network_;
 #end

即使我这样做也不会工作:

private:
  mlp_trainer_type mouth_neural_network_(2,5);

或者,如果我声明并将其定义为公共变量。 我该如何解决这个问题?我不想要一个全局变量。

我也使用dlib中的SVM库,那个在我的类中工作。它只是MLP无效。

该程序只使用dlib的SVM,直到今天我将神经私有变量包含在内。

1 个答案:

答案 0 :(得分:1)

您尝试使用的类mlp_kernel_c没有默认构造函数。在输入构造函数体之前,需要初始化成员变量:

MyConstructor() : mouth_neural_network_(2,5)
{
     //Other stuff
}