我正在研究学习算法,我使用输入文件从命令行输入,如下所示: - C:\用户\文件> SBP< input.txt中
但是我想多次输入这个文件(不明确),直到训练误差不低于一定的阈值,我该怎么办..
答案 0 :(得分:2)
您可以在命令行上多次提供,例如
./command.exe input.txt input.txt input.txt
或给它一次
./command.exe input.txt
并在需要时多次打开
int main(int argc, char **argv)
{
for (int i = 0; i < 3; ++i) {
std::ifstream f(argv[1]);
// process input
}
}
答案 1 :(得分:1)
我建议重新设计你的SBP程序,将循环包含在迭代的学习中。这样,您只需读取一次数据输入,然后在程序内处理它。您可以考虑为程序提供参数输入文件(例如,最大迭代次数(数据呈现给学习算法的次数),错误阈值,一些其他参数,甚至是要读取的数据文件的名称(所以跳过从命令行提供它))。所以最终你可能会输入:
c:\user\document> SBP < input_parameters.txt input_data.txt
或只是
c:\user\document> SBP < input_parameters.txt
坚持使用或多或少的标准用户界面是一件好事。