Jeskoo
2021-09-27 20:29
浏览 8

训练回归模型,输出都在标签的均值附近,

本人正在训练一个回归模型,标签的取值是50~100,主要是75,有部分是50,很少有大于75的,但是训练过程中的输出基本都集中在75附近,训练集有3000+图片验证集有1000+图片,训练集和标签的样子如下:

img

img

下图是一个batch中的标签和训练输出,可以看到图像的标签和模型的输出差别很大,

img

我用的超参数是:
optimizer = Adam,
损失函数 = MSE,
batchsize = 32,
lr = 0.001
网络模型如下:

def get_model():
    model = nn.Sequential(

    nn.Conv2d(3,24,5,stride=2),
    nn.ReLU(),
    nn.MaxPool2d(2, stride=1),

    nn.Conv2d(24,36,5,stride=2),
    nn.ReLU(),
    nn.MaxPool2d(2, stride=1),
    
    nn.Conv2d(36,48,5,stride=2),
    nn.ReLU(),
    nn.MaxPool2d(2, stride=1),
    
    nn.Conv2d(48,64,3,stride=1),
    nn.ReLU(),
    nn.MaxPool2d(2, stride=1),
    
    nn.Dropout2d(p=0.2),
    
    nn.Conv2d(64,64,3,stride=1),
    nn.ReLU(),    
    
    nn.Flatten(),
    
    nn.Dropout2d(p=0.2),
    
    nn.Linear(224000,100),
    nn.ReLU(),
    
    nn.Linear(100,50),
    nn.ReLU(),
    
    nn.Linear(50,10),
    nn.ReLU(),
    
    nn.Linear(10,1),
    )
    return model
model = get_model()

请问有明白的指导一下吗?感激不尽!

  • 收藏

相关推荐 更多相似问题