int main(int const argc, char const * const * const argv) { Option opt; try { opt = parse_option(argv_to_args(argc, argv)); } catch(std::invalid_argument const &e) { std::cout << e.what(); return EXIT_FAILURE; } std::cout << "reading data..." << std::flush; Problem const Va = read_problem(opt.Va_path); Problem const Tr = read_problem(opt.Tr_path); std::cout << "done\n" << std::flush; std::cout << "initializing model..." << std::flush; Model model(Tr.nr_feature, opt.nr_factor, Tr.nr_field); init_model(model); std::cout << "done\n" << std::flush; omp_set_num_threads(static_cast<int>(opt.nr_threads)); train(Tr, Va, model, opt); omp_set_num_threads(1); if(opt.do_prediction) predict(Va, model, opt.Va_path+".out"); return EXIT_SUCCESS; }
int main(int const argc, char const * const * const argv) { Option opt; try { opt = parse_option(argv_to_args(argc, argv)); } catch(std::invalid_argument const &e) { std::cout << e.what(); return EXIT_FAILURE; } std::cout << "reading data..." << std::flush; //Problem const Tr = read_data(opt.Tr_path, opt.TrS_path); //Problem const Va = read_data(opt.Va_path, opt.VaS_path); Problem const Tr = read_data(opt.Tr_path); Problem const Va = read_data(opt.Va_path); std::cout << "done\n" << std::flush; omp_set_num_threads(static_cast<int>(opt.nr_thread)); GBDT gbdt(opt.nr_tree); gbdt.fit(Tr, Va); write(Tr, gbdt, opt.Tr_out_path); write(Va, gbdt, opt.Va_out_path); return EXIT_SUCCESS; }