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 thread.
- int32 num_load_threads = 0;
+ int32 num_load_threads = 1;
// The number of l

在生产环境中,TensorFlow Serving的模型加载和卸载会导致请求延时显著增加。通过使用独立线程进行加载/卸载及预热策略可以改善这一情况。在启动时,需指定使用独立线程,并在模型目录下添加预热数据以减少延时。
最低0.47元/天 解锁文章
1469





