00:10:00 在本节中,演讲者解释了如何使用 Apple 的 Core ML 包将神经网络部署到 iOS 操作系统设备。为了将模型转换为 Core ML 格式,演讲者展示了如何使用 CoreML 工具导入各种类型的网络模型,包括 ONNX,以及如何为用作示例的蘑菇数据集指定预处理参数和类标签。演讲者还指出,Core ML 模型的工作方式与自然语言模型类似,带有编码器和解码器,并强调了两种格式在像素值和颜色偏差方面的一些差异。
Rohit Sharma 谈到了在微控制器上运行 ONNX 模型的挑战和机遇。他强调,虽然这些设备缺乏高性能服务器的资源,但由于硬件资源的改进和 AI 社区努力减小模型尺寸,针对微型设备的机器学习应用越来越多。 Sharma 讨论了两种用于在微控制器上轻松实现机器学习的工具:DeepSea,一种支持 Python 并使开发人员能够创建自定义 ML 算法的开源提前编译器,以及 Canvas,一种无代码/低代码平台,提供超过 70 个微型 ML 应用程序,可以根据用户的数据集进行定制。他为这些工具提供了两个用例,包括将手语手势转换为文字的可穿戴手套,以及用于语音辅助设备(如 Amazon Echo)的弱词检测。
00:00:00 在本节中,Rohit Sharma 讨论了在微控制器上运行 ONNX 模型的挑战和机遇,微控制器是依靠电池运行数月的微型设备。虽然这些设备不具备带有加速器或单板计算机的高性能服务器的计算资源,但越来越多的机器学习应用程序在微型设备上运行是由于 MCU 供应商不断改进硬件资源,而 AI 研究社区正在努力减小模型尺寸。 Sharma 解释说,所有微型 ML 应用程序都是边缘 AI 应用程序,但并非所有边缘 AI 应用程序都是微型 ML 应用程序,因为差异源于功耗。然后,他继续讨论使用 DeepSea 编译 ONNX 模型的过程,DeepSea 是一种开源、独立于供应商的深度学习库编译器和推理框架,专为包括微控制器、物联网和边缘设备在内的小型设备而设计。
00:25:00 在本节中,演讲者演示了使用 Microsoft 的 ML.NET 创建一个简单的机器学习模型的过程,该模型可以根据多年的经验预测薪水。他首先将数据拆分为训练集和测试集,使用 ML 上下文创建管道,并使用训练集训练模型。然后,他评估模型的指标并将其保存到 ONNX 模型中。之后,他展示了如何将 ONNX 模型整合到使用 ONNX 运行时进行推理的应用程序中。最后,他为应用程序创建一个输入容器并运行模型以获得分数。
00:30:00 在本节中,演讲者讨论了使用 ONNX 运行时的好处、过去使用过它的不同 Microsoft 团队,以及它如何改进他们的流程。他还谈到了在部署到 Windows 设备时使用 Windows ML,它在 win32 和 WinRT 应用程序中跨 Windows 系列设备可用,并使用 API 连接 ONNX 运行时。演讲者随后探讨了 Direct ML,它非常适合创建实时高度控制的机器学习 API,最适合游戏。他还强调了用于在浏览器或 nodejs 中运行 ONNX 模型的 ONNX JS,以及嵌入式学习库,它允许您开始使用没有完整操作系统或 Linux Mac 的设备。
Digit recognition is a simple task of recognising digits from 0 to 9. A CNN is trained on the MNIST dataset which gave a good accuracy of around 98% on the test set. Choosing the proper model and employing suitable regularisation technique, the model also performed well during inference with an accuracy of close to 98%. The whole model is then...
手机中的神经网络:通过 ONNX 从训练到部署
手机中的神经网络:通过 ONNX 从训练到部署
在这段关于“手机中的神经网络:通过 ONNX 从训练到部署”的视频中,演示者演示了如何使用 iNaturalist 社区 API 训练神经网络,以根据蘑菇种类是有毒还是可食用来识别它们。然后,他们解释了如何使用 Apple 的 Core ML 包在 iPhone 上部署模型。演讲者还指出了在将训练模型导入 Core ML 之前将其格式化为 ONNX 文件格式的重要性。演讲者强调 EfficientNet 将成为未来图像分类的模型,模型选择需要谨慎,并建议为植物、动物或鸟类构建分类器。
MCU 上的 ONNX
MCU 上的 ONNX
Rohit Sharma 谈到了在微控制器上运行 ONNX 模型的挑战和机遇。他强调,虽然这些设备缺乏高性能服务器的资源,但由于硬件资源的改进和 AI 社区努力减小模型尺寸,针对微型设备的机器学习应用越来越多。 Sharma 讨论了两种用于在微控制器上轻松实现机器学习的工具:DeepSea,一种支持 Python 并使开发人员能够创建自定义 ML 算法的开源提前编译器,以及 Canvas,一种无代码/低代码平台,提供超过 70 个微型 ML 应用程序,可以根据用户的数据集进行定制。他为这些工具提供了两个用例,包括将手语手势转换为文字的可穿戴手套,以及用于语音辅助设备(如 Amazon Echo)的弱词检测。
利用 ONNX 机器学习的力量 - Ron Dagdag
利用 ONNX 机器学习的力量 - Ron Dagdag
在本视频中,Ron Dagdag 深入探讨了机器学习框架的重要性,尤其是 ONNX,它促进了深度学习框架和部署之间的互操作性。他概述了获取 ONNX 模型的方法,包括转换现有模型、使用 Azure 的自动化机器学习训练模型以及使用 Azure 的自定义视觉服务。 Dagdag 强调是在云端还是在边缘部署机器学习模型的决定,他建议利用 ONNX 使流程更加无缝。此外,他还介绍了使用 Microsoft 的 ML.NET 创建机器学习模型的过程,并演示了如何将 ONNX 模型整合到使用 ONNX 运行时进行推理的应用程序中。 Dagdag 还探索了 ONNX 作为机器学习的开放标准、其各种平台和语言以及使模型更小的工具。
利用 ONNX 的机器学习能力 |罗恩莱尔 Dagdag | Conf42 机器学习 2021
利用 ONNX 的机器学习能力 |罗恩莱尔 Dagdag | Conf42 机器学习 2021
在此视频中,Ron Dagdag 讨论了使用 ONNX(开放神经网络交换)作为机器学习模型的开放格式的好处,特别是在将模型部署到不同端点(例如手机或云基础设施)时。他介绍了将模型转换为 ONNX 可能有用的场景,例如低性能或组合在不同框架上训练的模型,并描述了如何以 ONNX 格式下载 RestNet 等流行模型。此外,他还讨论了在边缘运行机器学习模型的好处,以及通过在云中注册模型并对其进行版本控制来管理模型的重要性。他演示了如何将模型转换为 ONNX 以及如何在 Python 中使用 ONNX 运行时进行推理,最后强调了 ONNX 在使数据科学家和软件工程师能够有效合作方面的作用。
使用 ONNX Runtime Web 在 JavaScript 中进行推理!
使用 ONNX Runtime Web 在 JavaScript 中进行推理!
该视频介绍了通过 Next.js 模板在浏览器中使用 ONNX Runtime Web,该模板提供了一个 UI,用于在预选图像上运行推理。演示了使用 RGB 值和维度创建将图像数据转换为张量的过程。探索了模型辅助函数,它使用模型路径、执行提供程序和会话选项将预处理数据传递到 ONNX 推理会话。模型的提要使用输入名称和张量对象创建,并传递给 session.run 函数以获得前五个结果。第一个结果填充图像显示,同时提供 webpack 配置和使用 ONNX 运行时节点进行服务器端推理的说明。
2020 年夏季 Web 和机器学习 W3C 研讨会
ONNX.js - 在浏览器和 Node.js 中运行 ONNX 模型的 Javascript 库
ONNX.js - 在浏览器和 Node.js 中运行 ONNX 模型的 Javascript 库
ONNX.js 是一个 JavaScript 库,允许用户在浏览器和 Node.js 中运行 ONNX 模型。它使用各种技术在 CPU 和 GPU 上优化模型,并支持分析、日志记录和调试以便于分析。该库支持所有主要浏览器和平台,并使用 web worker 实现并行化,以在多核机器上获得更好的性能。使用 WebGL 访问 GPU 功能,它提供了显着的性能改进并减少了 CPU 和 GPU 之间的数据传输。尽管需要进一步的优化和运营商支持,但演讲者鼓励社区贡献力量来改进 ONNX.js。
如何使用 ONNX.js 在浏览器中运行 PyTorch 模型
如何使用 ONNX.js 在浏览器中运行 PyTorch 模型
该视频解释了使用 JavaScript 和 ONNX.js 在浏览器中运行 PyTorch 模型的优势,包括更好的响应时间、可扩展性、离线可用性和增强的用户隐私。该视频还介绍了将 PyTorch 模型转换为 ONNX 模型、将其加载到 ONNX.js 会话并在浏览器中运行推理的过程。还讨论了数据准备、调试和扩充,演讲者演示了如何使用数据扩充技术使模型更加稳健。该视频提供了示例代码和演示网站,供用户自己试用该模型。
使用 ONNX 运行时演示在 CPU 上进行数字分类
使用 ONNX 运行时演示在 CPU 上进行数字分类
Open Neural Network Exchange (ONNX) 为深度学习和机器学习模型提供了一种开源格式。我们可以在我们喜欢的任何框架中训练我们的模型,然后将模型转换为 ONNX 格式。借助 Microsoft 的 ONNX 运行时,我们可以在任何环境中使用 onnx 模型运行推理会话,这使我们的实施速度稍快一些。这是相同的简单演示。该模型经过训练,可以使用带有 PyTorch 的 MNIST 数据集来识别数字。我正在 Linux CPU 上运行推理会话。
https://github.com/NagarajSMurthy/Digit-recognizer
使用 ONNX 和 DJL 在 JVM 上进行数十亿次 NLP 推理
使用 ONNX 和 DJL 在 JVM 上进行数十亿次 NLP 推理
一家媒体情报公司的 CTO 讨论了他们如何在机器学习管道中使用 JVM、DJL 和 Hugging Face 进行 NLP 标记化,以挖掘各种用例的媒体格局。随着他们的产品功能朝着这个方向发展,他们的机器学习和建模系统已经成为保持一切运行的重要组成部分,因为他们已经达到了 CPU 无法满足的规模。他们已经从使用 32 位浮点模型切换到 16 位,这使效率提高了 3%,但在此过程中遇到了转换错误和罕见的内存泄漏,他们通过替换几个实现解决了这些问题。他们通过添加 GPU 驱动的 CI 并设置高级 Prometheus 逻辑堆栈来监控各种推理的延迟和标记化延迟,从而提高稳健性。他们未来的计划包括通过创建多 GPU 设置来提高 GPU 效率并向系统添加更多模型。
ONNX 和 JVM
ONNX 和 JVM
Java 虚拟机 (JVM) 上的 ONNX 支持至关重要,因为 ML 模型在几乎每个应用程序中都变得越来越重要。由于 Java 是用于构建实时软件应用程序的最大平台之一,因此必须在 Java 或 C# 等编程语言中提供支持。 Oracle 的目标是在 Java 中提供 ONNX 运行时 C API,通过在 C API 上使用 Java API 的薄层,实现轻松部署,并将性能影响降至最低。演讲者还讨论了一个用于从 Java 编写 ONNX 模型的开源库,介绍了一个逻辑回归图示例,并邀请对 Trippo 中的 ONNX 导出内容做出贡献,同时讨论了 ONNX 元数据格式缺乏标准化的问题。