文字内容
1. Python 与 Visual Studio Code 在 人工智能应用中的最佳 Azure 实践 韩骏@formulahendry
2. 自我介绍 • 微软研发工程师 @ Visual Studio China • IoT • VS Code • VS Code 代码贡献者 • 多款 VS Code 插件作者 • “玩转VS Code”知乎专栏 & 微信公众号作者 https://zhuanlan.zhihu.com/vs-codehttps://github.com/formulahendry/955.WLB • Speaker @ 2018 微软技术暨生态大会 • CodeLab @ Google Developer Group • Speaker @ 2019 GitHub 中国官方见面会
3. 我开发的插件
4. Python 与人工智能 “Python的快速发展的一个主要增 长点来自于数据科学、机器学习和 学术研究。 “数据科学和机器学习在各种类型的 公司都逐渐成为主流,而Python成 为此用途的首选语言。” 来源: https://stackoverflow.blog/2017/09/14/python-growing-quickly/
5. 目录 •宠物识别 •垃圾分类 •展望未来
6. 宠物识别
7. 阿拉斯加雪橇犬 vs 西伯利亚哈士奇 惠比特犬 vs 意大利灵缇犬
8. 深度学习 狗 🐶 (0.96) “黑盒” 猫 🐱 Cat (0.03) 其他 (0.01)
9. 需要解决的问题 深度学习 • 相对于机器学习,严重依赖于高端机,大量的 GPU 运算 • 高端机的成本高 开发工具 • 复杂的工具链 • 搭建环境花费时间 深度学习 à Azure Machine Learning 开发工具 à Azure Notebook
10. Azure Machine Learning • 拥有不同运算性能的机器 • 降低成本,按需付费 • 支持不同的开源框架:TenserFlow、PyTorch、MXNet 等
11. Azure Notebook Jupyter Notebook on Azure • 免费 • 全托管 • 无需安装 • 无需配置
12. Workflow
14. Train image classification models 1. 2. 3. 4. 5. 6. 安装 Azure Machine Learning SDK 连接到 Azure Machine Learning 的 Workspace 创建远程运算资源 上传训练数据 准备 training script 把 training 任务提交到 Azure Machine Learning
15. 1. 安装 Azure Machine Learning SDK
16. 2. 连接到 Azure Machine Learning 的 Workspace
17. 3. 创建远程运算资源 —— NC6 GPU machines
18. 4. 上传训练数据
19. 5. 准备 training script
20. 6. 把 training 任务提交到 Azure Machine Learning 1. 创建 experiment 2. 创建 PyTorch estimator 3. 提交 training 任务
21. Deploy the model as a web service 1. 注册 model 2. 部署 model
22. 注册 model
23. 部署 model 1. 创建 scoring script 2. 配置 ACI container 3. 部署 model
24. 测试 web service
25. 如果我想要更强大的编辑功能呢?
26. Stack Overflow 2019 开发者调查
27. Visual Studio Code • 开源 • 跨平台 • 轻量级 • 智能提示 (IntelliSense) • 代码调试 • 内置 Git 支持 • 多语言支持 • 丰富的插件
28. VS Code 最热门的插件是?
29. 官宣!全球首秀 Visual Studio Code Python 插 件将提供 Jupyter Notebook 的原生支持! 将在九月底正式发布!
30. Python extension for VS Code • • • • • • • • • Jupyter Notebook 的原生支持 导入/导出 Jupyter Notebook 数据/图表可视化 变量查看器 IPython/Jupyter console 重构 IntelliSense 调试 实时的协作开发
31. Azure Machine Learning extension for VS Code • • • • • • 连接 AML 服务 管理 workspaces 提交 experiments 注册模型 部署 以及更多
32. VS Code 远程开发 • 允许开发者使用容器、远程机器(通过SSH)或者 WSL 作为开发环境进行开发。 • 发布于 PyCon US 2019
33. VS Code 远程开发 —— 容器
34. VS Code 远程开发 —— 远程机器
35. VS Code 远程开发 —— WSL
36. 垃圾分类
37. 垃圾分类的不同目标用户 • ToC: 微信小程序 • ToB: AI on the Edge
38. ToC: 微信小程序
39. 三种 Azure 的 AI 解决方案 Azure Machine Learning • Your data • Your model Azure Custom Vision • Your data • Our model Azure Computer Vision • Our data • Our model
40. 解决方案
42. 需要解决的问题 —— Enterprise Customers • • • • • • 延迟 数据隐私 成本 大规模部署 离线运行 支持不同的设备 • Linux, Windows • AMD64, ARM32v7, ARM64
43. Azure IoT Edge + AI 把 AI 运算下放到边缘计算节点。
44. 如何运作?
45. 问题迎刃而解 • • • • • • 延迟 数据隐私 成本 大规模部署 离线运行 支持不同的设备 • Linux, Windows • AMD64, ARM32v7, ARM64
46. Azure IoT Edge 多语言多服务支持 多语言支持: Python, C, C#, Java, Node.js Azure Services: • Azure Functions • Azure Stream Analytics • Azure Machine Learning • Azure Custom Vision
47. 使用 VS Code 进行开发 1. 2. 3. 4. 5. 使用 Azure Custom Vision 构建 image classifier 把 image classifier 导出为 Docker 项目 创建 IoT Edge solution 构建 IoT Edge solution 部署 IoT Edge solution 到边缘设备 https://docs.microsoft.com/en-us/azure/iot-edge/tutorial-deploycustom-vision
48. 展望未来
49. Azure Notebook 与 VS Code 各有所长 • Azure Notebook • 便捷性 • 连接到云端环境 • VS Code • 编辑功能 • 版本控制
50. 我们希望同时拥有以下的功能 • 使用浏览器开发的便捷性 • VS Code 全功能 • Code Anywhere
51. 未来就在眼前 • Cloud-Hosted Development Environments • Web 版 VS Code (Visual Studio Online)
52. 依托云的开发工具更强大 • 协作开发 • 远程开发 • 无需繁杂的安装与配置
53. Cloud-Hosted Development Environments
54. Web 版 VS Code (Visual Studio Online)
55. Thank you!