【阿里天池新人赛】之街景字符识别(5)

【阿里天池新人赛】之街景字符识别(5)

正式赛时间:2020.5.14-2020.6.24
比赛网址:https://tianchi.aliyun.com/competition/entrance/531795/introduction
上次介绍了如何预测模型和提交结果,这次介绍一些细节提升分数。

1.模型更换

模型有很多,都可以进行尝试,ResNet、VGG、Inception v3、EfficientNet等等,但是注意模型过拟合问题,需要恰当选取。
ResNet50

model_conv = models.resnet50(pretrained=True)
# print(model_conv)
model_conv.avgpool = nn.AdaptiveAvgPool2d(1)
num_ftrs = model_conv.fc.in_features
model_conv = nn.Sequential(*list(model_conv.children())[:-1])
print(model_conv)

EfficientNet

model_conv = EfficientNet.from_pretrained('efficientnet-b2', num_classes=11)
print(model_conv)
num_ftrs = model_conv._fc.in_features
model_conv = nn.Sequential(*list(model_conv.children())[:-3])

2.数据增广

尝试更多的数据增广策略,降低位置敏感性。

train_transform = transforms.Compose([transforms.Resize((64, 128)),
                                      transforms.RandomCrop((60, 120)),
                                      transforms.ColorJitter(0.3, 0.3, 0.2),
                                      transforms.RandomRotation(5),
                                      transforms.ToTensor(),
                                      transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])])

3.设置多学习率

设置不同学习率和学习率下降策略。

# conv 小学习率
flag = 0
# flag = 1
if flag:
    fc_params_id = list(map(id, resnet18_ft.fc.parameters()))     # 返回的是parameters的 内存地址
    base_params = filter(lambda p: id(p) not in fc_params_id, resnet18_ft.parameters())
    optimizer = optim.SGD([
        {'params': base_params, 'lr': LR*0},   # 0
        {'params': resnet18_ft.fc.parameters(), 'lr': LR}], momentum=0.9)

else:
    optimizer = optim.SGD(resnet18_ft.parameters(), lr=LR, momentum=0.9)               # 选择优化器
    # optimizer = optim.Adam(resnet18_ft.parameters(), lr=1e-3)

scheduler = torch.optim.lr_scheduler.StepLR(optimizer, step_size=lr_decay_step, gamma=0.3)     # 设置学习率下降策略

4.更换解决思路

要想获得高分,需要结合比赛提供的位置标注信息,可以采取先进行检测,再进行识别问题;或者采用通用的OCR识别思路,RNN+CTC等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值