【发布时间】:2023-03-17 05:46:01
【问题描述】:
我有一个深度 = 3 的数据,我想通过 3 个卷积层传递它,每个卷积层有 3x3x3 个内核。 我当前的代码如下。第一个输入是 [batch_size=10, in_channels=1, depth=3, height=128, width=256] 我注意到在第一个 conv3d 层之后输出是 [10,8,1,126,254]。显然它现在有深度 1 并且不接受另一个 3x3x3 层。我怎样才能做到这一点?
class CNet(nn.Module):
def __init__(self, **kwargs):
super().__init__()
self.conv1 = nn.Conv3d(1, 8, kernel_size=3, stride=1, padding=0)
self.conv2 = nn.Conv3d(8, 16, kernel_size=3, stride=1, padding=0)
self.conv3 = nn.Conv3d(16, 32, kernel_size=3, stride=1, padding=0)
self.fc1 = nn.Linear(value, 2)
def forward(self, X):
X = F.relu(self.conv1(X))
X = F.relu(self.conv2(X))
X = F.max_pool2d(X,2)
X = self.conv3(X)
X = F.max_pool2d(X,2)
X = self.fc1(X)
return F.softmax(X,dim =1)
【问题讨论】:
标签: python deep-learning pytorch conv-neural-network