首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >我可以在同一层添加自定义过滤器和pytorch中的随机过滤器吗

我可以在同一层添加自定义过滤器和pytorch中的随机过滤器吗
EN

Stack Overflow用户
提问于 2021-10-11 07:05:26
回答 2查看 33关注 0票数 0

我的意思是,除了像这样的东西:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def __init__(self):
    super(Net, self).__init__()
    self.conv1 = nn.Conv2d(1, 10, 3)

您可以使用常量过滤器,如filter_vals = np.array([[-1, -1, 1], [-1, -1, 1], [-1, -1, 1]])

在同一层。

EN

回答 2

Stack Overflow用户

发布于 2021-10-11 07:51:43

我想,你希望随机参数是可学习的(requires_grad),而固定参数是不可学习的。我不认为它应该在一个conv中完成,而应该是两个,然后是连接,例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
conv1 = nn.Conv2d(1, 6, 3)
conv2 = nn.Conv2d(1, 4, 3)
conv2.weight = ...

y1 = conv1(x)
with torch.no_grad():    
    y2 = conv2(x)
y = torch.cat( (y1,y2), dim=3 )
票数 0
EN

Stack Overflow用户

发布于 2021-10-11 08:00:36

假设您要寻找的是用filter_vals中定义的权重替换卷积层的权重,您可以首先将其扩展到滤波器的数量,这里是10,然后替换conv1的权重

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>> conv1.weight.data = torch.from_numpy(filter_vals).expand_as(conv1.weight) 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69528452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文