说明:写本文的目的主要是验证如何在Jupyter Notebook中通过API调用机器学习模型服务。

1、环境说明

CentOS7(部署在VMware Workstation Pro中的虚拟机)
需要安装有docker

2、前提条件:镜像准备

部署了图形检测服务的镜像:codait/max-image-caption-generator
Github地址:https://github.com/IBM/MAX-Image-Caption-Generator

该模型识别出COCO数据集中80个不同的高级对象类的图像中存在的对象。

部署了Jupyter服务的镜像:onnx/onnx-ecosystem
Github地址: https://github.com/onnx/onnx-docker/tree/master/onnx-ecosystem

由于CentOS中未安装jupyter,因此直接使用一个包含jupyter的镜像,在使用该镜像前使用了其它镜像,但是可能存在包安装不成功的问题。

3、启动镜像

docker run -it -p 5000:5000 codait/max-image-caption-generator

该容器提供的图像检测服务的地址为http://宿主机IP:5000/model/predict

docker run -p 8888:8888 onnx/onnx-ecosystem

4、在Notebook中调用图像检测服务

! pip install -q matplotlib Pillow requestsimport io
from PIL import Image
import matplotlib
from matplotlib import pyplot as plt
import matplotlib.patches as patches
import requestsdef call_model(input_img, local_port=None):"""Takes in input image file path, posts the image to the model and returns face bboxes and emotion predictionsIf local port is not specified, uses the long running instance.If local port is specificed, uses the local instance."""if local_port:url = 'http://192.168.64.242:'+ str(local_port)+'/model/predict'else:url = 'nothing'files = {'image': ('image.jpg', open(input_img, 'rb'), 'images/jpeg') }r = requests.post(url, files=files).json()return rimg_path = './dog'
image = Image.open(img_path)
imagemodel_response = call_model(img_path, 5000)import json
print(json.dumps(model_response, indent=2))

执行后生成的标题如下所示:

三个最大概率的标题基本含义都是“一只微笑的哈巴狗在滑板上”,可以看出成功检查到了狗狗和狗狗的表情,但是将地板识别为滑板。

{"status": "ok","predictions": [{"caption": "a small pug dog standing on a skateboard .","index": "0","probability": 0.0010022024578866463},{"caption": "a small pug dog standing on top of a skateboard .","index": "1","probability": 0.0006507893851378613},{"caption": "a small pug dog sitting on a skateboard .","index": "2","probability": 0.0005334585197032779}]
}

代码执行过程截图如下所示:

在Jupyter Notebook中调用ML模型服务图像标题生成器相关推荐

  1. 在Tensorflow中使用深度学习构建图像标题生成器

    by Cole Murray 通过科尔·默里(Cole Murray) 在Tensorflow中使用深度学习构建图像标题生成器 (Building an image caption generator ...

  2. 【Python】(2022.07.03)在Jupyter Notebook中调用Stata17并绘制3D图展示回归结果的边际效应

    文章目录 背景介绍: 实现结果 安装过程 安装stata_setup包 检查是否安装成功 常见问题 调用stata 常见问题 1. stata安装在哪 2. 返回报错:TypeError: init( ...

  3. jupyter调用py文件_解决Jupyter notebook中.py与.ipynb文件的import问题

    在jupyter notebook中,因为其解析文件的方式是基于json的,所以其默认保存的文件格式不是.py而是.ipynb.而.ipynb文件并不能简单的import进.py或者.ipynb文件中 ...

  4. 在Jupyter Notebook中实现图像检测服务的调用

    1.环境说明 CentOS7(部署在VMware Workstation Pro中的虚拟机) 需要安装有docker 2.前提条件:镜像准备 部署了图形检测服务的镜像:codait/max-objec ...

  5. python中两个文件如何互相传参_argparse模块如何在jupyter notebook中用于传参?

    作者:于晨晨 研究方向:nlp 发表于公众号:AI技术日常 在python代码文件中,通常需要传参,传参就需要经常使用argparse.使用argparse模块在py文件中是正常的,但是jupyter ...

  6. Jupyter notebook中自定义支持天软TSl语言的魔术命令

    自定义支持TSL的魔术命令 前言 功能 使用范例 核心代码 相关链接 前言 越来越习惯在jupyter notebook中进行数据分析,但是平时也离不开天软TSL,频繁在两者之间切换了切换去也麻烦,在 ...

  7. Python 基础 之 jupyter notebook 中机器学习的简单入门书写数字识别 demo 操作学习

    Python 基础 之 jupyter notebook 中机器学习的简单入门书写数字识别 demo 操作学习 目录 Python 基础 之 jupyter notebook 中机器学习的简单入门书写 ...

  8. python非线性最小二乘拟合_非线性函数的最小二乘拟合——兼论Jupyter notebook中使用公式 [原创]...

    突然有个想法,利用机器学习的基本方法--线性回归方法,来学习一阶rc电路的阶跃响应,从而得到rc电路的结构特征--时间常数τ(即r*c).回答无疑是肯定的,但问题是怎样通过最小二乘法.正规方程,以更多 ...

  9. Jupyter lab add kernel Python+Julia+R 【jupyter Notebook 切换Python环境】and【在jupyter Notebook中安装第三方库】

    新增虚拟环境 conda create -n py2 python=2.7 进入python2的环境 conda activate py2 安装python2的内核并应用 python2 -m pip ...

最新文章

  1. 将大核卷积分三步,清华胡事民、南开程明明团队全新视觉骨干VAN,超越SOTA ViT和CNN...
  2. Uva 10217 概率
  3. 黑盒法测试c语言,黑盒测试用例练习题.pdf
  4. wp insert post 插入文章到数据库
  5. 2018.9--2019.7 Java开发工作中的经验和教训之db2数据库操作
  6. 【UML】用例图Use Case diagram(转)
  7. python矩阵转置与zip(*)的使用
  8. WEB标准有什么好处?
  9. JavaScript学习笔记——正则验证
  10. 10个常用的python可视化工具
  11. 将excel多项式拟合公式放在python里重新计算结果完全不一样||excel线性拟合出来的公式明显不对||用excel拟合出多项式后python中带入值计算完全不对
  12. Tk-Mybatis(通用mybatis)简单使用
  13. 与卡耐基梅隆大学博士交流笔记
  14. 50套电子看板,数据大屏设计,数据展示模板,大屏可视化,大数据分析平台,ui设计模板
  15. 1001 害死人不偿命的(3n+1)猜想 (15 分) (MyFirstCSDNBlog~)
  16. Win7系统解决无法打开任务管理器
  17. EgretInspector谷歌浏览器扩展
  18. 音乐计算机编程,计算机音乐编程的基本类型研究
  19. Nmap常用命令及扫描原理
  20. 格网DEM生成不规则三角网TIN

热门文章

  1. 计算机中加密文件找不见,文件夹保护3000找不到文件夹加密记录怎么办?
  2. 一部分 数据 迁移_超原版速度110倍,针对PyTorch的CPU到GPU张量迁移工具开源
  3. python有道云笔记_你很需要的,一个一键导出「有道云笔记」所有笔记的功能
  4. hadoopsdk使用_Hadoop的一些基本操作
  5. 机器学习算法_机器学习之EM算法和概率图模型
  6. HNU 程序设计 飞机起飞时间安排
  7. hnu 暑期实训之回文串
  8. 可能是阿里云学生成长计划续费资格考试最全的答案资料
  9. 数据结构 2-2 线性表的顺序表实现
  10. (Node*)malloc(sizeof(Node))的理解