首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >spectral_norm on GCNConv模块

spectral_norm on GCNConv模块
EN

Stack Overflow用户
提问于 2022-01-12 18:35:56
回答 1查看 176关注 0票数 1

我想在torch.nn.utils层调用spectral_norm函数

代码语言:javascript
运行
复制
gc1 = GCNConv(18, 16)
spectral_norm(gc1)

但我得到了以下错误:

代码语言:javascript
运行
复制
KeyError: 'weight'

这意味着gc1._parameters没有权重(只是偏倚):

代码语言:javascript
运行
复制
gc1._parameters
OrderedDict([('bias', Parameter containing:
              tensor([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
                     requires_grad=True))])

但是,gc1参数()存储两个对象,其中一个是16×18矩阵(权重矩阵)。

代码语言:javascript
运行
复制
for p in gc1.parameters():
  print('P: ', p.shape)
P:  torch.Size([16])
P:  torch.Size([16, 18])

如何使spectral_norm函数在GCNConv模块上工作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-12 19:51:52

根据源代码,权重参数包装在GCNConv对象中包含的线性模块中,作为lin

我认为这样做是可行的:

代码语言:javascript
运行
复制
gc1 = GCNConv(18, 16)
spectral_norm(gc1.lin)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70686721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档