00:40:00 在本节中,演示者演示了如何叠加图像并解释了使用不变的 IamReadModes 以保留图像的透明元素的重要性。他们以太阳镜为例,承认代码没有优化,因为他们没有时间让一切都完美。他们还通过硬编码他们希望太阳镜着陆的坐标而不是使用面部矩形的 x 和 y 坐标来作弊。演示者解释说,在现实生活中,需要将 x 和 y 坐标传递给 MakeOverlay 方法才能知道将叠加层放置在何处。此外,他们提到了需要使用 Resize 方法来根据矩形的大小来调整叠加图像的大小,但这在他们的作弊示例中不是必需的。
00:10:00 在本节中,演讲者通过演示如何获取边界框、在其周围绘制矩形以及使用图形 API 显示图像的预测标签,继续实施对象检测模型。获得最大置信度以获得顶部边界框,其中仅考虑具有最大置信度的边界框。该代码还使用辅助方法绘制矩形,并返回描述字符串以指示置信度百分比。最后,将测试图像保存到文件系统中以备将来参考。演讲者强调,实施的最大部分是调整图像大小和使用 ML.NET API 应用 ONNX 模型。
00:25:00 在本节中,演讲者讨论了将 ONNX 模型部署和集成到应用程序中的过程。将模型转换为 ONNX 可以实现跨不同框架的兼容性,用户还可以使用 ONNX 模型进行迁移学习和微调。演讲者强调了版本控制和拥有模型注册表的重要性,就像容器注册表一样,以便于跟踪和部署。此外,演讲者强调了数据科学家构建“食谱”所需的不同技能组合与工程师开办“面包店”并将 AI 集成到应用程序所需的技能组合。演讲涵盖支持部署 ONNX 模型的各种框架和平台,例如 Azure 机器学习、Ubuntu 或 Windows Server,以及物联网边缘设备。
00:30:00 在本节中,演讲者讨论了机器学习模型的部署,涵盖云端和边缘部署。演讲者表示,边缘部署是关于数据处理离用户有多近,比云端近得多。在边缘运行 AI 是低延迟和节省成本的理想选择,因为它可以在本地处理数据而无需上传到云端。此外,在本地运行更加灵活,可以确保隐私合规性,这在处理禁止在网络外共享图像的规则时尤为重要。为了方便机器学习模型在边缘的部署,微软开发了开源的ONNX运行时,它不仅支持神经网络,还支持传统的机器学习规范,可以进行高性能推理,并且具有硬件加速器的可扩展架构。
Python scripts form performing stereo depth estimation using the HITNET model in ONNX. Requirements Installation ONNX model The original models were converted to different formats (including .onnx) by PINTO0309...
本教程介绍了一个名为 Chalice for ML 的工具,它可以自动从 Keras/Pytorch/ONNX 模型生成加速器。然后教程继续演示如何将加速器集成到 ESP(早期原型机)中。演讲者还展示了如何在 Keras/Pytorch/ONNX 中设计加速器,并介绍了导入加速器、添加测试台、生成 RTL 和创建两个版本的加速器的步骤。该视频还介绍了编译 Linux 和为加速器创建 Linux 用户空间应用程序。最后,本教程以供进一步学习的资源结束。
00:00:00 在教程的这一部分,演示者介绍了一个名为 Chalice for ML 的工具,它可以自动从 Keras/Pytorch/ONNX 模型生成加速器。该流程通过使用 HLS 4 ML 从 ESP for NXP 的 GitHub 存储库中提供的预构建 Keras 模型生成加速器来演示。然后使用交互式脚本将生成的加速器集成并测试到 ESP 中。演示者强调,在尝试按照教程进行操作之前,用户应该阅读先决条件指南并设置他们的环境。该教程还提供了预建材料,用户可以使用这些材料进行实验,而无需完成所有步骤。
00:05:00 在这部分教程中,讲师解释了如何将前面步骤中设计的加速器集成到ESP(Early Stage Prototyper)中。加速器的三位十六进制 ID 已分配,请记住该数字不应大于十进制的 1024。然后定义加速器的数据位宽,在当前用例中为 32 位,并确定输入和输出文件大小。最后,讲师演示了为 MLP 三层加速器运行高层次综合,并展示了如何使用 ESP 运行 HLS。所有步骤都与 System C 或 C++ 加速器的其他指南相同,并且 MLP 项目文件夹的 HLS 已添加到 ESP,其中包含用于包装加速器并将其与 ESP 系统的其余部分连接的所有必要文件。
00:15:00 在本节中,视频教程介绍了编译 Linux,它不仅编译 cynics,还编译加速器的用户空间测试应用程序。 Linux 完成后,将创建加速器的可执行文件,这是将在 FPGA 上运行的 Linux 用户空间应用程序。然后本教程继续使用 make FPGA run 命令对 FPGA 进行编程并运行裸机测试。要运行减速器裸机单元测试,需要指定先前生成的测试程序。随后运行Linux,执行单元测试应用程序,成功找到卖家Reiter,测试通过验证。本教程以一些供进一步学习的资源结尾。
使用 C# 和 OpenCVSharp 进行人脸检测 - 实用 ML.NET 用户组 01/19/2022
使用 C# 和 OpenCVSharp 进行人脸检测 - 实用 ML.NET 用户组 01/19/2022
在 C# 中使用 OpenCVSharp 进行人脸检测的视频教程首先介绍了 OpenCVSharp 库,这是一个用于计算机视觉任务的开源库,带有 .NET 包装器。该视频讨论了使用不同的分类器进行检测(包括眼睛检测),以及实验在分类器选择中的重要性。该教程帮助听众在代码片段、Visual Studio 和 .NET 交互式笔记本的帮助下,使用网络摄像头构建面部和眼睛检测程序。还详细阐述了不同方面,包括如何叠加透明图像和正确处理 mat 对象。演讲者承认 OpenCVSharp 的易用性、速度和与 .NET 的兼容性,但也指出缺乏示例和不确定的长期支持。
使用 ML.NET 预测自定义视觉 ONNX 模型
使用 ML.NET 预测自定义视觉 ONNX 模型
在此 YouTube 视频中,演示者讨论了使用 ML.NET 对自定义视觉 ONNX 模型进行预测。这涉及从自定义视觉服务中导出模型并将其导入到 ML.NET 项目中。实现包括调整图像大小、提取图像像素、创建数据上下文和空数据列表以加载图像数据、使用 ML.NET 框架对模型进行预测并输出结果。该视频还演示了如何使用名为 Neuron 的工具获取模型的输出名称,以及如何从模型获取给定测试图像的边界框信息。演示者还展示了如何在边界框周围绘制一个矩形并使用图形 API 显示预测标签。使用 ML.NET API 和图像大小调整的 ONNX 模型的实现被强调为实现中最重要的部分。
使用 ONNX 使神经网络可移植
使用 ONNX 使神经网络可移植
在此 YouTube 视频中,Ron Dagdag 解释了如何使用 ONNX 使神经网络可移植,重点是机器学习的推理方面。 ONNX 是一个开源框架,允许跨各种处理单元和设备的机器学习模型的可移植性。演讲者讨论了将模型转换为 ONNX、部署模型并将其与应用程序集成以及将其用于云和边缘部署的过程。他们还演示了如何在 Node.js 中加载 ONNX 模型,以及如何使用 ONNX Runtime 将图像分类模型集成到 Web 和移动应用程序中。 ONNX 模型是一种开放标准,可以从各种框架创建,以便在目标平台上高效部署。
关于 .NET Live - AI 无处不在:Azure ML 和 ONNX 运行时
关于 .NET Live - AI 无处不在:Azure ML 和 ONNX 运行时
视频“On .NET Live - AI Everywhere:Azure ML 和 ONNX Runtime”重点介绍了使用 Azure ML 和 ONNX Runtime 通过 C# 进行机器学习。演讲者讨论了使用 ONNX 格式跨编程语言导出模型的好处、ONNX 运行时对硬件加速和推理的优化,以及它与特定版本框架的兼容性。他们还展示了如何在 Python 和 .NET 中将 ONNX Runtime 与 Azure ML 结合使用,创建和训练神经网络模型,并解释推理及其在机器学习中的最后一步。该视频最后介绍了一个新的 ONNX 运行时提供程序,允许将 OpenVINO 用于 ARM CPU,提供调试功能。
在视频的这一部分中,主持人讨论了 ONNX 运行时的灵活性和可配置性及其在各种硬件和软件平台上运行的能力。 ONNX 运行时被视为不同平台的出色包装器,因为客户可以在云、Android、iOS 或 Snapdragon CPU 上使用它,并且它允许更快的推理。
柏林流行语 2019:Lester Solbakken – 在搜索中扩展 ONNX 和 TensorFlow 模型评估
柏林流行语 2019:Lester Solbakken – 在搜索中扩展 ONNX 和 TensorFlow 模型评估
Lester Solbakken 讨论了为搜索应用程序扩展机器学习的挑战,并提出了使用外部模型服务器的替代解决方案。他建议在内容节点上评估机器学习模型,而不是将数据发送到外部模型服务器,以提高可扩展性并控制延迟和吞吐量。 Solbakken 强调了 Vespa 使用自己的排名语言和张量 API 扩展,以便轻松地为应用程序创建声明性状态包,以及在 Vespa 中支持机器学习模型的持续努力。他强调了解排名不同阶段之间的相关性以避免系统级检索问题的重要性,并鼓励人们为开源项目做出贡献。
吸收 ONNX
吸收 ONNX
在此视频中,演示者介绍了 ONNX 作为机器学习互操作性的开放标准,可以在所有不同平台上工作。他们经历了从头开始创建 ONNX 项目、调整 Microsoft 存储库中的示例、解决问题以及探索其他与 ONNX 相关的 Github 项目的过程。然后,他们使用 GPT2 和 CUDA 测试 ONNX 绑定,表示有兴趣在未来进一步探索 ONNX 运行时 Rust 绑定。演示者注意到 ONNX 的多功能性和可移植性,并将其视为未来进行实验和构建更多实质性项目的好工具。
HITNET 与。 ACVNet 神经立体深度估计比较 (ONNX)
HITNET 与。 ACVNet 神经立体深度估计比较 (ONNX)
Driving Stereo 数据集中 HITNET 和 ACVNet 立体深度估计模型的比较。
模型推理详细信息(NVIDIA 1660 SUPER):
HITNET(640X480):220 毫秒
ACVNet (640x384):480 毫秒
参考资料:【HITNET推理】 https://github.com/ibaiGorordo/ONNX-HITNET-Stereo-Depth-estimation
[ACVNet 推理] https://github.com/ibaiGorordo/ONNX-ACVNet-Stereo-Depth-Estimation
[驾驶立体数据集] https://drivingstereo-dataset.github.io/
使用 NVIDIA TAO 工具包导入、训练和优化 ONNX 模型
使用 NVIDIA TAO 工具包导入、训练和优化 ONNX 模型
该视频展示了如何使用 NVIDIA TAO 工具包导入、训练和优化 ONNX 模型。它首先下载预训练的 ResNet18 模型,使用 TAO 在 Pascal VOC 数据集上对其进行微调,并提供导入模型和可视化 ONNX 图的步骤。可以使用 TensorBoard 可视化监控训练进度,并且可以在 ONNX 转换错误的情况下使用自定义层。该视频还解释了如何通过观察减少的损失、验证损失以及分析权重和偏差来评估模型的性能。用户可以评估模型在测试数据集和样本图像上的准确性,并继续进行修剪和优化以进一步改进它。
NVAITC 网络研讨会:使用 TensorRT 部署模型
NVAITC 网络研讨会:使用 TensorRT 部署模型
在 NVAITC 网络研讨会的这一部分,解决方案架构师 Nikki Loppie 介绍了 TensorRT,这是 NVIDIA 用于高性能深度学习推理的软件开发套件。 TensorRT 提供推理优化器和运行时,可跨从嵌入式设备到数据中心的一系列平台进行低延迟和高吞吐量推理。 Loppie 解释了 TensorRT 用于优化推理性能的五种技术,包括内核融合和精度校准。开发人员可以使用 TensorRT 的 Python 和 C++ API 将这些优化合并到他们自己的应用程序中,并且可以使用 trtorch 等转换器库来优化 PyTorch 模型以进行推理。 Loppie 演示了如何使用 trtorch 库保存 TensorRT 优化模型,并将优化模型与未优化模型进行基准测试以进行图像分类,显示了半精度的显着加速。
ESP 教程 - 如何:在 Keras/Pytorch/ONNX 中设计加速器
ESP 教程 - 如何:在 Keras/Pytorch/ONNX 中设计加速器
本教程介绍了一个名为 Chalice for ML 的工具,它可以自动从 Keras/Pytorch/ONNX 模型生成加速器。然后教程继续演示如何将加速器集成到 ESP(早期原型机)中。演讲者还展示了如何在 Keras/Pytorch/ONNX 中设计加速器,并介绍了导入加速器、添加测试台、生成 RTL 和创建两个版本的加速器的步骤。该视频还介绍了编译 Linux 和为加速器创建 Linux 用户空间应用程序。最后,本教程以供进一步学习的资源结束。