docker编译tensorflow serving 源码
windows 10 安装docker
1.Docker下载地址为: https://store.docker.com/editions/community/docker-ce-desktop-windows
2.Docker for Windows 的当前版本运行在64位Windows 10 Pro,专业版、企业版和教育版(1607年纪念更新,版本14393或更高版本)上。
我的电脑是Windows 10 Pro,但是版本是12***,所以需要先升级
3.需要开启Hyper-V虚拟机功能 点击“启用或关闭Windows功能”,然后选中“Hyper-V”
一开始有一个是灰的,选不上,需要进电脑bios开启硬件虚拟化,进入BIOS后按左右键选择configuration(配置),选择下面的SVM SUPPORT(AMD处理器)或者 Intel Virtual Technology(Intel处理器),回车选择enable,按F10回车重启即可。
根据dockerfile编译源码
主要根据以下地址操作https://github.com/IntelAI/models/blob/master/docs/general/tensorflow_serving/InstallationGuide.md#installation
docker 操作参考https://yeasy.gitbooks.io/docker_practice/
一、git克隆
git clone https://github.com/tensorflow/serving.git
二、开始安装带development tools的镜像
cd serving/tensorflow_serving/tools/docker/
可以看到这个目录下有Dockerfile,Dockerfile.devel,Dockerfile.devel-gpu,Dockerfile.devel-mkl,Dockerfile.gpu,Dockerfile.mkl这几个文件
其中mkl为intel的一个优化的库,带devel的是带开发环境的,先要编译带devel的,再编译不带devel的Dockerfile,后者以前者为基础
如果要使用Intel的MKL库
docker build -f Dockerfile.devel-mkl --build-arg TF_SERVING_VERSION_GIT_BRANCH=“1.13.0” -t tensorflow/serving:latest-devel-mkl .
如果不使用:
docker build -f Dockerfile.devel --build-arg TF_SERVING_VERSION_GIT_BRANCH=“1.13.0” -t tensorflow/serving .
如果有gpu,就用带gpu的dockerfile
这里面遇到几个比较大的坑,主要是国内被墙,需要更换apt-get和pip的下载地址为国内镜像
1.apt-get 经常有下载失败的包
在dockerfile中apt-get命令前加入以下命令更换为国内镜像地址
RUN sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
RUN apt-get clean
这是一个替换,@是分割符和/一样,因为要替换的内容中有/,所以用@
2.Premature EOF
Extracting Bazel installation…
Starting local Bazel server and connecting to it…
ERROR: error loading package ‘’: in /tensorflow-serving/tensorflow_serving/workspace.bzl: Encountered error while reading extension file ‘tensorflow/workspace.bzl’:
no such package ‘@org_tensorflow//tensorflow’: java.io.I