Open Neural Network Exchange (ONNX) is an open standard format for representing machine learning models. ONNX is supported by a community of partners who have implemented it in many frameworks and tools. The ONNX Model Zoo is a collection of pre-trained, state-of-the-art models in the ONNX format contributed by community members like you...
本次演讲将分享 ONNX 运行时 1.10-1.12 版本的亮点,包括有关显着性能改进、功能和平台(包括移动和 Web)的详细信息。 Ryan Hill 过去 4 年一直在 AI Frameworks 团队工作,主要从事运算符内核、C API 和动态加载执行提供程序方面的工作。在此之前,他在 Office PowerPoint 团队工作,其中他最广为人知的作品是许多幻灯片幻灯片过渡。为了好玩,他喜欢尝试使用最新的 C++ 功能并遇到内部编译器错误。
在视频中,软件工程师 Ryan Hill 讨论了 ONNX Runtime 的各种功能和更新,ONNX Runtime 是一种广泛使用的跨平台运行时,可以针对多个 CPU 架构。他重点介绍了添加到 ONNX 运行时的最新功能,例如直接调用运算内核的能力以及转置优化器和小尺寸优化等性能改进。 Hill 还谈到了 ONNX Runtime 的执行提供程序,它可以在各种硬件上实现最佳性能,以及支持运行时 NHWC 转换的移动包的发布。视频还介绍了对布局敏感的运算符支持、Xamarin 对跨平台应用程序的支持、ONNX Runtime web 以及专注于模型前后处理工作的 ONNX Runtime 扩展库,包括文本转换和数学运算,目前专注于NLP、视觉和文本领域。
00:00:00 在本节中,从事 ONNX Runtime 工作约四年的软件工程师 Ryan Hill 讨论了 ONNX Runtime 及其新版本的功能。他强调 ONNX Runtime 是一个跨平台的运行时,可以针对多个 CPU 架构,并具有多种编程语言的语言绑定。它被包括微软在内的多个行业广泛使用,在生产中有超过 160 个模型。 Ryan 还讨论了最新版本中添加的新功能,例如能够直接从模型运行调用外部调用运算内核,以及能够将外部初始化程序作为字节数组提供给模型推理。此外,Ryan 还谈到了最新版本的性能改进,例如转置优化器和小尺寸优化功能。最后,他强调了 ONNX Runtime 的执行提供程序,使其能够在各种硬件上以最佳方式执行,其移动包的发布现在支持运行时的 NHWC 转换。
00:05:00 在本节中,视频介绍了 ONNX 运行时的新功能和更新,包括布局敏感的运算符支持和 Xamarin 对 Android 和 iOS 上跨平台应用程序的支持。此外,ONNX Runtime web 提供了一个单一的 C++ 代码库,编译成 web assembly,速度更快,使用的内存更少,现在有一个 ONNX Runtime 扩展库,专注于模型前后处理工作,允许用户做这项工作完全在模型运行调用中进行。该库包括文本转换、数学运算,目前专注于 NLP、视觉和文本领域。 Microsoft Office 团队目前正在使用这个扩展库。
00:30:00 在本节中,Microsoft 的首席软件工程师 Dmitry Smith 讨论了 ONNX Runtime 1.12.0 版中的性能改进。客户已与 Microsoft 联系,要求降低 CPU 延迟和推理使用率,这促使了改进。该团队专注于减少推理期间的内存分配并消除不必要的日志记录,并对代码编写方式进行了更改。这些改进导致某些情况下的延迟减少了两倍或更多,并且计划在未来的版本中进一步改进,例如增强缓存局部性和线程池利用率。
ONNX 模型动物园 |教程 9 |开放神经网络交换 | ONNX
ONNX 模型动物园 |教程 9 |开放神经网络交换 | ONNX
ONNX Model Zoo 是一组预训练模型,用于图像分类、对象检测以及语音和音频处理等不同任务。预训练模型可作为 ONNX 文件下载,并可与任何框架或 ONNX 运行时一起使用以进行推理。此外,Azure ML 等云平台提供了类似的功能,用户可以在其中上传自己的数据并训练模型以下载为 ONNX 文件。下一个视频将展示如何使用 ONNX Model Zoo 中的预训练模型进行手写数字识别。
ONNX 模型动物园演示 |教程 10 |开放神经网络交换 | ONNX
ONNX 模型动物园演示 |教程 10 |开放神经网络交换 | ONNX
该视频教程展示了如何使用ONNX Model Zoo通过 ONNX 运行时对 ONNX 模型执行推理。演示者引导观众完成创建虚拟环境、安装必要软件包、从 ONNX Model Zoo 下载 MNIST 手写模型以及编写用于推理的 Python 脚本的过程。该演示显示预测时间很快,并鼓励用户直接从 ONNX Model Zoo 下载模型。该视频预告了下一个教程,该教程将介绍如何将 Python 模型转换为 TensorFlow。
PyTorch 到 Tensorflow 演示 |教程 11 |开放神经网络交换 | ONNX
PyTorch 到 Tensorflow 演示 |教程 11 |开放神经网络交换 | ONNX
该视频演示了如何使用 ONNX 将 PyTorch 模型转换为 TensorFlow 格式。该过程涉及在 PyTorch 中训练模型,将其保存为 .pth 格式,然后将其转换为 ONNX 格式,最后将其转换为 TensorFlow 格式。通过使用 MNIST 数据集的手写数字分类模型详细显示转换过程,并使用示例图像测试生成的 TensorFlow 模型。该视频还简要介绍了将模型从 Caffe2 转换为 ONNX,并建议用户进一步探索 ONNX。功能。资源部分提供了笔记本代码,供用户跟随。
Netron 是查看神经网络、深度学习和机器学习模型的工具
快速了解 Netron
快速了解 Netron
在视频中,演示者概述了 Netron,这是一种用于查看和分析机器学习模型的工具。 Netron 支持多种格式,可以安装在多个平台上。演示者演示了如何启动 Netron 并浏览多个示例模型,强调了该工具的功能和局限性。虽然 Netron 对于探索更简单的网络架构很有用,但演示者建议它可以从其他功能中受益,以可视化更复杂的模型。总的来说,主持人推荐 Netron 作为检查和理解机器学习模型的有用工具。
Netron - 网络可视化工具|机器学习 |数据魔法
Netron - 网络可视化工具|机器学习 |数据魔法
Netron 是一个 Python 库,可帮助用户直观地探索和检查深度学习模型的结构和参数。它是一个开源库,提供示例模型供分析,安装过程简单。只需两行代码,用户就可以安装 Netron 并使用它来可视化神经网络结构、激活函数、池化层、卷积层以及在给定机器学习模型的每一层传递的所有属性。 Netron 提供了一个易于使用的界面,允许用户将可视化导出为 PNG 文件并探索不同的功能和选项。
我们如何在 Zetane 中使用 ONNX 以更少的反复试验更快地完成机器学习项目
我们如何在 Zetane 中使用 ONNX 以更少的反复试验更快地完成机器学习项目
Zetane Systems 的联合创始人兼 CTO Patrick Saitama 讨论了在其公司的新产品中使用 ONNX 解决与 AI 黑盒问题相关的问题的价值。 Zetane 的引擎允许对 ONNX 模型进行探索和检查,从而深入了解模型与数据的交互,并制定更具决定性的策略来提高其质量。给出的示例展示了 Zetane 的引擎如何通过检查无线电层并添加更多标记为无障碍的隧道图像来帮助调试自动驾驶火车模型。 Zetane 还包括用于动态检查内部张量和拍摄模型快照以供日后调查的工具。此外,Zetane 的新引擎允许安装更大的模型,例如 YOLOv3。
ONNX 运行时的新功能
ONNX 运行时的新功能
本次演讲将分享 ONNX 运行时 1.10-1.12 版本的亮点,包括有关显着性能改进、功能和平台(包括移动和 Web)的详细信息。 Ryan Hill 过去 4 年一直在 AI Frameworks 团队工作,主要从事运算符内核、C API 和动态加载执行提供程序方面的工作。在此之前,他在 Office PowerPoint 团队工作,其中他最广为人知的作品是许多幻灯片幻灯片过渡。为了好玩,他喜欢尝试使用最新的 C++ 功能并遇到内部编译器错误。在视频中,软件工程师 Ryan Hill 讨论了 ONNX Runtime 的各种功能和更新,ONNX Runtime 是一种广泛使用的跨平台运行时,可以针对多个 CPU 架构。他重点介绍了添加到 ONNX 运行时的最新功能,例如直接调用运算内核的能力以及转置优化器和小尺寸优化等性能改进。 Hill 还谈到了 ONNX Runtime 的执行提供程序,它可以在各种硬件上实现最佳性能,以及支持运行时 NHWC 转换的移动包的发布。视频还介绍了对布局敏感的运算符支持、Xamarin 对跨平台应用程序的支持、ONNX Runtime web 以及专注于模型前后处理工作的 ONNX Runtime 扩展库,包括文本转换和数学运算,目前专注于NLP、视觉和文本领域。
v1.12.0 ONNX 运行时 - 发布回顾
v1.12.0 ONNX 运行时 - 发布回顾
ONNX 运行时 (ORT) 的 v1.12.0 版本侧重于推理,但也包括对培训的持续投资,与 Hugging Face Optimum 的集成导致了几个 Hugging Face 模型的加速。新功能包括能够在自定义操作中使用本机 ORT 操作,并直接调用本机或运行时操作符而无需构建图形。该版本还包括对 .NET 6 和多平台应用程序用户界面 (MAUI) 的支持,以及针对特定平台的执行提供程序,例如 Android 上的神经处理单元和 iOS 上的 Core ML。通过减少推理期间的内存分配和消除不必要的日志记录来提高性能。计划未来改进以增强缓存局部性和线程池利用率。
v1.13 ONNX 运行时 - 发布回顾
v1.13 ONNX 运行时 - 发布回顾
最近发布了 ONNX 运行时 1.13 版,其中包含安全补丁、错误修复和性能增强。该更新侧重于优化用于 GPU 量化的 Transformer 模型,并增加了对与设备无关并支持 150 多个运算符的直接 ML 执行提供程序的支持。此外,该版本还包括对 ORT 移动基础设施的更新,以兼容新的 EPS,例如 XNN 包。还讨论了使用量化来提高基于 Transformer 的模型的性能,优化 CUDA 执行提供程序以运行量化的 BERT 模型,并使用量化的感知训练来最大限度地提高准确性,同时优化 ONNX 运行时执行引擎。