工件视觉检测
本笔记本介绍了从数据导出、模型训练到模型部署的一套完整流程,并且提供了一套基本的视觉分类模型。根据指令对本笔记本中的相应代码区域进行修改并执行,即可生成并且部署一套视觉检测服务。同学们需要根据实际的数据情况,对模型进行调优。
RestfulAPI
本平台通过RestfulAPI的方式进行设备、Web端、服务器端的交互。Swagger UI是一款定义、展示和调用RestfulAPI借口的工具。本平台已经集成了Swagger UI。大家可以通过 http://<服务器地址>:5000/api/ui 了解所有的API服务
导出数据
在本小节,我们将利用Python调用平台的RestfulAPI导出系统中的图片。
首先,我们导入相应的Python包
import json
import os
import requests
import io
import PIL
import PIL.Image
import math
由于我们的服务是通过docker-compose启动的,我们需要设置相关容器的基础URL。具体情况可以查看云平台的docker-compose.yaml
API_BASE_URL = 'http://backend-server-container:9090/api/'
TF_SERVING_BASE_URL = 'http://image-serving-container:8501/'
然后,我们通过调用/api/image/count服务查看任务类别中的图片数量。
task_id='60b57a02b08c790b7af038a8' # 根据自己平台中的实际任务类别进行设置
num_images = requests.get(
url=API_BASE_URL+'image/count',
params=dict(
task_category_id=task_id
)
).json()
print('该任务类别下的图片数量:',num_images)
接着,我们定义函数查看图片记录的详细信息
import pprint
def get_image_records(task_id, offset=0, limit=5):
resp = requests.get(
url=API_BASE_URL+'image',
params=dict(
task_category_id=task_id,
offset=offset,
limit=limit
)
)
if resp.status_code == 200:
return resp.json()
else:
raise RuntimeError(resp.text)