WIN10 docker部署TF模型

WIN10 Docker tensorflow serving

重要参考:https://www.youtube.com/watch?v=uabNEQlpGM8

下载

docker 

百度网盘,不是最新版 https://oomake.com/download/docker-windows

最新版不需登陆,但是对系统版本有要求 https://blog.youkuaiyun.com/tangyaya8/article/details/88604500

docker -toolbox

可用 http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/

入门

验证是否安装成功,在PowerShell执行命令docker -v,查看能否输出docker版本

 

docker run hello-world

切换至linux

全流程

# Download the TensorFlow Serving Docker image and repo
docker pull tensorflow/serving
# docker pull tensorflow/serving:latest-gpu

# clone the TensorFlow Serving repo:
mkdir tmp/tfserving
cd /tmp/tfserving
git clone https://github.com/tensorflow/serving

# 设置路径
Set-Variable -Name "TESTDATA" -Value "$(pwd)/serving/tensorflow_serving/servables/tensorflow/testdata"
$TESTDATA

# 运行:
docker run -t --rm -p 8506:8501 -v "$TESTDATA/saved_model_half_plus_two_cpu:/models/half_plus_two" -e MODEL_NAME=half_plus_two tensorflow/serving

# 查看在运行的容器:
docker container ls

# 预测:
curl -d '{"instances": [1.0, 2.0, 5.0]}' -X POST http://localhost:8501/v1/models/half_plus_two:predict

# if预测失败:
Get-Alias curl
Remove-Item alias:curl
# 预测:
curl -d '{\"instances\": [1.0, 2.0, 5.0]}' -X POST http://localhost:8501/v1/models/half_plus_two:predict
# return:
{"predictions":[2.5,3.0,4.5]}
# 预测:
curl -d '{\"instances\": [4.0, 10.0, 25.0]}' -X POST http://localhost:8501/v1/models/half_plus_two:predict

# stop容器:先查看容器的ID,然后stop ID
docker container ls
docker stop ID

# 重启容器:
docker run -t -p 8506:8501 -v "$TESTDATA/saved_model_half_plus_two_cpu:/models/half_plus_two" -e MODEL_NAME=half_plus_two tensorflow/serving

多模型多版本或更新版本

# 版本更新:
# 首先,查看容器:
docker ps -a
# 然后,删除之前版本的容器:
docker rm ID
# 然后,设置路径
Set-Variable -Name "TESTDATA" -Value "$(pwd)/serving/tensorflow_serving/servables/tensorflow/testdata"
# 然后,启动
docker run -p 8508:8500 -p 8509:8501 -v "$TESTDATA/saved_model_half_plus_two_cpu:/models/half_plus_two" -v "$TESTDATA/saved_model_half_plus_three:/models/half_plus_three" -v "$TESTDATA/models.config:/models/models.config" -t tensorflow/serving --model_config_file=/models/models.config
# 然后:
Remove-Item alias:curl
# 最后,预测:
curl -d '{\"instances\": [1.0, 2.0, 5.0]}' -X POST http://localhost:8501/v1/models/half_plus_two:predict

 

docker pull tensorflow/serving
git clone https://github.com/tensorflow/serving
# Location of demo models
TESTDATA="$(pwd)/serving/tensorflow_serving/servables/tensorflow/testdata"

# Start TensorFlow Serving container and open the REST API port
docker run -t --rm -p 8508:8501 \
    -v "$TESTDATA/saved_model_half_plus_two_cpu:/models/half_plus_two" \
    -e MODEL_NAME=half_plus_two \
    tensorflow/serving

# Query the model using the predict API
curl -d '{\"instances\": [1.0, 2.0, 5.0]}' -X POST http://localhost:8501/v1/models/half_plus_two:predict

成功返回数据

共享磁盘

 

 

输入URL,返回下图

删除image镜像

参考:https://blog.youkuaiyun.com/flydreamzhll/article/details/80900509

首先删除image相关的容器

如果出现无法移除,说明该container正在运行中(运行docker ps查看),先将其关闭:

docker stop 117843ade696

然后删除image

docker rmi ed9c93747fe1

 

 

报错

问题1(已解决)

参考:https://blog.youkuaiyun.com/weixin_34242658/article/details/91705907

cd "C:\Program Files\Docker\Docker"
DockerCli.exe -SwitchDaemon

 

 

 

 

 

 

 

 

### 如何在 Windows 11 上部署大规模机器学习模型 #### 准备工作 为了成功部署大规模机器学习模型,在Windows 11环境中需先安装必要的软件包和工具。这通常涉及配置Python开发环境以及安装特定于所选框架(如TensorFlow、PyTorch等)的相关库。 对于使用TensorFlow Serving的情况,由于其官方支持主要集中在Linux平台上,因此建议采用Docker容器化解决方案来简化跨平台兼容性问题[^1]。通过这种方式可以在任何操作系统上运行一致的服务实例而无需担心底层系统的差异。 #### 安装 Docker Desktop 并设置 GPU 支持 (如果适用) - 下载并安装最新版本的[Docker Desktop](https://www.docker.com/products/docker-desktop),确保启用了WLS2(Windows Subsystem for Linux 2)作为默认后端。 - 如果计划利用GPU加速,则还需额外配置NVIDIA Container Toolkit以便让容器能够访问本地显卡资源。 #### 获取预构建镜像或创建自定义镜像 可以基于现有的公开可用的基础镜像快速启动服务,也可以根据具体需求定制专属镜像文件(Dockerfile)。例如: ```dockerfile FROM tensorflow/serving:latest-gpu COPY ./model /models/my_model/ ENV MODEL_NAME=my_model ``` 此段脚本会拉取带有CUDA驱动程序支持的tensorflow/serving镜像,并将预先训练完成后的模型复制到指定路径下供后续加载调用。 #### 启动 Tensorflow Serving 实例 一旦准备就绪,就可以执行如下命令开启一个新的容器进程: ```bash docker run -p 8501:8501 \ --name=tf_serving_container \ --mount type=bind,source=$(pwd)/path/to/your/model,target=/models/my_model \ -e MODEL_NAME=my_model -t tensorflow/serving ``` 上述指令映射了主机目录至容器内部位置,并指定了监听端口用于接收RESTful API请求。 #### 测试 REST 接口功能 最后一步是验证整个流程是否正常运作。可以通过浏览器直接访问`http://localhost:8501/v1/models/my_model:predict`或者借助编程方式发送JSON格式的数据体来进行预测操作测试。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值