pytorch 模型怎么获取应该输入的形状

2023-05-26 11:12:40 +08:00
lyang  lyang

如题,比较简单的模型,要看代码加测试几个输入形状吗,有没有比较方便的工具

1653 次点击
所在节点   程序员  程序员
13 条回复
albert0yyyy
albert0yyyy
2023-05-26 11:54:17 +08:00
随便输入一个,报个错。看看要多大的
565656
565656
2023-05-26 12:26:59 +08:00
自己随便输入报错里不就有了
Huelse
Huelse
2023-05-26 13:01:22 +08:00
报个错,tensorboard
connectsixboy
connectsixboy
2023-05-26 13:51:37 +08:00
模型文件导入 Netron 看一下
psycho9631
psycho9631
2023-05-26 14:00:49 +08:00
torchinfo
lyang
lyang
2023-05-26 14:10:37 +08:00
@albert0yyyy
@565656
@Huelse
我现在就是随便输入加报错提示,然后试出来,就想问问有什么快速些的方法
lyang
lyang
2023-05-26 14:15:17 +08:00
@connectsixboy
@psycho9631
这些应该都是要输入一个测试数据的吧
565656
565656
2023-05-26 14:38:54 +08:00
@lyang #6 快速的话基本没有,因为有时候像第一层是卷积或者 transformer 层的话你可能知道一些输入大小,但是运行到后面如果有像全连接层的话还是会影响到输入的大小,所以必须走一遍全过程,最简单的方法就是输入报错
coldheart
coldheart
2023-05-26 14:42:57 +08:00
torchsummary
输入一个正确纬度的 tensor ,可视化各层的形状和参数量
lyang
lyang
2023-05-26 15:04:31 +08:00
@565656 看来也只能这样了
@coldheart 我有时候测出来了输入形状,用这工具也报错,很尴尬,感觉要补挺多知识了
thinkershare
thinkershare
2023-05-26 17:04:20 +08:00
没什么好办法,如果没有模型原代码,只能用数据走一遍,如果前向传播时候传递的参数非常复杂,你甚至可能没法尝试出结果。我一般分析模型也是用 netron, 但是 ONNIX 对 pytroch 的支持还是有问题。
Chekkibrki
Chekkibrki
2023-05-26 17:26:25 +08:00
torchinfo.summary(model,Tensor)
Tensor:输入形状[N,C,H,W],然后用这个函数就能打印出每层的形状。
connectsixboy
connectsixboy
2023-05-30 14:17:30 +08:00
@lyang 正常模型文件导入 Netron 就行,不用输入测试,Netron 就是为了应对你这类问题存在的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/943123

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX