V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lyang
V2EX  ›  程序员

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

  •  
  •   lyang · 329 天前 · 1237 次点击
    这是一个创建于 329 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    13 条回复    2023-05-30 14:17:30 +08:00
    albert0yyyy
        1
    albert0yyyy  
       329 天前
    随便输入一个,报个错。看看要多大的
    565656
        2
    565656  
       329 天前
    自己随便输入报错里不就有了
    Huelse
        3
    Huelse  
       329 天前
    报个错,tensorboard
    connectsixboy
        4
    connectsixboy  
       328 天前
    模型文件导入 Netron 看一下
    psycho9631
        5
    psycho9631  
       328 天前
    torchinfo
    lyang
        6
    lyang  
    OP
       328 天前
    @albert0yyyy
    @565656
    @Huelse
    我现在就是随便输入加报错提示,然后试出来,就想问问有什么快速些的方法
    lyang
        7
    lyang  
    OP
       328 天前
    @connectsixboy
    @psycho9631
    这些应该都是要输入一个测试数据的吧
    565656
        8
    565656  
       328 天前
    @lyang #6 快速的话基本没有,因为有时候像第一层是卷积或者 transformer 层的话你可能知道一些输入大小,但是运行到后面如果有像全连接层的话还是会影响到输入的大小,所以必须走一遍全过程,最简单的方法就是输入报错
    coldheart
        9
    coldheart  
       328 天前
    torchsummary
    输入一个正确纬度的 tensor ,可视化各层的形状和参数量
    lyang
        10
    lyang  
    OP
       328 天前
    @565656 看来也只能这样了
    @coldheart 我有时候测出来了输入形状,用这工具也报错,很尴尬,感觉要补挺多知识了
    thinkershare
        11
    thinkershare  
       328 天前
    没什么好办法,如果没有模型原代码,只能用数据走一遍,如果前向传播时候传递的参数非常复杂,你甚至可能没法尝试出结果。我一般分析模型也是用 netron, 但是 ONNIX 对 pytroch 的支持还是有问题。
    Chekkibrki
        12
    Chekkibrki  
       328 天前
    torchinfo.summary(model,Tensor)
    Tensor:输入形状[N,C,H,W],然后用这个函数就能打印出每层的形状。
    connectsixboy
        13
    connectsixboy  
       324 天前
    @lyang 正常模型文件导入 Netron 就行,不用输入测试,Netron 就是为了应对你这类问题存在的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4053 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 05:18 · PVG 13:18 · LAX 22:18 · JFK 01:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.