OpenMMLab
文章平均质量分 77
记录与分享OpenMMLab的学习历程
卖报的大地主
书山有路勤为径,学海无涯苦作舟
展开
-
【MMSegmentation改进】修改IoUMetric,增加Kappa系数评价指标
【MMSegmentation改进】修改IoUMetric,增加Kappa系数评价指标(支持Opencd)原创 2024-09-24 21:12:27 · 134 阅读 · 0 评论 -
使用训练好的MMSegmentation模型推理大尺度遥感影像(包含遥感影像裁剪和拼接代码)
使用训练好的MMSegmentation模型推理大尺度遥感影像(包含遥感影像裁剪和拼接代码)。模型推理部分采用的是MMSegmentation框架的模型,可根据自己的模型(如pytorch或tensorflow模型)情况修改该部分。原创 2024-03-13 19:56:23 · 1130 阅读 · 2 评论 -
MMSegmentation 模型训练结果批量推理及结果保存脚本
MMSegmentation模型训练结果进行批量推理测试及结果保存原创 2023-08-25 15:40:03 · 1524 阅读 · 8 评论 -
MMSegmentation CAM可视化脚本
最近在用MMSegmentation,想做个cam可视化,发现项目没有,就根据pytorch_grad_cam例子自己写一下,同时支持VIT系列的模型。原创 2023-08-23 12:58:17 · 712 阅读 · 2 评论 -
【模型部署】入门教程(八):如何添加 TensorRT 自定义算子
本篇教程我们主要讲述如何在 MMDeploy 代码库中添加一个自定义的 TensorRT 插件,整个过程不涉及太多更复杂的 CUDA 编程,相信小伙伴们学完可以自己实现想要的插件。至此,我们的模型部署入门系列教程已经更新了八期,那到这里可能就先暂时告一段落啦!所有跟模型部署相关的内容,都整理在这个专栏啦,欢迎大家关注~模型部署那些事www.zhihu.com/column/c_1497987564452114432正在上传…重新上传取消。转载 2023-04-20 13:22:42 · 1059 阅读 · 1 评论 -
【模型部署】入门教程(七):TensorRT 模型构建与推理
TensorRT 是由 NVIDIA 发布的深度学习框架,用于在其硬件上运行深度学习推理。TensorRT 提供量化感知训练和离线量化功能,用户可以选择 INT8 和 FP16 两种优化模式,将深度学习模型应用到不同任务的生产部署,如视频流、语音识别、推荐、欺诈检测、文本生成和自然语言处理。TensorRT 经过高度优化,可在 NVIDIA GPU 上运行, 并且可能是目前在 NVIDIA GPU 运行模型最快的推理引擎。关于 TensorRT 更具体的信息可以访问TensorRT官网了解。转载 2023-04-20 13:20:14 · 1914 阅读 · 0 评论 -
【模型部署】入门教程(六):实现 PyTorch-ONNX 精度对齐工具
基于前几篇教程中的知识,本文我们介绍了一个与 PyTorch 转 ONNX 相关的实战项目。相信通过这个项目,大家既巩固了之前学过的 ONNX 相关知识,又获得了一个在模型部署中十分实用的工具,可谓是收获颇丰。教程(三):PyTorch 转 ONNX 详解在 ONNX 文档里查找Identity算子的定义。的调用方法。默认使用跟踪法生成 ONNX 文件。教程(四):在 PyTorch 中支持更多 ONNX 算子使用实现自定义 ONNX 算子my::Debug。转载 2023-04-19 23:43:54 · 579 阅读 · 0 评论 -
【模型部署】入门教程(五):ONNX 模型的修改与调试
在用 API 对 ONNX 模型进行操作之前,我们还需要先了解一下 ONNX 的结构定义规则,学习一下 ONNX 在 Protobuf 定义文件里是怎样描述一个神经网络的。回想一下,神经网络本质上是一个计算图。计算图的节点是算子,边是参与运算的张量。而通过可视化 ONNX 模型,我们知道 ONNX 记录了所有算子节点的属性信息,并把参与运算的张量信息存储在算子节点的输入输出信息中。事实上,ONNX 模型的结构可以用类图大致表示如下:如图所示,一个 ONNX 模型可以用ModelProto类表示。转载 2023-04-19 23:41:22 · 3945 阅读 · 0 评论 -
【模型部署】入门教程(四):在 PyTorch 中支持更多 ONNX 算子
模型部署入门系列教程持续更新啦,在上一篇教程中,我们系统地学习了 PyTorch 转 ONNX 的方法,可以发现 PyTorch 对 ONNX 的支持还不错。但在实际的部署过程中,难免碰到模型无法用原生 PyTorch 算子表示的情况。这个时候,我们就得考虑扩充 PyTorch,即在 PyTorch 中支持更多 ONNX 算子。转载 2023-04-19 23:33:40 · 443 阅读 · 0 评论 -
【模型部署】入门教程(三):PyTorch 转 ONNX 详解
在这篇教程中,我们系统地介绍了 PyTorch 转 ONNX 的原理。我们先是着重讲解了使用最频繁的 torch.onnx.export函数,又给出了查询 PyTorch 对 ONNX 算子支持情况的方法。通过本文,我们希望大家能够成功转换出大部分不需要添加新算子的 ONNX 模型,并在碰到算子问题时能够有效定位问题原因。跟踪法和记录法在导出带控制语句的计算图时有什么区别。中该如何设置。使用来使模型在转换到 ONNX 时有不同的行为。如何查询 ONNX 算子文档(转载 2023-04-19 22:15:54 · 1591 阅读 · 1 评论 -
【模型部署】入门教程(一):模型部署简介
OpenMMLab 的算法如何部署?是很多社区用户的困惑。而模型部署工具箱 MMDeploy的开源,强势打通了从算法模型到应用程序这 "最后一公里"!中间表示 ONNX 的定义标准PyTorch 模型转换到 ONNX 模型的方法推理引擎 ONNX Runtime、TensorRT 的使用方法部署流水线 PyTorch - ONNX - ONNX Runtime/TensorRT 的示例及常见部署问题的解决方法MMDeploy C/C++ 推理 SDK。转载 2023-04-19 16:41:39 · 3858 阅读 · 0 评论 -
【模型部署】TorchScript 解读(四):Torch jit 中的别名分析
Torch jit 中内置了非常多的 pass 以帮助我们完成各式各样的优化,用户也可以定义自己的 pass 来实现特定的目的。这种灵活性给我们优化模型带来了便利,但是它也不是没有限制的。x = x + 1x.add_(x)神经网络会构成一个计算图 Graph,原则上一个 Graph 中的 Node 如果不能通过任何路径到达输出节点,那么这就是一个无用的节点,可以被优化(删除)掉。比如上图中的add_节点。这种优化通常被称为死代码消除(DeadCodeElimination)。通过代码可知,add_转载 2023-04-19 16:16:40 · 271 阅读 · 0 评论 -
【模型部署】TorchScript 解读(三):jit 中的 subgraph rewriter
小伙伴们好呀,TorchScript 解读系列教程又来啦~在,我们带领大家初步了解了TorchScript;在中,我们介绍 TorchScript 通过 trace 来记录数据流的生成方式,同时分享使用该机制实现的 ONNX 导出过程。接下来,就让我们进入今天的正题吧~现代的深度学习推理框架通常遵循编译器的范式,将模型的中间表示(IR)会分为两部分:包括与硬件、环境等无关的前端(frontend)以及针对特定环境的后端(backend),比如 TVM 的 Relay 和 tir 就是一个典型的例子。转载 2023-04-19 16:14:49 · 316 阅读 · 0 评论 -
【模型部署】TorchScript 解读(二):Torch jit tracer 实现解析
TorchScript 解读(二):Torch jit tracer 实现解析 - 知乎 (zhihu.com)转载 2023-04-19 14:57:02 · 1184 阅读 · 0 评论 -
【模型部署】TorchScript 解读(一):初识 TorchScript
PyTorch 无疑是现在最成功的深度学习训练框架之一,是各种顶会顶刊论文实验的大热门。比起其他的框架,PyTorch 最大的卖点是它对动态网络的支持,比其他需要构建静态网络的框架拥有更低的学习成本。PyTorch 源码 Readme 中还专门为此做了一张动态图:对研究员而言, PyTorch 能极大地提高想 idea、做实验、发论文的效率,是训练框架中的豪杰,但是它不适合部署。转载 2023-04-19 14:31:00 · 1334 阅读 · 0 评论