【发布时间】:2017-12-04 02:22:30
【问题描述】:
我正在尝试使用我在 csv 中的功能集来训练 dlib 的深度学习模型。我导入了 csv 并将数据转换为 trainindata 和 traininglabels 的向量
unsigned int col=22;
std::vector<std::vector<float> >trainingdata(10711,std::vector<float>(col));
for (int j=0; j<10712; j++) {
std::vector<float> vt;
// <vector<float> >vt;
float tmp;
for (int i = 0; i < 22; i++) {
tmp=data[j][i];
// cout<< tmp;
vt.push_back(tmp);
}
trainingdata.push_back(vt);
}
std::vector<float> traininglabel;
for (int i=0;i<10712;i++) {
float tmp = lastCol[i];
traininglabel.push_back(tmp);
}
数据已成功转换为向量,但我怀疑它不是按照 dnn_trainer 所需的格式。错误是
error: no matching function for call to 'dlib::dnn_trainer<dlib::add_loss_layer<dlib::loss_multiclass_log_, dlib::add_layer<dlib::fc_<22ul, (dlib::fc_bias_mode)0u>, dlib::add_layer<dlib::relu_, dlib::add_layer<dlib::fc_<84ul, (dlib::fc_bias_mode)0u>, dlib::add_layer<dlib::relu_, dlib::add_layer<dlib::fc_<120ul, (dlib::fc_bias_mode)0u>, dlib::add_layer<dlib::max_pool_<2l, 2l, 2, 2, 0, 0>, dlib::add_layer<dlib::relu_, dlib::add_layer<dlib::con_<16l, 5l, 5l, 1, 1, 2, 2>, dlib::add_layer<dlib::max_pool_<2l, 2l, 2, 2, 0, 0>, dlib::add_layer<dlib::relu_, dlib::add_layer<dlib::con_<6l, 5l, 5l, 1, 1, 2, 2>, dlib::input<dlib::matrix<float> >, void>, void>, void>, void>, void>, void>, void>, void>, void>, void>, void> > >::train(std::vector<std::vector<float> >&, std::vector<float>&)'
trainer.train( trainingdata,traininglabel);
trainer.h 文件表明输入数据应该是类型
void train (
const std::vector<input_type>& data,
const std::vector<training_label_type>& labels
)
我正在使用我的数据集关注 this 示例。请帮我解决问题。
【问题讨论】:
标签: c++ deep-learning dlib