Tensorflow Serving:如何使用Tensorflow Serving重新训练目前在生产中服务的模型



如何使用tensorflow服务用当前在生产中提供的新数据重新训练模型?我们必须手动训练模型并再次为其服务吗?或者有什么自动化的方法可以做到这一点。

我正在使用tensorflow服务与docker。

基本的想法是:考虑到已经有一个使用tensorflow服务的模型,在未来我会得到一些额外的数据,我希望模型与这些数据相匹配,那么我们如何对同一模型进行训练呢?

问题1:我确实有一个训练模型的脚本,但训练必须在本地/手动完成吗?

答案:据我所知,应该在本地或某个远程服务器中进行,您可以根据方便在任何地方进行。tensorflow服务的主要重要步骤是将模型保存为服务器可以使用的相应格式。请参阅关于如何保存以及如何将其加载到服务docker容器的链接。服务tensorflow模型

问题2:假设我创建了一个全新的模型(除了当前服务器的模型a(,我如何将其再次加载到tensorflow服务?我必须手动将其加载到docker目标路径吗?

答案:是的,如果您在不使用服务配置的情况下加载它,则必须手动关闭容器,在命令中重新映射路径,然后将其加载到docker容器中。这就是服务配置帮助您仅在运行时加载模型的地方。

问题3:TFX文档说要更新model.config文件以添加新模型,但在服务运行时如何更新它。

答案:基本配置文件看起来像这个

config {
name: 'my_first_model'
base_path: '/tmp/my_first_model/'
model_platform: 'tensorflow'
}
config {
name: 'my_second_model'
base_path: '/tmp/my_second_model/'
model_platform: 'tensorflow'
}
}

在启动docker容器之前,需要映射此文件,当然还有不同模型所在的路径。此配置文件更改后将相应地在服务docker容器中加载新模型。您也可以维护同一模型的不同版本。有关更多信息,请参阅提供配置的链接。服务会定期自动查找此文件,一旦检测到一些更改,它就会自动加载新模型,而无需重新启动docker容器。

最新更新