【发布时间】:2013-03-25 09:27:05
【问题描述】:
我正在研究一种学习算法,并且我正在使用输入文件从命令行提供输入,如下所示:- c:\user\document> SBP
但是我想多次输入这个文件(不确定)直到训练错误不低于某个阈值,我该怎么做..
【问题讨论】:
我正在研究一种学习算法,并且我正在使用输入文件从命令行提供输入,如下所示:- c:\user\document> SBP
但是我想多次输入这个文件(不确定)直到训练错误不低于某个阈值,我该怎么做..
【问题讨论】:
你可以在命令行中多次输入,比如
./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
}
}
【讨论】:
我建议重新设计您的 SBP 程序,以包含学习迭代的循环。这样,您只需读取一次数据输入,然后在程序内部对其进行处理。或者,您可以考虑为您的程序提供参数输入文件(例如,最大迭代次数(将数据呈现给学习算法的次数)、错误阈值、一些其他参数,甚至是要读取的数据文件的名称(所以跳过从命令行提供它))。所以最终你可能会得到如下输入:
c:\user\document> SBP < input_parameters.txt input_data.txt
或者干脆
c:\user\document> SBP < input_parameters.txt
坚持使用或多或少的标准用户界面是一件好事。
【讨论】: