- 微软的?定义视觉 https ://www.customvision.ai/
通过 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 内的?件
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小时内删除。
