建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+ 谷歌浏览器 Firefox 30+ 火狐浏览器
请选择 进入手机版 | 继续访问电脑版-->
设置昵称

在此一键设置昵称,即可参与社区互动!

确定
我再想想
标签
您还可以添加5个标签
  • 没有搜索到和“关键字”相关的标签
  • 云产品
  • 解决方案
  • 技术领域
  • 通用技术
  • 平台功能
取消

superu

角色:成员

话题:0

发消息
发表于2020年05月12日 14:18:17 5221
直达本楼层的链接
楼主
显示全部楼层
[参赛经验分享] 【开发者高校青年班】华为云开发者AI青年班黑客松大赛——参赛方案和总结

赛题简介

基于ModelArts一站式AI开发平台,对10类美食图片进行分类。数据集一共包含5000张美食图片,均来自真实的美食图片数据,

包含中餐、西餐、甜点、粥类,每张图像中美食所占比例大于3/4,每张图片只代表一类美食。竞赛数据分为2个数据集:参赛选手可使用第1个数据集,

第2个数据集有500张美食图片作为评判用(参赛者不可见)。下面是官方给出的Baseline

经验分享

数据集划分

Baseline中默认为0.8训练集,0.2验证集。适当增加训练集的比例,可提高验证集的best acc。但是如果训练集比例过高,会降低模型的的泛化能力,

造成最终评分和best acc 相差过大,即模型仅对已知验证集表现良好,对未知验证集表现较差。

简单数据增强

size = 224
# 使用image net的mean std 归一化
normalize = transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
train_transformer_ImageNet = transforms.Compose([
    transforms.Resize((size,size)),
    transforms.RandomHorizontalFlip(),
    transforms.RandomAffine(degrees=0, translate=(0.05, 0.05), scale=(0.95, 1.05)),
    transforms.ToTensor(),
    normalize
])
 
val_transformer_ImageNet = transforms.Compose([
    transforms.Resize((size,size)),
    transforms.ToTensor(),
    normalize
])

模型选择

尝试了ResNet的不同深度,最后选择了ResNet-101

优化器和学习率衰减

optimizer_ft = optim.SGD(parameters, lr=0.001, momentum=0.9, nesterov=True)
# 使用ReduceLROnPlateau学习调度器,如果三个epoch准确率没有提升,则减少学习率
exp_lr_scheduler = lr_scheduler.ReduceLROnPlateau(optimizer_ft,mode='max',patience=3,verbose=True)

模型性能

单模型,验证集上acc为96.556%,提交到modelarts上,测试集的acc为97.8%。



  



举报
分享

分享文章到朋友圈

分享文章到微博

l番薯加奶

角色:成员

话题:0

发消息
发表于2020年06月11日 17:10:33
直达本楼层的链接
沙发
显示全部楼层

感谢分享~

点赞 评论 引用 举报

游客

富文本
Markdown
您需要登录后才可以回帖 登录 | 立即注册