素材巴巴 > 程序开发 >

tensorflow serving 采用Docker部署流程

程序开发 2023-09-08 15:28:58

目录

  • 2.部署
  • 3.测试
  • 4.维护
  • 1.模型准备

    模型准备

    import tensorflow as tf
     from tensorflow.keras import models,layers,optimizers## 样本数量
     n = 800## 生成测试用数据集
     X = tf.random.uniform([n,2],minval=-10,maxval=10) 
     w0 = tf.constant([[2.0],[-1.0]])
     b0 = tf.constant(3.0)Y = X@w0 + b0 + tf.random.normal([n,1],mean = 0.0,stddev= 2.0) # @表示矩阵乘法,增加正态扰动## 建立模型
     tf.keras.backend.clear_session()
     inputs = layers.Input(shape = (2,),name ="inputs") #设置输入名字为inputs
     outputs = layers.Dense(1, name = "outputs")(inputs) #设置输出名字为outputs
     linear = models.Model(inputs = inputs,outputs = outputs)
     linear.summary()## 使用fit方法进行训练
     linear.compile(optimizer="rmsprop",loss="mse",metrics=["mae"])
     linear.fit(X,Y,batch_size = 8,epochs = 100)  tf.print("w = ",linear.layers[1].kernel)
     tf.print("b = ",linear.layers[1].bias)## 将模型保存成pb格式文件
     export_path = "./data/linear_model/"
     version = "1"       #后续可以通过版本号进行模型版本迭代与管理
     linear.save(export_path+version, save_format="tf")
     

    查看模型

    ls ./data/linear_model/1
     ![在这里插入图片描述](https://img-blog.csdnimg.cn/d3617a690f614c478bc1633dcd6634e0.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAemVyb-eMtOaIjw==,size_20,color_FFFFFF,t_70,g_se,x_16)![在这里插入图片描述](https://img-blog.csdnimg.cn/8405e5a90b364fcbb70aa6170e33d4d4.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAemVyb-eMtOaIjw==,size_20,color_FFFFFF,t_70,g_se,x_16)![在这里插入图片描述](https://img-blog.csdnimg.cn/564c4ca46fcd445f887ef1c5b5aa100a.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAemVyb-eMtOaIjw==,size_20,color_FFFFFF,t_70,g_se,x_16)saved_model_cli show --dir {export_path+str(version)} --all
     ![在这里插入图片描述](https://img-blog.csdnimg.cn/ea37b3c39ce0441698d7f8b846a34c1f.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAemVyb-eMtOaIjw==,size_20,color_FFFFFF,t_70,g_se,x_16)
     

    服务器创建同格式文件夹,并放入模型文件

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/563a0532bded4152a326ae10bf6f6c63.png)
     

    2.部署

    拉取镜像

    默认下载:latest版本
     docker pull tensorflow/serving
     docker pull tensorflow/serving:latest-devel
     docker image ls 可以查看拉取好的镜像
     

    在这里插入图片描述### 启动服务
    docker run -t --rm -p 8501:8501 -v $(pwd)/linear_model:/models/linear_model -e MODEL_NAME=linear_model tensorflow/serving &
    在这里插入图片描述docker ps 查看
    在这里插入图片描述
    启动成功

    3.测试

    Postman访问

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/61840ce9ae694c8cba2375172cc9dd75.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAemVyb-eMtOaIjw==,size_20,color_FFFFFF,t_70,g_se,x_16)
     

    Linux curl 访问

    curl -d ‘{“inputs”: [[0.0, 2.0]]}’ -X POST http://localhost:8501/v1/models/linear_model:predict在这里插入图片描述

    4.维护

    后续更新

    引用:https://www.cnblogs.com/xiximayou/p/12690757.html/https://blog.csdn.net/chenguangchun1993/article/details/104971811/https://zhuanlan.zhihu.com/p/64413178


    标签:

    上一篇: AngularJS4 如何设置Cookie 下一篇:
    素材巴巴 Copyright © 2013-2021 http://www.sucaibaba.com/. Some Rights Reserved. 备案号:备案中。