TersorFlow Serving 加载/卸载模型时请求延时变高
生产环境中使用 TensorFlow Serving 可能会发现在加载/卸载模型时请求延时变高(数量级)。
解决该问题需要多方面改进:
- 使用独立线程来加载/卸载模型
- 预热
完成以上方面改进后,在启动 tensorflow_model_server
时,需要指定 --enable_model_warmup=true
,缺省为 true
。
使用独立线程来加载/卸载模型
TensorFlow Serving 缺省不会使用独立线程来加载/卸载模型,如果想要使用独立线程,需做如下修改:
diff --git a/tensorflow_serving/model_servers/server_core.h b/tensorflow_serving/model_servers/server_core.h
index 272d8a7..0f29d9e 100644
--- a/tensorflow_serving/model_servers/server_core.h
+++ b/tensorflow_serving/model_servers/server_core.h
@@ -97,7 +97,7 @@ class ServerCore : public Manager {
// The number of threads used to load models. If set to 0, then no thread
// pool is used and loads are performed serially in the manager th