欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  新闻

tensorflow安装教程(详解tensorflow基础知识)

程序员文章站 2024-03-27 14:48:22
一、基于docker安装tf-serving参考文档:https://tensorflow.google.cn/tfx/serving/dockerhttps://zhuanlan.zhihu.com...

一、基于docker安装tf-serving

参考文档:

https://tensorflow.google.cn/tfx/serving/docker

https://zhuanlan.zhihu.com/p/45109194

基于docker的安装首先需要安装docker

在docker的下载地址

https://download.docker.com/linux/ubuntu/dists/

中查找ubuntu对应的版本

查看ubuntu版本:

cat /proc/version

查看详细信息:

lsb_release -a

可以看到ubuntu的代号名称为:xenial,cput为amd64 因此到文件夹中去选取对应版本的文件:

tensorflow安装教程(详解tensorflow基础知识)
tensorflow安装教程(详解tensorflow基础知识)
tensorflow安装教程(详解tensorflow基础知识)

获取.deb安装文件:

wget https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/docker-ce_18.03.0~ce-0~ubuntu_amd64.deb

使用dpkg命令进行安装:

dpkg -i docker-ce_18.03.0~ce-0~ubuntu_amd64.deb

执行hello-world测试是否安装成功:

tensorflow安装教程(详解tensorflow基础知识)

用dpkg命令安装后有遇到过docker没有正常启动的问题,好像是缺失mkl还是systemstl 没有启动docker,忘了记录,后续有同学遇到再补充。

在docker中启动服务

准备docker环境

docker pull tensorflow/serving

这个命令会获取一个预先安装好的虚拟环境,可以在docker中操作虚拟环境,tensorflowserving提供两种形式的调用:restfull和grpc

一、restfull api调用

下载tfserving的示例代码

mkdir tfserving
cd tfserving
git clone https://github.com/tensorflow/serving

运行tf serving

docker run -p 8501:8501 
  --mount type=bind,
source=/root/maoyaozong/tfserving/serving/tensorflow_serving/servables/tensorflow/testdata/saved_model_half_plus_two_cpu,
target=/models/half_plus_two 
  -e model_name=half_plus_two -t tensorflow/serving

这里提供8501端口作为rest api的端口号,绑定了模型的原始地址,并且命名模型的名称model_name=half_plus_two

客户端验证

curl -d'{"instances": [1.0, 2.0, 5.0]}' 
  -x post http://localhost:8501/v1/models/half_plus_two:predict

获取返回结果

{ "predictions": [2.5, 3.0, 4.5] }

二、grpc api调用

下载tfserving的示例代码

mkdir tfserving
cd tfserving
git clone https://github.com/tensorflow/serving

模型编译

/root/anaconda3/bin/pythontensorflow_serving/example/mnist_saved_model.py models/mnist

在目录下会多出一个models的文件夹,用来存储模型

运行tf serving

dockerrun -p 8500:8500 
--mounttype=bind,source=$(pwd)/models/mnist,target=/models/mnist 
-e model_name=mnist -t tensorflow/serving

安装tensorflow-serving-api

pip install tensorflow-serving-api

客户端验证

/root/anaconda3/bin/pythontensorflow_serving/example/mnist_client.py --num_tests=1000--server=127.0.0.1:8500

inference error rate: 10.4%

二、直接安装tensorflow_model_server

移除已经安装的tensorflow_model_server

apt-getremove tensorflow-model-server

把serving的发型uri添加为package源

echo "deb[arch=amd64] http://storage.googleapis.com/tensorflow-serving-apt stabletensorflow-model-server tensorflow-model-server-universal" | sudo tee/etc/apt/sources.list.d/tensorflow-serving.list && 
curlhttps://storage.googleapis.com/tensorflow-serving-apt/tensorflow-serving.release.pub.gpg| sudo apt-key add –

安装tensorflow modelserver

apt-getupdate && apt-get install tensorflow-model-server

通过tensorflow_model_server启动服务

tensorflow_model_server--port=8502 --rest_api_port=8503 
  --model_name=half_plus_two--model_base_path=/root/maoyaozong/tfserving/serving/tensorflow_serving/servables/tensorflow/testdata/saved_model_half_plus_two_cpu

这里我们启动了8502作为grpc端口,8503作为restfull端口

验证服务

curl-d '{"instances": [1.0, 2.0, 5.0]}' 
-x post http://localhost:8503/v1/models/half_plus_two:predict