TensorFlow-Serving如何切换模型存储引擎HDFS与S3
小编给大家分享一下TensorFlow-Serving如何切换模型存储引擎HDFS与S3,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
创新互联建站主营沁阳网站建设的网络公司,主营网站建设方案,APP应用开发,沁阳h5成都微信小程序搭建,沁阳网站营销推广欢迎沁阳等地区企业咨询
一、TensorFlow-Serving使用S3存储模型
注意:这里的S3不单单指亚马逊的S3,也可支持minio等实现了S3协议的对象存储,值得提示的是,在测试过程中,腾讯云cos支持2.2.0及以前版本,对2.3.0存在兼容性问题,minio没有出现问题。
#请设置如下环境变量 AWS_ACCESS_KEY_ID=XXXXX # 访问S3需要的ID凭证 AWS_SECRET_ACCESS_KEY=XXXXX # 访问S3需要的KEY凭证 AWS_REGION=us-east-1 # S3存储桶的区域信息,(可选项) S3_ENDPOINT=s3.us-east-1.amazonaws.com # S3访问地址 S3_USE_HTTPS=1 # 是否使用HTTPS协议. 若关闭设置为0 S3_VERIFY_SSL=1 # 如果使用了HTTPS协议,控制是否应启用SSL,若关闭设置为0
二、TensorFlow-Serving使用HDFS存储模型
目前如果需要使用HDFS作为存储引擎,需要对现有的docker镜像进行重新打包。
1、下载对应的Hadoop包,并解压
https://archive.apache.org/dist/hadoop/core/hadoop-2.6.0/hadoop-2.6.0.tar.gz
2、Dockerfile如下:
FROM tensorflow/serving:2.3.0 RUN apt update && apt install -y openjdk-8-jre COPY hadoop-2.6.0 /root/hadoop ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/ ENV HADOOP_HDFS_HOME /root/hadoop ENV LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${JAVA_HOME}/jre/lib/amd64/server RUN echo '#!/bin/bash \n\n\ CLASSPATH=$(${HADOOP_HDFS_HOME}/bin/hadoop classpath --glob) tensorflow_model_server --port=8500 --rest_api_port=9000 \ --model_name=${MODEL_NAME} --model_base_path=${MODEL_BASE_PATH}/${MODEL_NAME} \ "$@"' > /usr/bin/tf_serving_entrypoint.sh \ && chmod +x /usr/bin/tf_serving_entrypoint.sh EXPOSE 8500 EXPOSE 9000 ENTRYPOINT ["/usr/bin/tf_serving_entrypoint.sh"]
3、Docker Build
docker build -t tensorflow_serving:2.3.0-hadoop-2.6.0 .
4、运行 TensorFlow-Serving
docker run -p 9001:9000 --name tensorflow-serving -e MODEL_NAME=resnet -e MODEL_BASE_PATH=hdfs://172.16.36.234:8020/user/model/tensorflow/ -t tensorflow_serving:2.3.0-hadoop-2.6.0
看完了这篇文章,相信你对“TensorFlow-Serving如何切换模型存储引擎HDFS与S3”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!
分享文章:TensorFlow-Serving如何切换模型存储引擎HDFS与S3
文章地址:http://cdiso.cn/article/iijdoc.html