在 Python 程序中的集群上部署 TF 服务模型

问题描述

我正在开发一个项目,在该项目中,我在程序中使用 tf 服务依次运行不同的 tf 模型。它在本地部署没问题,如果我使用集群来完成我的任务,我要么需要在每个节点上手动部署模型,要么想办法在集群上部署 tf 服务模型并能够按顺序部署模型,因为这就是程序需要做的。

我正在使用 ray 在私有/本地云提供商(即不是 aws、gcp 或 azure)上设置集群 我发现 ray 在其内部 api 中有一个函数可以在所有工人上运行一个函数,但它对我不起作用。

def deploy_model(*args,**kwargs):
    subprocess.run('docker run -t --rm -p 8501:8501 -v "$(pwd)"/models/TensorFlowServe":"/models/TensorFlowServe"" 
    tensorflow/serving --model_config_file="/models/TensorFlowServe/models_TFServe.config.txt"
    --model_config_file_poll_wait_seconds=6000 --prefer_tflite_model=false
    --enable_batching --batching_parameters_file="models/TensorFlowServe/batching_parameters_file.txt" &',shell=True)

ray.worker.global_worker.run_function_on_all_workers(deploy_model,True)

以上可以将其部署在我的头节点上,而不是工作节点上。另外,也许可以使用 ray 将模型的端口转发到工作节点?

除此之外,我已经读到您可以使用 kubernetes 在集群上部署 tf 服务,但是我不知道它是否仍能解决问题,我也没有这方面的经验。可以用其他方式吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)