代码|“探店”低代码——它真的很厉害?
关注我们
(本文阅读时间:10分钟)
我是?名?龄开发?员 , 历经 LOGO , Pascal , C/C++ , Java , C#/F# , Java , Python , Type , Rust , Go 等语?的磨练 , 通俗来说就是?位发量少的码农 。 我第?次听到低代码是在2017年 , 感受是什么?内?话是我没有担?我会丢了?作的 , 总觉得是?个玩具 。 经过?年的发展 , 低代码真的能完成了所有业务?作了吗?接下来我去帮?家“探店” 。
从需求开始
我这?年专注在移动应?和机器学习的技术上 , 我也是?名星球?战迷 , 那我们就来做?个基于计算机视觉的移动应?看看 。
文章图片
从传统的做法上去分析 , 这需要通过深度学习来完成物体分类的识别 , 然后通过云端发布服务 , 最后通过跨平台移动技术完成应?的开发 。 但从低代码?度?是怎么完成呢?
文章图片
我们通过微软的?定义视觉服务(CustomVision) 完成了物体分类的?作 , 再通过 Custom Vision 直接?成了模型容器代码直接做成服务发布到 Azure Function , 最后通过 Power Apps 完成移动应?的开发 。
撸起袖子干
▌零代码的自定义计算机视觉
文章图片
计算机视觉是??智能领域最成熟的技术 , 算法有很多 , 但对于不是从事该领域的开发?员从开发环境到深度学习框架和算法都需要重新学习 。 通过微软的?定义视觉 , 你?需要任何??智能的知识 , 你只需要上传好图像分类或者物体识别的图?就可以通过云端快速?成计算机视觉的模型 。 ?且这些模型你可以导出离线部署到云端/物联?/移动设备上 。
以下是 4 步完成计算机视觉
1. 进? Azure Portal 通过添加资源组 (这?你需要有?个Azure账号) , 从 AI+Machine Learning 创建?定义视觉服务
文章图片
2.进??定义视觉的?户 , 创建?个图像分类功能的项?
文章图片
文章图片
?定义视觉?持图像分类和物体识别 , 你可以根据??的需要选择 , 这?选择图像分类(Classification) 选择识别多类型单标签(Single tag per image) 建议选择General(compact), 这个选项?持多种模型类型 的导出 , 如 TensorFlow, ONNX, CoreML 适应部署到不同终端 , 和云端应? 。
3.创建成功后 , 进?后创建 BB8 , C3PO , R2D2 三个?件夹 , 并基于你找到的图?对应上传到对应的?件夹中
文章图片
文章图片
4.点击进?训练
文章图片
训练成功后 , 你可以看到相关的训练结果
文章图片
找?张图?测试?下
文章图片
这太神奇了 , 你根本不需要任何??代码 , 3步就完成了计算机视觉的?作 , 赚?了 。 这可以让你花更多时间在应?场景上 。
- 微软的?定义视觉 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
- 安装 Azure Function CLI https://docs.microsoft.com/en-us/azure/azure-functions/functions-run-local
现在针对业务的前端的应?场景很多 , 特别互联?时代 , iOS / Android 的移动应?就?常重要 。 过往团队要完成跨平台移动应?的开发 , 需要?到 Flutter/Xamarin/ReactNative 等 。 但 Power Apps 就是针对业务应?场景的低代码应?产品 。 你可以通过它结合你的业务发布前端应? 。 Power Apps 是?常适合没有代码基础的? , 你可以通过拖拽控件完成 UI 的开发 。 在业务上你可以结合你的业务逻辑和数据进?调? 。 接下来我们?起看看如何结合我们上?基于计算机视觉的 Azure Func 做?个?常简单的应? ( Power Apps 也?带 了 AI Builder ?具 , 可以?常?便地结合之前提到的?定义服务完成相关?作 , ?这个例?是为了更好地说明问题 )
1. 打开 Power Apps 门户 , 创建一个移动手机应用
文章图片
选择创建一个 Phone 应用
文章图片
2. 拖拽相关控件生成一个界面
文章图片
3. 回到 Power Apps 门户 ,创建一个自定义的链接器
文章图片
文章图片
这里有个关键点 , 就是添加 Action 时因为传输是一个二进制格式 , 所以 Request 的 Body 需要设置为 "",而不是一个 Json , 并要设置成二进制
文章图片
4. 回到刚才创建的移动手机应用 , 添加刚创建好的数据源
文章图片
5. 点击按钮控件 , 在公式上输入如下指令
文章图片
文章图片
写了二行代码 , 就完成了过往一堆繁琐的工作 , 发布了一个计算机视觉的应用 。 这缩短了很多对接的时间 , 对于业务人员是非常有必要的 , 你不仅可以完成人工智能的操作 , 更可以对接更多业务数据 , 展现更多的商业元素 。
- Power Apps 门户 https://make.preview.powerapps.com/
?????????????????????????
“探店”小结
2022年的低代码“探店” , 让我有了更深的体会 , 把过往只能由开发者能做的东? , 都可以给到任何? 。 低代码已经经历了从概念 , 能? , 到可?的阶段。 “??能编程”终于能实现了 。 低代码让更多的?能更?效发布更多的应?场景 , 结合云端加快了企业的数字化转型 。
相关资源
- Azure 资源免费申请 https://azure.com/free
- Azure 学?资源免信?卡申请 https://aka.ms/studentgetazure
- 了解更多关于?定义计算机视觉 https://docs.microsoft.com/zh-cn/azure/cognitive-services/custom-vision-service/overview
- 了解更多关于 Azure Functions 的相关知识 https://docs.microsoft.com/zh-cn/azure/azure-functions/
- 了解更多关于 Power Apps 的相关知识 https://docs.microsoft.com/zh- cn/powerapps/powerapps-overview
同时 , 喜欢的内容也不要忘记转发给你的小伙伴们 , 谢谢你的支持!
关注微软中国MSDN
【代码|“探店”低代码——它真的很厉害?】了解?定义计算机视觉
推荐阅读
- IT|网约车市区“飞速”撞车 酿惨烈车祸 T3出行回应
- 萧亮|疫情防控发布会上的“无声战士”,如何用手语精准翻译专业术语?
- 悖论|霍金“黑洞悖论”世纪谜题将解开?科学家发现“量子毛发”
- 数字化|美信时代CEO胡建强:产业数字化升级的服务者要练好这些“内功”
- 网络|@运营商工程师,今天你线上“充电”了吗?
- 警告!|“错过”315:网曝螺蛳粉酸豆角也是“踩”出来的
- 电子商务|支付宝上线“游戏锁”:未成年人无法充值 已接入70家游戏厂商
- 庆阳|征集令 | “东数西算”地方行正式启动!首站庆阳
- 视点·观察|新茶饮“下凡” 一点点们“瑟瑟发抖”
- 小行星|“华中科技大星”来了!
