Docker 与Tensorflow服务中的新版本相同,新模型是否有任何“加载策略”?
我在官方网站上读到,我们可以为新版本设置一个保存资源或可争议性的版本策略,但我没有发现任何关于加载新模型的内容。我正在使用tensoflow与Docker一起服务,我想知道这是什么行为,例如,如果我分配的内存已满,我尝试加载一个新内存Docker 与Tensorflow服务中的新版本相同,新模型是否有任何“加载策略”?,docker,tensorflow-serving,Docker,Tensorflow Serving,我在官方网站上读到,我们可以为新版本设置一个保存资源或可争议性的版本策略,但我没有发现任何关于加载新模型的内容。我正在使用tensoflow与Docker一起服务,我想知道这是什么行为,例如,如果我分配的内存已满,我尝试加载一个新内存 非常感谢 只需在文件夹中添加一个新版本,就可以加载同一模型的新版本,只需做一点额外工作即可加载新模型 添加模型的新版本 要加载同一模型的新版本,您需要具有文件夹层次结构,并使用递增的数字将新版本添加到模型文件夹中。假设你有这个文件夹结构 C:/mymodelfol
非常感谢 只需在文件夹中添加一个新版本,就可以加载同一模型的新版本,只需做一点额外工作即可加载新模型 添加模型的新版本 要加载同一模型的新版本,您需要具有文件夹层次结构,并使用递增的数字将新版本添加到模型文件夹中。假设你有这个文件夹结构
C:/mymodelfolder/
L->resnet-model
L->1
L->nlp-model
L->1
如果您希望加载nlp模型的v2,只需将模型的v2放入名为2的文件夹中,如下所示
在一秒钟左右的时间里,tf服务应该发现并加载该模型—您可以稍后丢弃其中一个模型,或者以a/B方式以正确的配置为它们提供服务
添加要提供的新模型
如果您希望在不重新启动tf服务的情况下加载另一个模型,您首先需要将该模型复制到另一个文件夹,然后使用重新加载ConfigRequest协议将gRPC请求发送到应用程序的公开端口,该协议包含所有要服务的模型。通过这种方式,您可以动态添加/删除/指定版本
还有一个标志=>-model\u config\u file\u poll\u wait\u seconds,它告诉tf serving侦听model.config文件上的更改,但我无法在docker上的最新版本中使用它
有关官方文件和更多信息,您可以访问
记忆行为
我想知道这种行为是什么,例如,如果我分配的内存
已满,我尝试加载一个新的
当您将模型更新为新版本时,除非将它们配置为一起提供,否则会卸载以前的模型并加载新模型。因此,如果第一个模型的大小与第二个模型的大小不同,它将反映到内存中
如果您碰巧加载的模型超出了应用程序/容器/环境分配的内存,那么不幸的是,在当前版本的应用程序中,它将自动关闭。但在这篇文章中有一段很长的对话和一些解决方法,你可能想看看:
C:/mymodelfolder/
...
L->nlp-model
L->1
L->2 //new model is here