上云无忧 > 文档中心 > 百度智能云智能边缘 - 部署mnist手写数字识别模型
智能边缘
百度智能云智能边缘 - 部署mnist手写数字识别模型

文档简介:
本文介绍如何将一个mnist手写字模型通过BIE下发至边缘节点。 前提条件: 有一个可用的测试边缘节点设备,本案例使用一个2核8G的BCC云服务器作为测试设备。 按照快速入门教程,将测试边缘节点连接云端。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

本文介绍如何将一个mnist手写字模型通过BIE下发至边缘节点。

前提条件

  • 有一个可用的测试边缘节点设备,本案例使用一个2核8G的BCC云服务器作为测试设备。
  • 按照快速入门教程,将测试边缘节点连接云端。
  • 该模型是CPU模型,如果运行中报Docker Runtime错误,可以查看边缘节点Docker Runtime,如果是nvidia,尝试修改为runc试一下。
  • 该模型使用的tensorflow版本依赖avx指令,通过命令 more /proc/cpuinfo | grep flags 可查看cpu支持的指令集。无该指令的边缘设备将无法运行该模型,运行报错如下:

操作指南

导入配置项

  1. 进入配置管理
  2. 点击导入配置项
  3. 选择导入文件配置项-tfmnist.json
  4. 导入完毕以后,将增加一个名为 tfmnist 的配置项。

  1. 在内网环境下,可以先下载模型文件:tf_mnist.zip,再上传至内网的对象存储,最后修改配置项的下载地址为内网地址。

导入应用

  1. 进入应用部署
  2. 点击导入应用
  3. 选择导入文件应用-tf-mnist-app.json
  4. 导入完毕以后,将增加一个名为 tf-mnist-app 的应用。

  1. 在内网环境下,可以先下载镜像:registry.baidubce.com/aiot/tensorflow-serving:1.15-gpu-4.2,再上传至内网的镜像仓库,最后修改应用的镜像地址为内网地址。

设置目标节点

tf-mnist-app的应用详情界面,设置目标节点,如下图所示,设置标签以后,应用自动部署。部署完毕以后,部署状态为已部署

验证边缘AI服务

准备测试数据

通过SSH登录到边缘节点,新建一个test.json文件,在测试文件当中填入测试数据,可以通过以下命令完成。

# 创建test.json sudo vim test.json # 输入以下内容 {"instances": [{"images": [0.0, 0.0, 0.0,
 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 
0.0, 0.3294117748737335, 0.7254902124404907, 0.6235294342041016, 0.5921568870544434, 
0.2352941334247589, 0.1411764770746231, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.8705883026123047,
 0.9960784912109375, 0.9960784912109375, 0.9960784912109375, 0.9960784912109375, 
0.9450981020927429, 0.7764706611633301, 0.7764706611633301, 0.7764706611633301,
0.7764706611633301, 0.7764706611633301, 0.7764706611633301, 0.7764706611633301, 
0.7764706611633301, 0.6666666865348816, 0.2039215862751007, 0.0, 0.0, 0.0, 0.0, 0.0,
 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.26274511218070984, 0.44705885648727417,
 0.2823529541492462, 0.44705885648727417, 0.6392157077789307, 0.8901961445808411, 
0.9960784912109375, 0.8823530077934265, 0.9960784912109375, 0.9960784912109375,
 0.9960784912109375, 0.9803922176361084, 0.8980392813682556, 0.9960784912109375,
 0.9960784912109375, 0.5490196347236633, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.06666667014360428, 0.25882354378700256, 
0.05490196496248245, 0.26274511218070984, 0.26274511218070984, 0.26274511218070984, 
0.23137256503105164, 0.08235294371843338, 0.9254902601242065, 0.9960784912109375,
 0.41568630933761597, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.32549020648002625, 
0.9921569228172302, 0.8196079134941101, 0.07058823853731155, 0.0, 0.0, 0.0, 0.0, 0.0,
 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
 0.0, 0.08627451211214066, 0.9137255549430847, 1.0, 0.32549020648002625, 0.0, 0.0, 
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
 0.0, 0.0, 0.0, 0.0, 0.0, 0.5058823823928833, 0.9960784912109375, 0.9333333969116211,
 0.1725490242242813, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.23137256503105164, 0.9764706492424011,
 0.9960784912109375, 0.24313727021217346, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5215686559677124,
 0.9960784912109375, 0.7333333492279053, 0.019607843831181526, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 
0.03529411926865578, 0.803921639919281, 0.9725490808486938, 0.22745099663734436, 0.0, 
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
 0.0, 0.0, 0.0, 0.0, 0.0, 0.4941176772117615, 0.9960784912109375, 0.7137255072593689,
 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.29411765933036804, 0.9843137860298157, 0.9411765336990356,
 0.22352942824363708, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.07450980693101883, 0.8666667342185974, 
0.9960784912109375, 0.6509804129600525, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.011764707043766975,
 0.7960785031318665, 0.9960784912109375, 0.8588235974311829, 0.13725490868091583, 0.0, 
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
 0.0, 0.0, 0.0, 0.0, 0.14901961386203766, 0.9960784912109375, 0.9960784912109375, 
0.3019607961177826, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.12156863510608673, 0.8784314393997192, 
0.9960784912109375, 0.45098042488098145, 0.003921568859368563, 0.0, 0.0, 0.0, 0.0, 0.0,
 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
 0.5215686559677124, 0.9960784912109375, 0.9960784912109375, 0.2039215862751007, 0.0,
 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
 0.0, 0.0, 0.0, 0.0, 0.2392157018184662, 0.9490196704864502, 0.9960784912109375, 
0.9960784912109375, 0.2039215862751007, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.4745098352432251,
 0.9960784912109375, 0.9960784912109375, 0.8588235974311829, 0.1568627506494522, 0.0, 
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
 0.0, 0.0, 0.0, 0.0, 0.4745098352432251, 0.9960784912109375, 0.8117647767066956, 
0.07058823853731155, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]}], "signature_name": "predict_images"}

调用AI服务

在准备好测试数据以后,我们需要找出AI服务对外的ip地址,然后通过curl命令调用http服务,可以通过以下命令完成。

kubectl get pod -A -owide curl 10.42.0.21:8010/v1/models/tf-serving:predict -X POST
 -d@test.json # 因为前面做了端口映射,所以也可以直接用127.0.0.1这个地址访问服务 curl
 127.0.0.1:8010/v1/models/tf-serving:predict -X POST -d@test.json

最终执行结果如下图所示:

如上图所示,给出了测试数据从0~9的概率,其中为7的概率是0.99597472,可以对上述输出结果做二次处理,然后直接返回结果7。具体mnist数据可以参考官网。

相似文档
  • 1 前言: Paddle Serving依托深度学习框架PaddlePaddle,旨在帮助深度学习开发者和企业提供高性能、灵活易用的工业级在线推理服务。Paddle Serving 作为飞桨的服务化部署框架,长期目标就是为人工智能落地的最后一公里提供越来越专业、可靠、易用的服务。
  • 前言: 前文重点介绍了通过BIE将Paddle Serving部署至边缘,为了通用起见,使用了Paddle Serving的CPU镜像。本文重点介绍如何制作Paddle Serving的GPU镜像,并同样以yolov3模型进行验证。
  • 1 前言: 在Paddle Serving 当中,提供丰富的模型和部署示例,其中包含图像分类、目标检测、文字识别、图像分割、自然语言处理、个性化推荐等多种类型,具体模型信息可查看Model_Zoo。
  • 本章将使用已经开源的 ssd_mobilenet_v1_coco_2017_11_17 模型完整演示边缘视频AI的DEMO。 一、前提准备: 有一个边缘节点设备,本文使用的是宸曜 POC-351VTC,安装ubuntu-18.04-desktop-amd64。 有一个英特尔(Intel) 神经计算棒 Movidius 二代。
  • 本章将使用已经开源的 ssd_mobilenet_v1_coco_2017_11_17 模型完整演示边缘视频AI的demo。 一、前提准备: 有一个边缘节点设备,本文使用的是宸曜 POC-351VTC,安装ubuntu-18.04-desktop-amd64。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部