“华为云杯”2019人工智能创新应用大赛(图像分类比赛)总结记录

本文记录了参加“华为云杯”2019年人工智能创新应用大赛图像分类比赛的过程,包括数据分析、数据爬取与增广、网络结构与训练方法。使用ResNeXt模型并结合CBAM模块,应用mix_up和weighted loss等技巧,最终达到0.972的准确率,但遗憾未进入决赛。
摘要由CSDN通过智能技术生成

最近参加了“华为云杯”2019人工智能创新应用大赛,是一个图像分类的比赛,最终准确率0.972,大概排50多/732。但决赛取前20名,遗憾败北(第20名的准确率是0.982)。
第一次参加类似比赛,总结记录一下。

比赛的代码xyxy875/huawei_xian_image_classification

赛题

对西安的热门景点、美食、特产、民俗、工艺品等图片进行分类,共有54类。
官方给出了3000余张数据集,官方判分的不公开测试集有1000张图片。
要求:不允许使用“测试时增强”策略和“模型融合”策略,可以使用其他来源的图片数据。

数据

数据分析

绘制了混淆矩阵,对难分的类别进行有针对性的增广。
在这里插入图片描述
计算混淆矩阵的代码如下:

from sklearn.metrics import confusion_matrix
def validate(val_loader, model, criterion, args, epoch):
	……
    # confusion_matrix init
    cm = np.zeros((54, 54))

    # switch to evaluate mode
    model.eval()

    with torch.no_grad():
        end = time.time()
        for i, (images, target) in enumerate(val_loader):
            if args.gpu is not None:
                images = images.cuda(args.gpu, non_blocking=True)
            target = target.cuda(args.gpu, non_blocking=True)

            # compute output
            output = model(images)
            loss = criterion(output, target)

            # compute_confusion _ added by YJ on 20191209
            cm += compute_confusion(output, target)
            ……
        confusion_file_name = os.path.join(args.train_local, 'epoch_{}.npy'.format</
  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值