乐百事

  • 10

    获得赞
  • 3

    发布的文章
  • 0

    答辩的项目

浅谈“水下鱼类物种识别”比赛经验

图像分类

最后更新 2020-04-03 16:12 阅读 485

最后更新 2020-04-03 16:12

阅读 485

图像分类

image.png

首先声明,我是一个人工智能新手,不是大神,所以得分不会特别高,在此也只是想结识更多学习人工智能的朋友,一起探讨学习下.

1. 首先对于数据观察,训练样本分类数量极度不平衡,尝试过很多平衡样本的方法,但是对于提升最终得分好像没有效果,(我猜测可能是最终的测试样本也是不平衡的的)

2.最重要的是模型的选择,我使用的是pytorch官方实现的一个resnet50,使用了官方的预训练模型(flyai也提供了相关下载连接,下载模型更快)https://www.flyai.com/models然后把最后一个全连接修改成对应的分类数量

fc_inputs = model.fc.in_features
model.fc = nn.Sequential(
    nn.Linear(fc_inputs, 256),
    nn.ReLU(),
    nn.Dropout(0.5),
    nn.Linear(256, 21))

3.学习率,这个我认为是所有超参数中最重要的,我曾经做一个项目,模型一摸一样,就是学习率选错了,别人的得分就有八十多,我就只有零点几,我建议选择0.001,并用余弦退火衰减学习率,torch里面有相关函数,直接调用就好.

# 采用SGDOptimizer为网络优化器,定义如下:
optimizer = optim.SGD(model.parameters(), lr=0.001, momentum=0.9, weight_decay=2e-4)

scheduler = torch.optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max=40, eta_min=1e-7, last_epoch=-1)

基本上我最主要做的就是以上步骤,得分最后到达了99分以上,但是最后零点几分,用了很多方法怎么也上不去了,在此也希望大家可以多探讨,多交流.

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可,转载请附上原文出处链接和本声明。
本文链接地址:https://www.flyai.com/article/302
讨论
500字
表情
每日参与讨论奖励 20FAI
发送
每日参与讨论奖励 20FAI
删除确认
是否删除该条评论?
取消 删除