【保姆级教程】YOLO26网络结构可视化并保存
《博主简介》小伙伴们好我是阿旭。专注于计算机视觉领域包括目标检测、图像分类、图像分割和目标跟踪等项目开发提供模型对比实验、答疑辅导等。《------往期经典推荐------》一、AI应用软件开发实战专栏【链接】项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【YOLOv8多目标识别与自动标注软件开发】8.【基于深度学习的行人跌倒检测系统】9.【基于深度学习的PCB板缺陷检测系统】10.【基于深度学习的生活垃圾分类目标检测系统】11.【基于深度学习的安全帽目标检测系统】12.【基于深度学习的120种犬类检测与识别系统】13.【基于深度学习的路面坑洞检测系统】14.【基于深度学习的火焰烟雾检测系统】15.【基于深度学习的钢材表面缺陷检测系统】16.【基于深度学习的舰船目标分类检测系统】17.【基于深度学习的西红柿成熟度检测系统】18.【基于深度学习的血细胞检测与计数系统】19.【基于深度学习的吸烟/抽烟行为检测系统】20.【基于深度学习的水稻害虫检测与识别系统】21.【基于深度学习的高精度车辆行人检测与计数系统】22.【基于深度学习的路面标志线检测与识别系统】23.【基于深度学习的智能小麦害虫检测识别系统】24.【基于深度学习的智能玉米害虫检测识别系统】25.【基于深度学习的200种鸟类智能检测与识别系统】26.【基于深度学习的45种交通标志智能检测与识别系统】27.【基于深度学习的人脸面部表情识别系统】28.【基于深度学习的苹果叶片病害智能诊断系统】29.【基于深度学习的智能肺炎诊断系统】30.【基于深度学习的葡萄簇目标检测系统】31.【基于深度学习的100种中草药智能识别系统】32.【基于深度学习的102种花卉智能识别系统】33.【基于深度学习的100种蝴蝶智能识别系统】34.【基于深度学习的水稻叶片病害智能诊断系统】35.【基于与ByteTrack的车辆行人多目标检测与追踪系统】36.【基于深度学习的智能草莓病害检测与分割系统】37.【基于深度学习的复杂场景下船舶目标检测系统】38.【基于深度学习的农作物幼苗与杂草检测系统】39.【基于深度学习的智能道路裂缝检测与分析系统】40.【基于深度学习的葡萄病害智能诊断与防治系统】41.【基于深度学习的遥感地理空间物体检测系统】42.【基于深度学习的无人机视角地面物体检测系统】43.【基于深度学习的木薯病害智能诊断与防治系统】44.【基于深度学习的野外火焰烟雾检测系统】45.【基于深度学习的脑肿瘤智能检测系统】46.【基于深度学习的玉米叶片病害智能诊断与防治系统】47.【基于深度学习的橙子病害智能诊断与防治系统】48.【基于深度学习的车辆检测追踪与流量计数系统】49.【基于深度学习的行人检测追踪与双向流量计数系统】50.【基于深度学习的反光衣检测与预警系统】51.【基于深度学习的危险区域人员闯入检测与报警系统】52.【基于深度学习的高密度人脸智能检测与统计系统】53.【基于深度学习的CT扫描图像肾结石智能检测系统】54.【基于深度学习的水果智能检测系统】55.【基于深度学习的水果质量好坏智能检测系统】56.【基于深度学习的蔬菜目标检测与识别系统】57.【基于深度学习的非机动车驾驶员头盔检测系统】58.【太基于深度学习的阳能电池板检测与分析系统】59.【基于深度学习的工业螺栓螺母检测】60.【基于深度学习的金属焊缝缺陷检测系统】61.【基于深度学习的链条缺陷检测与识别系统】62.【基于深度学习的交通信号灯检测识别】63.【基于深度学习的草莓成熟度检测与识别系统】64.【基于深度学习的水下海生物检测识别系统】65.【基于深度学习的道路交通事故检测识别系统】66.【基于深度学习的安检X光危险品检测与识别系统】67.【基于深度学习的农作物类别检测与识别系统】68.【基于深度学习的危险驾驶行为检测识别系统】69.【基于深度学习的维修工具检测识别系统】70.【基于深度学习的维修工具检测识别系统】71.【基于深度学习的建筑墙面损伤检测系统】72.【基于深度学习的煤矿传送带异物检测系统】73.【基于深度学习的老鼠智能检测系统】74.【基于深度学习的水面垃圾智能检测识别系统】75.【基于深度学习的遥感视角船只智能检测系统】76.【基于深度学习的胃肠道息肉智能检测分割与诊断系统】77.【基于深度学习的心脏超声图像间隔壁检测分割与分析系统】78.【基于深度学习的心脏超声图像间隔壁检测分割与分析系统】79.【基于深度学习的果园苹果检测与计数系统】80.【基于深度学习的半导体芯片缺陷检测系统】81.【基于深度学习的糖尿病视网膜病变检测与诊断系统】82.【基于深度学习的运动鞋品牌检测与识别系统】83.【基于深度学习的苹果叶片病害检测识别系统】84.【基于深度学习的医学X光骨折检测与语音提示系统】85.【基于深度学习的遥感视角农田检测与分割系统】86.【基于深度学习的运动品牌LOGO检测与识别系统】87.【基于深度学习的电瓶车进电梯检测与语音提示系统】88.【基于深度学习的遥感视角地面房屋建筑检测分割与分析系统】89.【基于深度学习的医学CT图像肺结节智能检测与语音提示系统】90.【基于深度学习的舌苔舌象检测识别与诊断系统】91.【基于深度学习的蛀牙智能检测与语音提示系统】92.【基于深度学习的皮肤癌智能检测与语音提示系统】93.【基于深度学习的工业压力表智能检测与读数系统】94.【基于深度学习的CT扫描图像肝脏肿瘤智能检测与分析系统】95.【基于深度学习的CT扫描图像脑肿瘤智能检测与分析系统】96.【基于深度学习的甲状腺结节智能检测分割与诊断系统】97.【基于深度学习的车载视角路面病害检测系统】98.【基于深度学习的宫腔镜病变智能检测与语音提示系统】99.【基于深度学习的人群密集检测统计分析与报警系统】100.【基于深度学习的路面积水智能检测分割与分析系统】101.【基于深度学习的钢丝绳缺陷检测与语音提示系统】102.【基于深度学习的无人机视角河道水面垃圾检测系统】103.【基于深度学习的停车场车位智能检测识别系统】104.【基于深度学习的无人机视角野外搜救人员检测与语音提示系统】105.【基于深度学习的无人机视角路面病害检测识别系统】106.【基于深度学习的无人机红外视角海上搜救人员检测与语音提示系统】107.【基于深度学习的交警手势识别系统】108.【基于深度学习的红外图像光伏板热斑缺陷检测与语音提示系统】109.【基于深度学习的风力机缺陷检测与语音提示系统】110.【基于深度学习的茶叶病害智能检测识别系统】111.【基于深度学习的铁轨部件缺陷检测与语音提示系统】112.【基于深度学习的无人机视角车辆检测系统】二、机器学习实战专栏【链接】已更新31期欢迎关注持续更新中~~三、深度学习【Pytorch】专栏【链接】四、【Stable Diffusion绘画系列】专栏【链接】五、YOLOv8改进专栏【链接】持续更新中~~六、YOLO性能对比专栏【链接】持续更新中~《------正文------》目录前言1.将.pt模型转为.onnx模型2. 使用Netron可视化网络结构2.1 Netron简介2.2 网络结构可视化前言近期有不少小伙伴向我咨询该如何查看自己训练好的网络模型结构与详细信息。本文就将详细介绍 YOLO26 网络结构的可视化方法以及模型详细信息的查看方式希望能为大家提供实用的帮助。而对于其他各类深度学习网络模型同样可以借助 Netron通过类似的方式进行查看。1.将.pt模型转为.onnx模型首先我们需要加载训练好的yolo26网络模型,这里以官方提供的yolo26n.pt模型为例进行介绍。然后使用model.expert方法将其转为.onnx格式的模型文件。代码如下fromultralyticsimportYOLO# 加载训练好的模型modelYOLO(yolo26n.pt)# 将模型转为onnx格式successmodel.export(formatonnx)运行上述代码后就会在yolo26n.pt文件所在的目录下生成同名的.onnx格式文件如下图2. 使用Netron可视化网络结构2.1 Netron简介Netron 是一个开源的模型可视化工具用于可视化深度学习模型的结构和参数。它可以加载和显示多种框架和模型格式包括ONNXOpen Neural Network Exchange、TensorFlow、Keras、Caffe、Core ML 等。通过图形界面用户可以直观地查看模型的网络结构、层级关系、参数等信息。Netron 的主要特点包括多框架和多格式支持Netron 支持常见的深度学习框架和模型格式包括ONNX、TensorFlow、Keras、Caffe、CoreML 等因此可以加载和可视化多种类型的深度学习模型。直观的可视化界面Netron提供一个直观的图形界面以树状结构展示模型的网络层次和参数。用户可以浏览模型的结构、查看各层的输入输出尺寸、参数数量等帮助理解模型的组成和特性。跨平台支持Netron 可以运行在多种操作系统上包括 Windows、macOS 和 Linux方便用户在不同环境中使用。快速加载和渲染Netron 的设计优化了模型的加载和渲染过程使得大型模型的可视化也能够在短时间内完成。Netron 是一个简单但功能强大的模型可视化工具对于深度学习开发者和研究人员来说它可以提供有价值的模型分析和理解工具帮助他们更好地理解和调试深度学习模型。2.2 网络结构可视化我们打开Netron地址:https://netron.app打开后界面如下点击箭头处选择我们转换好的yolo26n.onnx文件然后点击打开打开后显示结果如下界面会显示模型的整个网络结构如下所示点击网络结构中某个节点会在界面右侧显示出改节点的详细信息例如卷积核的大小卷积核的具体参数等。如下图同时也提供了将网络结构保存为图片的功能左侧点击expert可将整个结构保存为.png或者.svg图片。但是从显示网络结构中我们可以看到图中没有显示特征图的维度只有输入数据的维度3640640。在netron中如果想看到特征图的维度需要在导出为onnx的时候同时加上特征图维度信息。这个操作需要onnx库的帮助可以通过pip install onnx进行安装。具体代码如下importonnx model_fileyolo26n.onnx# 加载刚转换好的best.onnx文件onnx_modelonnx.load(model_file)# 重新保存为best2.onnx文件onnx.save(onnx.shape_inference.infer_shapes(onnx_model),yolo26n_2.onnx)运行代码后在yolo26n.onnx同目录下会生成一个yolo26n_2.onnx文件然后我们重新在https://netron.app打开yolo26n_2.onnx文件这次我们可以看到相比之前显示的内容多了一个增加维度信息的步骤。此时可视化图中就能完整显示所有特征图的维度了。然后我们将其保存为.png图片如下所示通过上述操作我们就可以清楚的看到整个网络结构并且可以查看每个网络节点的详细信息希望能够帮助到大家。为方便大家学习使用本文涉及到的所有代码均已打包好。免费获取方式如下关注下方名片GZH:【阿旭算法与机器学习】发送【知识点】即可免费获取如果文章对你有帮助麻烦动动你的小手给点个赞鼓励一下吧谢谢~~~好了这篇文章就介绍到这里喜欢的小伙伴感谢给点个赞和关注更多精彩内容持续更新~~关于本篇文章大家有任何建议或意见欢迎在评论区留言交流