--passes 在 Python VowpalWabbit 中有什么作用?

What does --passes do in Python VowpalWabbit?

--passes 标志是训练遍数。但是,在训练 Python VW 模型时,例如在 for 循环中,传递的概念意味着什么尚不清楚。

例如如果我在这样的 for 循环中通过示例训练模型示例:

for line in train:
    model.learn(line)

如果每个训练样本只学习一次,怎么会有多次通过?

在Python中,passes选项仅在使用内置驱动程序时有效。只有在 VW 对象的配置中指定了数据文件和/或传递时才会发生这种情况。它不会导致 model.learn(line).

的不同行为

这是 运行 内置解析器的检查(在 Python 代码内部):

class vw(pylibvw.vw):
    def __init__(self, arg_str=None, **kw):
        # ...
        ext_file_args = ['d', 'data', 'passes']
        if any(x in kw for x in ext_file_args):
            pylibvw.vw.run_parser(self)

这是由 VW 首先作为命令行工具这一事实引起的令人困惑的案例之一。这绝对是一件在我们处理绑定时弄清楚的事情。