“探店”低代码——它真的很厉害?( 二 )


  • 微软的?定义视觉 https ://www.customvision.ai/
▌ 基于 PaaS 的 Azure Function
通过 CustomVision 不仅可以?成计算机视觉模型 , ?且可以基于不同的应?场景进?结合模型?成应?代码 。 你通过 Export 就可以导出 。 现在云原?的技术很多 , Serverless 就是?常受欢迎的云端 PaaS 。 Azure 中的 Azure Functions 就是?种?服务器解决?案 , 可以使?户减少代码编写、减少需要维护的基础结构并节省成本 。 ?需担?部署和维护服务器 , 云基础结构提供保持应?程序运?所需的所有最新资源 。 你只需专注于对你最重要的业务代码 。 通过 Custom Vision 导出 Container 的代码 , 通过 Visual Studio Code 就可以完成 Azure Function 的代码编写 , 测试 , 和部署?作 。 以下是相关的步骤 。
安装好 Azure CLI 以及 Azure Function CLI
1. 打开 Visual Code , 安装好 Azure Tools 插件 , 并登录好相关的 Azure 账号
“探店”低代码——它真的很厉害?
文章图片

2. 打开 Azure Tools 插件下 , Azure Functions 下选择好?件夹 , 创建?个新的 Azure Function (我这?以 Python 开发环境为例)
“探店”低代码——它真的很厉害?
文章图片

3. 把从?定义视觉导出的代码 , 放到 Azure Function 的?件夹中 , 并修改 init.py
“探店”低代码——它真的很厉害?
文章图片

分别把导出的 labels.txt , model.pb , predict.py 放到指定?件夹中
“探店”低代码——它真的很厉害?
文章图片

替换 __init__.py 内的?件
import logging import azure.functions as func import iofrom PIL import Imagefrom click import format_filenamefrom flask import Flask, jsonify
from .predict import initialize, predict_image, predict_url
def main(req: func.HttpRequest) -> func.HttpResponse:logging.info('Python HTTP trigger function processed a request.')
results = "{}"try:image_bytes = req.get_body image = Image.open(io.BytesIO(image_bytes))
app = Flask(__name__)initialize
with app.app_context: results = predict_image(image)score = 0.0name = ''for item in results['predictions']:if item['probability']>score:score = item['probability']name = item['tagName']results = jsonify(tagName = name ,tagScore = score)results = results.get_data(as_text=True)
except Exception as e:logging.info(f'exception: {e}')pass
logging.info('Image processed. Results: ' + name)return func.HttpResponse(results, status_code=200)
4. 尝试在本地测试
“探店”低代码——它真的很厉害?
文章图片

通过 Postman 进行测试
“探店”低代码——它真的很厉害?
文章图片

5. 部署到 Azure 上
通过 Postman 进行测试
“探店”低代码——它真的很厉害?
文章图片

对比起传统对模型应用的做法 , 你可以更简单地利用自定义视觉的服务 , 生成应用场景的代码 , 并利用 Azure Function 部署作为接口给任意的应用场景调用 , 消除了很多繁琐的工作 。
  • 安装 Azure CLI https://docs.microsoft.com/en-us/cli/azure/install-azure-cli

    特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。