【问题标题】:How to run vowpal wabbit in daemon mode如何在守护进程模式下运行 vowpal wabbit
【发布时间】:2015-10-18 22:15:25
【问题描述】:

我想在守护进程模式训练中运行 vowpal wabbit。我找到了stackoverflow链接Read data from memory in Vowpal Wabbit?,但没有得到如何指定模型文件名。我正在做的是运行

vw --save_resume -f ob/e/nsefut/VWDaemon/model.vw --quiet --daemon --port 26542

然后发送示例。我从链接中得到的是我必须发送以“保存”开头的标签,以使大众明白它是一个训练数据。所以,我把它发送为

 echo '2 save| b:1.0 c:2.8 ' | netcat localhost 26542

但是我找不到模型文件。如果有教程就好了。

编辑:

加上在守护程序模式下的训练之间,我还希望能够看到直到那个点的系数。

【问题讨论】:

  • 我想这个话题有几个问题:1.“我找不到模型文件”-bcs你必须发送savesave_filename给vw指示它转储当前模型状态。 2.“我想在守护模式训练中运行vowpal wabbit”。除非您在命令行中指定 -t,否则 VW 始终在训练模式下工作。 3. 如何得到只预测的例子? - 发送不带 echo ' mytest| b:1.0 c:2.8 ' | netcat localhost 26542 等标签的标签,并在预测中查找 mytest 标签 (-p 参数)
  • 我们是否需要启动 n 个 vw 实例(带有端口的守护程序模式)来进行 n 个模型训练?
  • 是的。大众只能训练一个模型。例如只有一个具有特征权重的回归器。我想它仍然可以调整(通过更改 C++ 代码)以在使用相同回归量(例如特征空间系数)的每个示例上一个接一个地执行几种不同的 ML 算法,例如 --oaa 是基于 @987654331 的顺序调用@。但结果仍然只有一个模型。所以一个实例 = 一个模型。
  • 嗨@truf,当我向大众发送示例时,它正在返回预测,但进程没有终止。我的意思是在我使用我提到的“netcat”命令发送观察后,即使在收到预测后,我也必须执行 ctrl + c 来结束命令。你能指出我做错了什么吗?
  • 以守护模式运行的大众在收到测试样例后不应该停止工作。 Bcs您可以测试许多示例,然后训练然后再次测试,等等。必须按照wiki github.com/JohnLangford/vowpal_wabbit/wiki/… Ctrl+c 中的描述停止VW守护进程@ Ctrl+c 也可以。

标签: daemon vowpalwabbit


【解决方案1】:

您必须使用echo 'save' | netcat localhost 26542 来指示 vw 将当前回归系数转储到模型文件中。至于获取 coeffs 值,请参考answer。简而言之:你不能。

【讨论】:

  • 即使--readable_model 在守护程序模式下得到支持,在某些情况下也可能无法使用。在这种模式下,vw 在 RAM 中存储每个新遇到的功能的字符串标题。因此,如果您的 -b 值很大并且您正在使用 -q --cubic --interactions,它可能需要太多 RAM。我为 VW 开发了一个小插件,使它能够“拆解”模型文件。在这种模式下,VW 加载模型文件,读取训练数据,检查每个特征是否具有非零权重,打印它并将权重设为零。因此它需要相同数量的 RAM,但需要 2 个通过其他相同的数据集。
  • 我写的对吗?如果我发送以“save”开头的标签,那将是唯一用于训练的标签,对吗?我发送的没有任何标签左右的标签将仅用于预测。
  • "save" 不能是标签,而是标签。所以它不应该接触“|”。您无需使用“保存”指定任何数据。只需发送“保存”作为整个示例。在需要时在示例之间发送。它不会用于训练或预测,因为它没有数据。我怀疑,如果您使用带有“保存”标签的示例指定数据,那么这些数据将被忽略。
  • 那么,我运行的命令只会用于训练吗?相反,我的问题是我可以使用相同的 vw 守护程序模式命令来训练和预测(仅测试预测)吗?
  • 嗯,很容易调整大众汽车以这种方式工作,但我不确定它是否会在所有模式(gd、svm、nn 等)下从盒子里像那样工作。一般来说,训练是一组以下步骤:预测、与标签比较并获得损失、更新回归量权重。测试只是预测步骤之一。如果您发送没有标签的大众示例,它当然不能用于学习。因此,在训练模式下运行 vw 并向其抛出未标记的示例——它们只会被预测。唯一的问题是要得出结果。我想如果您指定 -p 它将保存训练和测试示例的预测。所以你
猜你喜欢
  • 2015-08-26
  • 2014-10-06
  • 2014-04-26
  • 1970-01-01
  • 1970-01-01
  • 2018-10-30
  • 1970-01-01
  • 2015-09-02
  • 2015-09-16
相关资源
最近更新 更多