Kubernetes 部署 Tensorflow Serving
本文记录如何把 TensorFlow ResNet 模型部署在本地 Kubernetes 集群上,并提供一个 grpc 端口供集群外部访问。 本文不牵涉 ResNet(Deep residual networks)模型的实现细节,只讨论部署。 本文来源于 TensorFlow 官网上的一个例子,但正如大多数项目的文档一样,文档落后于项目的发展,因此有一些小坑,这里记录一下。 下载 ResNet 模型数据 这一步没什么好说的,按照步骤下载就行了 mkdir /tmp/resnet curl -s http://download.tensorflow.org/models/official/20181001_resnet/savedmodels/resnet_v2_fp32_savedmodel_NHWC_jpg.tar.gz | \ tar --strip-components=2 -C /tmp/resnet -xvz 制作并启动 ResNet serving 因为我们要把这个 serving 部署到 k8s,所以制作 docker 镜像是必须的。 先启动运行一个空 serving 镜像: docker run -d --name serving_base tensorflow/serving 然后把刚刚下载的 /tmp/resnet 文件夹下的所有内容拷贝到容器中: docker cp /tmp/resnet serving_base:/models/resnet 最后,commit 生成一个自己的 image docker commit --change "ENV MODEL_NAME resnet" serving_base resnet_serving docker kill serving_base docker rm serving_base 然后我们试着运行一下这个镜像,要是看到类似如下输出,证明启动正常。 ...