Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker 与Tensorflow服务中的新版本相同,新模型是否有任何“加载策略”?_Docker_Tensorflow Serving - Fatal编程技术网

Docker 与Tensorflow服务中的新版本相同,新模型是否有任何“加载策略”?

Docker 与Tensorflow服务中的新版本相同,新模型是否有任何“加载策略”?,docker,tensorflow-serving,Docker,Tensorflow Serving,我在官方网站上读到,我们可以为新版本设置一个保存资源或可争议性的版本策略,但我没有发现任何关于加载新模型的内容。我正在使用tensoflow与Docker一起服务,我想知道这是什么行为,例如,如果我分配的内存已满,我尝试加载一个新内存 非常感谢 只需在文件夹中添加一个新版本,就可以加载同一模型的新版本,只需做一点额外工作即可加载新模型 添加模型的新版本 要加载同一模型的新版本,您需要具有文件夹层次结构,并使用递增的数字将新版本添加到模型文件夹中。假设你有这个文件夹结构 C:/mymodelfol

我在官方网站上读到,我们可以为新版本设置一个保存资源或可争议性的版本策略,但我没有发现任何关于加载新模型的内容。我正在使用tensoflow与Docker一起服务,我想知道这是什么行为,例如,如果我分配的内存已满,我尝试加载一个新内存


非常感谢

只需在文件夹中添加一个新版本,就可以加载同一模型的新版本,只需做一点额外工作即可加载新模型

添加模型的新版本

要加载同一模型的新版本,您需要具有文件夹层次结构,并使用递增的数字将新版本添加到模型文件夹中。假设你有这个文件夹结构

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