在Pytorch中初始化conv2d层

问题描述

我有以下神经网络架构:

A(1x16x5x5)---\
                 -> concat(A,B) (1x32x5x5) --> Conv2D -> classification 
B(1x16x5x5)---/

Conv2D=nn.Conv2d(32,16,kernel_size = 1,stride = 1,padding = 0)

如果我只想选择分支A进行测试,则可以这样初始化Conv2d层:

 convWeights = np.ones((16,32,1,1))
 convWeights[:,16:,:,:] = 0
 myNetwork.Conv2.weight = nn.Parameter(torch.from_numpy(convWeights).float().cuda()) 
 myNetwork.Conv2.bias.data.fill_(0)

但是,它没有给出预期的分类结果。因此,我认为上述代码有问题,可能丢失了一些东西。不久,如何初始化conv2d图层,使其仅选择分支A?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)