橘智橘智
bestwater
预计阅读时间:2分钟33秒

AutoGluon极速体验Kaggle多模态比赛

使用AutoGluon感受一下Kaggle多模态类型的比赛

0
0

一、环境准备

注意事项:需要使用GPU运行,使用CPU打Kaggle多模态比赛会比较困难,想体验的话,可以自行试一下LeNet或者AlexNet

1. 安装AutoGluon

%%time
!pip uninstall torch torchaudio -y  >/dev/null 2>&1  
!python -m pip install --upgrade pip  >/dev/null 2>&1  
!python -m pip install autogluon  >/dev/null 2>&1  

2. 导入依赖库

import os
import numpy as np
import pandas as pd
from autogluon.multimodal import MultiModalPredictor

np.random.seed(42)

二、数据加载与预处理

注意事项:AutoGluon需要两列。一列是图像的存储路径,一列是标签值。

1. 读取训练数据

train_data = pd.read_csv('/kaggle/input/open-data-day-2025-dates-types-classification/train_labels.csv')
image_col = 'filename'
label_col = 'label'

2. 读取测试数据

test_folder = '/kaggle/input/open-data-day-2025-dates-types-classification/test'
image_files = [f for f in os.listdir(test_folder) if f.lower().endswith(('.jpg', '.jpeg', '.png'))]
test_data = pd.DataFrame({'filename': image_files, 'label': None})

3. 扩展文件路径

def path_expander(path, base_folder):
    return os.path.abspath(os.path.join(base_folder, path))

train_data['filename'] = train_data['filename'].apply(lambda x: path_expander(x, base_folder="/kaggle/input/open-data-day-2025-dates-types-classification/train"))
test_data['filename'] = test_data['filename'].apply(lambda x: path_expander(x, base_folder=test_folder))

三、训练AutoGluon模型

3.1、模型定义及训练

predictor = MultiModalPredictor(label=label_col).fit(train_data=train_data, time_limit=3600) 

3.2、AutoGluon训练过程的总结信息

predictor.fit_summary()

返回一个字典,其中包含训练的关键指标

{'val_accuracy': 1.0, 'training_time': 1245.3602871894836} 


四、进行预测并生成提交文件

predictions = predictor.predict(test_data.drop(columns='label'))
test_data['label'] = predictions
test_data['filename'] = test_data['filename'].apply(lambda x: os.path.basename(x))

submission_df = test_data[['filename', 'label']]
os.makedirs('AutogluonFiles', exist_ok=True)
submission_df.to_csv('AutogluonFiles/submission.csv', index=False) 

五、参考链接

AutoGluon官方链接

Kaggle图像分类任务AutoGluon开源Baseline

Kaggle树叶分类任务AutoGluon开源代码

六、总结

  • 通过AutoGluon,我们可以快速构建图像分类模型。
  • 训练过程自动选择最优模型,并进行超参数调优。
  • 如果想提高分数,还需要进行数据增强或者更换其他模型架构

这样,你就完成了一个完整的图像分类任务!🚀 虽然分数可能不高,但AutoGluon确实能省去一些麻烦


评论