类内的dlib-mlp::kernel_1a_c成员初始化

dlib mlp::kernel_1a_c member initialization inside a class

本文关键字:1a 成员 初始化 kernel dlib-mlp      更新时间:2023-10-16

我将dlib与神经网络示例一起使用。dlib神经网络

我得到错误:

错误:调用'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运行,直到我今天包含了那个神经私有变量。

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

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