问题一
RuntimeError: size mismatch, m1: [1 x 8192], m2: [2048 x 2] at C:\w\1\s\tmp_conda_3.7_104508\conda\conda-bld\pytorch_1572950778684\work\aten\src\TH/generic/THTensorMath.cpp:197
经过查询发现resnet50、resnet101、resnet152输入的尺寸都是为224X224的, 如果想用其他尺寸怎么办,修改一下全连接层就可以了,如下
import torch
import torch.nn as nn
__all__ = ['res_net50', 'res_net101', 'res_net152']
class Bottleneck(nn.Module):
expansion = 4
def __init__(self, in_planes, planes, stride=1, down_sample=None):
super(Bottleneck, self).__init__()
self.conv1 = nn.Conv2d(in_planes, planes, kernel_size=1, bias=False)
self.bn1 = nn.BatchNorm2d(planes)
self.conv2 = nn.Conv2d(planes, planes, kernel_size=3, stride=stride,
padding=1, bias=False)
self.bn2 = nn.BatchNorm2d(planes)
self.conv3 = nn.Conv2d(planes, planes * 4, kernel_size=1, bias=False)
self.bn3 = nn.BatchNorm2d(planes * 4)
self.relu = nn.ReLU(inplace=True)
self.down_sample = down_sample
self.stride = stride
def forward(self, x):
residual = x
out = self.conv1(x)
out = self.bn1(out)
out = self.relu(out)
out = self