我正在嘗試conv1根據(jù)下面的代碼和架構(gòu)可視化層的 cnn 網(wǎng)絡(luò)特征圖。它在沒有 DataParallel 的情況下正常工作,但是當(dāng)我激活model = nn.DataParallel(model)它時(shí),它會(huì)引發(fā)錯(cuò)誤:“DataParallel”對(duì)象沒有屬性“conv1”。任何建議表示贊賞。class Model(nn.Module): def __init__(self, kernel, num_filters, res = ResidualBlock): super(Model, self).__init__() self.conv0 = nn.Sequential( nn.Conv2d(4, num_filters, kernel_size = kernel*3, padding = 4), nn.BatchNorm2d(num_filters), nn.ReLU(inplace=True)) self.conv1 = nn.Sequential( nn.Conv2d(num_filters, num_filters*2, kernel_size = kernel, stride=2, padding = 1), nn.BatchNorm2d(num_filters*2), nn.ReLU(inplace=True)) self.conv2 = nn.Sequential( nn.Conv2d(num_filters*2, num_filters*4, kernel_size = kernel, stride=2, padding = 1), nn.BatchNorm2d(num_filters*4), nn.ReLU(inplace=True)) self.tsconv0 = nn.Sequential( nn.ConvTranspose2d(num_filters*4, num_filters*2, kernel_size = kernel, padding = 1), nn.Upsample(scale_factor=2, mode='bilinear', align_corners=True), nn.ReLU(inplace=True), nn.BatchNorm2d(num_filters*2)) self.tsconv1 = nn.Sequential( nn.ConvTranspose2d(num_filters*2, num_filters, kernel_size = kernel, padding = 1), nn.Upsample(scale_factor=2, mode='bilinear', align_corners=True), nn.ReLU(inplace=True), nn.BatchNorm2d(num_filters)) self.tsconv2 = nn.Sequential( nn.Conv2d(num_filters, 1, kernel_size = kernel*3, padding = 4, bias=False), nn.ReLU(inplace=True))model = Model(kernel, num_filters)model = nn.DataParallel(model)
“DataParallel”對(duì)象沒有屬性“conv1”
慕尼黑8549860
2024-01-27 15:54:10