2016-11-07 86 views
1

我有与此相关的一个问题:设置TensorFlow生产:如何重新培训你的模型

TensorFlow in production for real time predictions in high traffic app - how to use?

我想TensorFlow服务做推断为我们的其他应用程序的服务。我看到TensorFlow Serving如何帮助我做到这一点。此外,它提到了一个continuous training pipeline,这可能与TensorFlow Serving可以与多个版本的训练模型一起使用的可能性有关。但我不确定如何在获取新数据时重新训练模型。另一篇文章提到了用cron作业进行再培训的想法。但是,我不确定自动再培训是否是一个好主意。你会建议什么样的体系结构连续重新培训管道,系统会不断面对新的标记数据?

编辑:这是一个监督学习案例。问题是,您会在n个新数据点进入后自动重新训练模型,或者您会在客户停机时自动进行再培训还是手动进行再培训?

回答

1

你可能想要使用某种半监督训练。这方面有相当广泛的研究。

一种简单而方便的方式很适用,即使用当前最好的模型来标记新的传入数据。模型通常能够产生一个分数(希望是一个logprob)。您可以使用该分数仅对适合的数据进行训练。

这是一种我们用于语音识别的方法,它是一个很好的基准。

+0

感谢您的回答,这听起来相当不错,我们有其他任务。实际上,我更感兴趣的是你如何在一个有监督的,持续的再培训案例中将你的旧模型与新模型交换。意思是如果你有你的模型x,并且你看到n个新的带标记的数据点,你什么时候进行再训练以将模型改进为x + 1?你甚至会触发数据点的数量,或者如果可能的话,你会在客户停机的时候重新运行吗?或者你只会手动重新运行,而不是自动推出? – Ben

+1

由于不同的原因,有两种方法可以使用。他们需要一定程度的规模。首先,我们有一个数据科学家小组,不断改进算法,并利用更多的数据。然后,他们每个星期都会见一个启动委员会。该算法的每个改进都必须得到批准。在另一种方法中,机械地说,每个周三都会用模型切割一个分支。然后它被推向任何头脑。在这两种情况下,我们都会在服务服务中添加新的模型/代码,并监控延迟,内存,准确性等。 – drpng

相关问题