pytorch 绘制Depth Anything网络结构

pytorch 绘制模型的网络结构有很多中方法,个人比较喜欢  torchview 生成的 Graphviz 风格的图片。

Graphviz介绍

Graphviz是一款开源的图形可视化软件,其名称来源于“Graph Visualization Software”的缩写。它通过使用一种名为DOT的描述语言来定义图形,能够自动生成复杂的图形和网络,并具备多种功能和特点。它通过自动布局和灵活的渲染能力,帮助用户快速生成和定制各种复杂的图形和网络。无论是软件开发、网络设计还是数据分析等领域,Graphviz都能提供有效的可视化解决方案。Graphviz

安装也比较简单,参考:

mert-kurttutan/torchview: torchview: visualize pytorch models (github.com)icon-default.png?t=N7T8https://github.com/mert-kurttutan/torchview

为了让graphviz的python接口工作,你需要在你的系统中运行dot layout命令。如果它还没有安装,我建议你在你的操作系统上运行以下命令。

安装 graphviz

以Windows系统为例,以管理员权限打开 PowerShell,然后运行该命令 

choco install graphviz

安装pip包

接下来可以切到你的pytorch conda环境下,安装pip包 

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple graphviz
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple torchview

绘制 resent18 网络结构

以resent18来实验绘制网络结构 

from torchvision.models import resnet18
from torchview import draw_graph# 将图表保存到本地
model_graph = draw_graph(resnet18(), input_size=(1,3,32,32), expand_nested=True, save_graph = True, filename = "resnet18"))
# 可视化显示
model_graph.visual_graph

将展示出resent18的网络结构

 


绘制 depth_anything_v2  vits 网络结构 

depth_anything_v2 的安装这里就不讲了,重点看 网络结构的绘制代码

import torch
from torchview import draw_graph
from depth_anything_v2.dpt import DepthAnythingV2DEVICE = 'cuda' if torch.cuda.is_available() else 'mps' if torch.backends.mps.is_available() else 'cpu'model_configs = {'vits': {'encoder': 'vits', 'features': 64, 'out_channels': [48, 96, 192, 384]},'vitb': {'encoder': 'vitb', 'features': 128, 'out_channels': [96, 192, 384, 768]},'vitl': {'encoder': 'vitl', 'features': 256, 'out_channels': [256, 512, 1024, 1024]},'vitg': {'encoder': 'vitg', 'features': 384, 'out_channels': [1536, 1536, 1536, 1536]}
}encoder = 'vits' # or 'vitl', 'vitb', 'vitg'model = DepthAnythingV2(**model_configs[encoder])
model.load_state_dict(torch.load(f'checkpoints/depth_anything_v2_{encoder}.pth', map_location='cpu'))# 绘制并保存模型架构图
model_graph = draw_graph(model, input_size=(1,3,518,518), expand_nested=True, save_graph = True, filename = "vits")

 展示的这个便是 vits 的网络结构图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3281010.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

不踩雷的护眼大路灯有哪些?五款盲选不踩雷的护眼大路灯推荐

不踩雷的护眼大路灯有哪些?作为一名专业的实测博主温馨提示大家,虽然护眼落地灯是个好东西,它能够提供柔和舒适的环境光,减少对眼睛的伤害,但是千万别乱买跟风,盲目入手踩雷率80%以上。那么如何辨别一盏护眼…

创客项目秀 | 基于 XIAO 开发板的语音向导

背景 柴火创客空间作为大湾区科技创新的窗口,每年到访空间的社区伙伴众多,为了更好的进行空间信息交互,我们希望有一个装置是可以解决:当空间管理员不在现场的时候,到访者可以通过装置获得清晰的介绍与引导。 为了解…

vue2 封装插槽组件

安装 element-ui npm install element-ui --save ---force main.js 导入 import Vue from vue; import ElementUI from element-ui; import element-ui/lib/theme-chalk/index.css; import App from ./App.vue; Vue.use(ElementUI); new Vue({ el: #app, render: h > h(Ap…

全渠道AI数字化商品管理 零售品牌增长“超级引擎”

随着“流量红利”时代的终结 品牌面临增速放缓、利润下滑的双重挑战。 消费者的诉求日益理性和个性化, 国内外品牌角逐市场份额 A1、大数据等先进技术迅猛发展 品牌商品计划管理变得更加复杂而多维。 零售品牌正加速数字化与全渠道融合以应对挑战。 可持续盈利…

对于一家企业来说,电气数字化是否有那么重要?

时代大背景下,尤其是在复杂的国际与社会环境交织之中,全社会的“数字化”转型已成必然之势。对于电子产业而言,“数字化”无疑是重大机遇。 众所周知,在蒸汽机时代,身为机械工程师堪称幸运,彼时涌现出众多…

MySQL 将查询结果导出到文件(select … into Statement)

我们经常会遇到需要将SQL查询结果导出到文件,以便后续的传输或数据分析的场景。为了满足这个需求,MySQL的select语句提供了into子句可以将的查询结果直接导出到文本文件。本文就MySQL中select…into的用法进行演示。 文章目录 一、select…into语句简介…

AWS账号注册:AWS 用借记卡注册是否有风险?

亚马逊云服务(Amazon Web Services,简称 AWS)作为全球领先的云服务提供商,吸引了众多企业和个人用户。注册 AWS 账户时,提供支付方式是必要的步骤,许多用户会选择使用借记卡来完成注册。那么,使…

idea、webstorm、navicat等2024大佬总结亲测可用

宝藏网址,亲测可用。 关于JetBrains全家桶激活。 扫码关注:JAVA和人工智能。回复 idea 或 webStorm 或 navicat 获取 仅学习使用,不要用于商业用途!

【剑指offer】

剑指offer 面试题67&#xff1a;字符串转成整数面试题1&#xff1a;赋值运算符函数面试题3&#xff1a;数组中重复的数字 面试题67&#xff1a;字符串转成整数 LeedCode&#xff1a;LCR 192. 把字符串转换成整数 (atoi) 测试atoi的功能和异常效果 #include <iostream> #…

二叉树的介绍及其顺序结构的实现

Hello, 亲爱的小伙伴们&#xff0c;你们的作者菌又回来了&#xff0c;之前我们学习了链表、顺序表、栈等常见的数据结构&#xff0c;今天我们将紧跟之前的脚步&#xff0c;继续学习二叉树。 好&#xff0c;咱们废话不多说&#xff0c;开始我们今天的正题。 1.树 1.1树的概念和…

vue3框架Arco Design输入邮箱选择后缀

使用&#xff1a; <a-form-item field"apply_user_email" label"邮箱&#xff1a;" ><email v-model"apply_user_email" class"inputborder topinputw"></email> </a-form-item>import email from /componen…

Java语言程序设计基础篇_编程练习题***15.35/15.34 (动画:自回避随机漫步)

***15.34 (模拟&#xff1a;自回避随机漫步) 在一个网格中的自回避漫步是指从一个点到另一点的过程中&#xff0c;不重复两次访问一个点。自回避漫步已经广泛应用在物理、化学和数学学科中。它们可以用来模拟像溶剂和聚合物这样的链状物。编写一个程序&#xff0c;显示一个从中…

Educational Codeforces Round 168 (Rated for Div. 2)

据说这场比赛非常简单&#xff0c;但本蒟蒻却认为比以往还要难(;༎ຶД༎ຶ) A.Strong Password 输入样例&#xff1a; 4 a aaa abb password输出样例&#xff1a; wa aada abcb pastsword思路&#xff1a; 我们只需在原来字符串中连续的两个字符之间插入一个不同的字符&…

React 学习——自定义Hook实现,使用规则

使用规则&#xff1a; 只能在组件中或者其他自定义Hook函数中调用只能在组件的顶层调用&#xff0c;不能嵌套在 if、for、其他函数中 import { useState } from "react"// 封装函数 function useToggle(){const [show,setShow] useState(true);const toggle ()&…

机器学习算法——常规算法,在同的业务场景也需要使用不同的算法(二)

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;开发者-曼亿点 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 曼亿点 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a…

火山引擎VeDI数据技术分享:两个步骤,为Parquet降本提效

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 作者&#xff1a;王恩策、徐庆 火山引擎 LAS 团队 火山引擎数智平台 VeDI 是火山引擎推出的新一代企业数据智能平台&#xff0c;基于字节跳动数据平台多年的“数据…

迪文屏使用记录

项目中要使用到迪文屏&#xff0c;奈何该屏资料太琐碎&#xff0c;找的人头皮发麻&#xff0c;遂进行相关整理。 屏幕&#xff1a;2.4寸电容屏 型号&#xff1a;DWG32240C024_03WTC 软件&#xff1a;DGUS_V7.647 1.竖屏横显 打开软件左下方的配置文件生成工具&#…

前端如何实现更换项目主题色的功能?

1、场景 有一个换主题色的功能&#xff0c;如下图&#xff1a; 切换颜色后&#xff0c;将对页面所有部分的色值进行重新设置&#xff0c;符合最新的主题色。 2、实现思路 因为色值比较灵活&#xff0c;可以任意选取&#xff0c;所以最好的实现方式是&#xff0c;根据设置的…

解读权限信息

1. 权限信息 在查看工作目录的内容时&#xff0c;经常看到如下格式的信息&#xff1a; 第一列&#xff1a;文件/文件夹的权限&#xff08;或者叫权限控制信息&#xff09;&#xff1b; 第二列&#xff1a;文件/文件夹的所属用户&#xff1b; 第三列&#xff1a;文件/文件夹…

苹果密码解锁工具已注册专业版_不限制电脑

Aiseesoft iPhone Unlocker&#xff1a;轻松解锁iPhone。功能强大&#xff1a;一键移除4位、6位密码、Touch ID和Face ID。隐私保护&#xff1a;创建密码&#xff0c;安全无忧。数据提醒&#xff1a;解锁时&#xff0c;注意数据和设置将被清除。Apple ID 解锁&#xff1a;快速删…