• 请不要在回答技术问题时复制粘贴 AI 生成的内容
lyang
V2EX  ›  程序员

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

  •  
  •   lyang · May 26, 2023 · 3059 views
    This topic created in 1262 days ago, the information mentioned may be changed or developed.

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

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