###前提・実現したいこと
dlib.netのrvm_regression_trainerを用いて回帰問題を解こうとしています。
13行と106列のcsvファイルを読み込んで回帰させようとしたら下記のようなエラーが出ました
###発生している問題・エラーメッセージ
エラーメッセージ ハンドルされない例外が 0x00007FF8C57892FC で発生しました (dlibtest001.exe 内): Microsoft C++ の例外: dlib::fatal_error (メモリの場所 0x000000D3160B2A00)。
###該当のソースコード
#include "stdafx.h" #include <iostream> #include <vector> #include <fstream> #include <string> #include <sstream> #include <dlib/svm.h> using namespace std; using namespace dlib; int main() { string col[200][14], row; int c, r, p; ifstream f("kaozahyou.csv"); if (f.bad()) { cout << "file not found"; exit(EXIT_FAILURE); } r = c = 0; while (!f.eof() && getline(f, row)) { for (; (p = row.find(",")) != row.npos; row = row.substr(p + 1)) { col[r][c] = row.substr(0, p); cout << col[r][c] << ' '; c++; } col[r][c] = row.substr(0, p); cout << col[r][c] << endl; r++; } //csvファイルの読み込み typedef matrix<double, 13, 1> sample_type;//<1,1>から<13,1>に変更 sample_type m; std::vector<sample_type> samples; std::vector<double> labels; rvm_regression_trainer<kernel_type> trainer; const double gamma = 2.0 / compute_mean_squared_distance(samples); cout << "using gamma of " << gamma << endl; trainer.set_kernel(kernel_type(gamma)); trainer.set_epsilon(0.001); decision_function<kernel_type> test = trainer.train(samples, labels); serialize("saved_function.dat") << test; deserialize("saved_function.dat") >> test; }
###試したこと
--追記:下記サイトを参考に環境を整えました
https://blog.nextscape.net/archives/Date/2017/12/dlib-01
サンプルコードの
rvm_regression_ex.cppの変更
###補足情報(言語/FW/ツール等のバージョンなど)
visualstudio2017(C++)
windows8.1
メモリ8GB
あなたの回答
tips
プレビュー