通过 tensorflow-serving 可以加载模型后提供网络接口API服务,通过任意编程语言发送网络请求都可以获取模型预测结果。 〇,tensorflow-serving部署模型概述 使用 tensorflow serving 部署模型要完成以下步骤。 (1) 准备protobuf模型文件。
其中如果要部署的话,就有tensorflow-serving和flask的选择了。 这里刚好有一个非常好的实战例子,基于tensorflow 1.x的,比较全面。 ---- ?
通过 tensorflow-serving 可以加载模型后提供网络接口API服务,通过任意编程语言发送网络请求都可以获取模型预测结果。
{ "error_code": "OK", "error_message": "" } } ] } 3 测试 下面我们通过几个简单的 curl 请求来测试一下我们部署的 tensorflow-serving method_name": "tensorflow/serving/regress" } } } } } 可以通过 Serving Pod 对应的 Serving 的 name 和集群 IP 来请求结果,分别是 tensorflow-serving # curl http://tensorflow-serving:8501/v1/models/saved_model_half_plus_two_cpu { "model_version_status
Kubernetes中,下面是对应的Deployment yaml: apiVersion: extensions/v1beta1 kind: Deployment metadata: name: tensorflow-serving spec: replicas: 1 template: metadata: labels: app: "tensorflow-serving" spec restartPolicy: Always imagePullSecrets: - name: harborsecret containers: - name: tensorflow-serving
我们将涵盖以下几点: I:在TensorFlow张量上调用Keras层 II:在TensorFlow中使用Keras模型 III:多GPU和分布式训练 IV:用TensorFlow-serving导出模型 IV:用TensorFlow-serving导出模型 TensorFlow Serving是由Google开发的用于在生产环境中提供TensorFlow模型的库。 import model_from_config new_model = model_from_config(config) new_model.set_weights(weights) 我们现在可以使用TensorFlow-serving
docker run -it -p 5000:9000 --volume /root/tf_demo/servering/model_name:/bitnami/model-data bitnami/tensorflow-serving Welcome to the Bitnami tensorflow-serving container ... 2017-11-01 03:43:55.983106: I tensorflow_serving
在 Google Cloud 上,通过 TensorFlow-Serving。 在 Python webapp 后端(比如 Flask app)中。
在 Google Cloud 上,通过 TensorFlow-Serving。 在 Python webapp 后端(比如 Flask app)中。
比如Python软件包tensorflow-serving-api在代码里的使用方式为“import tensorflow-serving.apis”,当用户误执行“pip install tensorflow-serving python-zz 2)分析软件包的引用方式 如上文提到的tensorflow-serving-api在代码里的使用方式为“import tensorflow-serving.apis”,那么攻击者可能会抢注tensorflow-serving
参考 How to Show Signatures of Tensorflow Saved Model Serving Image-Based Deep Learning Models with TensorFlow-Serving
Google提供了一种生产环境的新思路,他们开发了一个tensorflow-serving的服务,可以自动加载某个路径下的所有模型,模型通过事先定义的输入输出和计算图,直接提供rpc或者rest的服务。
inception_saved_model --checkpoint_dir=/model-data/inception-v3 --output_dir=/model-data/inception-export FROM bitnami/tensorflow-serving
当然, 如果算法工程自己搭建的可以, 可以使用如tensorflow-serving的方式。 当时我是采取的这种方案上线的。
] Estimator具备如下优势: 基于Estimator编写的代码,可运行在单机和分布式环境中,不用区别对待 简化了模型开发者之间共享部署,它提供了标准的模型导出功能,可以将训练好的模型直接用于TensorFlow-Serving
tensorflow 25 [OK] bitnami/tensorflow-serving
tensorflow 25 [OK] bitnami/tensorflow-serving
tensorflow 25 [OK] bitnami/tensorflow-serving
这个模版的工作是把业务训练数据生成下层对接系统可以处理的格式(当前推荐业务使用 libsvm 格式),并将生成好的数据持久化到hdfs上; 然后基于 tensorflow 实现网络结构、数据读取模块、以及模型持久化模块; 最后把模型推送到线上,而线上 tensorflow-serving
这个模版的工作是把业务训练数据生成下层对接系统可以处理的格式(当前推荐业务使用 libsvm 格式),并将生成好的数据持久化到 hdfs 上;然后基于 tensorflow 实现网络结构、数据读取模块、以及模型持久化模块;最后把模型推送到线上,而线上 tensorflow-serving