Tensorflow serving with Kubernetes

1.Build docker image

由于自己build镜像总是遇到问题,此处暂时借用dockerhub上的一个镜像 docker.io/mochin/tensorflow-serving

将此镜像push到k8s所在集群的docker registry中

2.编写yaml

官方例子中给出了一个yaml不过有些地方不对,或者不适用这个dockerimage(可能是因为0.4.0的版本)

做出了一些修改

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: inception-deployment
spec:
  replicas: 2
  template:
    metadata:
      labels:
        app: inception-server
    spec:
      containers:
      - name: inception-container
        image: registry.lenovo.com:8080/tensorflow-serving:0.4.0
        command:
        - /bin/sh
        - -c
        args:
        - serving/bazel-bin/tensorflow_serving/example/inception_inference --port=9900 serving/inception-export
        ports:
        - containerPort: 9900
---
apiVersion: v1
kind: Service
metadata:
  labels:
    run: inception-service
  name: inception-service
spec:
  ports:
  - port: 9900
    targetPort: 9900
  selector:
    app: inception-server
  #type: LoadBalancer
  externalIPs:
    - xxx.xxx.xxx.xxx

  

3. 提交到k8s

kubectl create -f xxx.yaml

4. 查看状态

#>kubectl get service
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
inception-service xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx   9900/TCP 8m

#>kubectl get deployment
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
inception-deployment 2 2 2 2 3h

5. 进行测试

运行一个docker container去访问部署的服务

docker run --rm -it tensorflow-serving:latest /bin/bash

#>cd serving

#> ./bazel-bin/tensorflow_serving/example/inception_client --server=10.100.208.54:9900 --image=./tensorflow/tensorflow/examples/label_image/data/grace_hopper.jpg &> log &

7.863746 : military uniform
6.911478 : bow tie, bow-tie, bowtie
6.642433 : mortarboard
5.758826 : suit, suit of clothes
5.614463 : academic gown, academic robe, judge‘s robe

6. 负载均衡配置

TODO

时间: 2024-11-13 22:10:57

Tensorflow serving with Kubernetes的相关文章

tensorflow serving 中 No module named tensorflow_serving.apis,找不到predict_pb2问题

最近在学习tensorflow serving,但是运行官网例子,不使用bazel时,发现运行mnist_client.py的时候出错, 在api文件中也没找到predict_pb2,因此,后面在网上看到,它在这里 "bazel-bin/tensorflow_serving/example/mnist_client.runfiles/tf_serving/tensorflow_serving/apis" 好像这是bazel编译生成的(网上观点,出处找不到啦),好吧,又回到bazel了.

Tensorflow serving的编译

Tensorflow serving提供了部署tensorflow生成的模型给线上服务的方法,包括模型的export,load等等. 安装参考这个 https://github.com/tensorflow/serving/blob/master/tensorflow_serving/g3doc/setup.md ? ? 但是由于被qiang的问题 (googlesource无法访问) https://github.com/tensorflow/serving/issues/6 需要修改一下 W

tensorflow serving 之minist_saved_model.py解读

最近在学习tensorflow serving,但是就这样平淡看代码可能觉得不能真正思考,就想着写个文章看看,自己写给自己的,就像自己对着镜子演讲一样,写个文章也像自己给自己讲课,这样思考的比较深,学到的也比较多,有错欢迎揪出, minist_saved_model.py 是tensorflow的第一个例子,里面有很多serving的知识,还不了解,现在看.下面是它的入口函数,然后直接跳转到main if __name__ == '__main__': tf.app.run() 在main函数里

tensorflow serving目录解读

tf_serving-----WORKSPACE | -----tensorflow-serving/----BUILD |                      | |                      -----workspace.bzl |                      | |                      -----example/-------BUILD |                                  | |          

Tensorflow r1.12及tensorflow serving r1.12 GPU版本编译遇到的问题

1.git clone tensorflow serving 及tensorflow代码 2. ERROR: /root/.cache/bazel/_bazel_root/f71d782da17fd83c84ed6253a342a306/external/local_config_cuda/crosstool/BUILD:4:1: Traceback (most recent call last): File "/root/.cache/bazel/_bazel_root/f71d782da17

TensorFlow博客翻译——TensorFlow 0.8发布

原文地址 Announcing TensorFlow 0.8 – now with distributed computing support! Wednesday, April 13, 2016 Posted by Derek Murray, Software Engineer TensorFlow0.8发布--目前可以支持分布式计算! Google uses machine learning across a wide range of its products. In order to c

将libFM模型变换成tensorflow可serving的形式

fm_model是libFM生成的模型 model.ckpt是可以tensorflow serving的模型结构 代码: import tensorflow as tf def load_fm_model(file_name): state = '' fid = 0 max_fid = 0 w0 = 0.0 wj = {} v = {} k = 0 with open(file_name) as f: for line in f: line = line.rstrip() if 'global

(转) TensorFlow深度学习,一篇文章就够了

TensorFlow深度学习,一篇文章就够了 2016/09/22 · IT技术 · TensorFlow, 深度学习 分享到:6 原文出处: 我爱计算机 (@tobe迪豪 ) 作者: 陈迪豪,就职小米科技,深度学习工程师,TensorFlow代码提交者. TensorFlow深度学习框架 Google不仅是大数据和云计算的领导者,在机器学习和深度学习上也有很好的实践和积累,在2015年年底开源了内部使用的深度学习框架TensorFlow. 与Caffe.Theano.Torch.MXNet等框

问题集录--TensorFlow深度学习

TensorFlow深度学习框架 Google不仅是大数据和云计算的领导者,在机器学习和深度学习上也有很好的实践和积累,在2015年年底开源了内部使用的深度学习框架TensorFlow. 与Caffe.Theano.Torch.MXNet等框架相比,TensorFlow在Github上Fork数和Star数都是最多的,而且在图形分类.音频处理.推荐系统和自然语言处理等场景下都有丰富的应用.最近流行的Keras框架底层默认使用TensorFlow,著名的斯坦福CS231n课程使用TensorFlo