版本 0.7.0

我们很高兴宣布AutoGluon 0.7版本的发布。此版本包含一个新的实验性模块autogluon.eda,用于探索性数据分析。AutoGluon 0.7提供了conda-forge支持,增强了Tabular、MultiModal和Time Series模块,并进行了许多生活质量改进和修复。

一如既往,仅使用与原始训练时相同版本的AutoGluon加载先前训练的模型。 不支持加载在不同版本的AutoGluon中训练的模型。

此版本包含170 次提交,来自 19 位贡献者

查看完整的提交变更日志请访问:https://github.com/autogluon/autogluon/compare/v0.6.2…v0.7.0

特别感谢@MountPOTATO,他是AutoGluon本次发布的首位贡献者!

完整贡献者列表(按提交次数排序):

@Innixma, @zhiqiangdon, @yinweisu, @gradientsky, @shchur, @sxjscience, @FANGAreNotGnu, @yongxinw, @cheungdaven, @liangfu, @tonyhoo, @bryanyzhu, @suzhoum, @canerturkmen, @giswqs, @gidler, @yzhliu, @Linuxdex 和 @MountPOTATO

AutoGluon 0.7 支持 Python 版本 3.8、3.9 和 3.10。从本版本开始,不再支持 Python 3.7。

Changes

新消息:AutoGluon 现已在 conda-forge 上提供

截至AutoGluon 0.7版本发布,AutoGluon现已在conda-forge上提供(#612)!

感谢以下个人使这一切成为可能:

  • @giswqs 领导了整个工作,并作为一人军队推动这一进程。

  • @h-vetinari 为使用conda-forge提供了极好的建议和一些真正出色的反馈。

  • @arturdaraujo, @PertuyF, @ngam 和 @priyanga24 对他们的鼓励、建议和反馈表示感谢。

  • conda-forge 团队对我们(众多)PR 的及时有效审查。

  • @gradientsky 用于在早期阶段测试M1支持。

  • @sxjscience, @zhiqiangdon, @canerturkmen, @shchur, 和 @Innixma 帮助我们升级下游依赖版本以兼容 conda。

  • 所有直接或间接支持这一过程的其他人。

新功能:autogluon.eda(探索性数据分析)

我们很高兴宣布AutoGluon探索性数据分析(EDA)工具包。从v0.7开始,AutoGluon现在可以分析和可视化数据和模型的不同方面。我们邀请您探索以下教程:快速拟合数据集概览目标变量分析协变量偏移分析。其他材料可以在网站的EDA部分找到。

General

  • 添加了Python 3.10支持。@Innixma (#2721)

  • 放弃了对 Python 3.7 的支持。@Innixma (#2722)

  • 移除了 daskdistributed 依赖。@Innixma (#2691)

  • 移除了 autogluon.textautogluon.vision 模块。我们建议未来使用 autogluon.multimodal 进行文本和视觉任务。

AutoMM

AutoGluon MultiModal(又称AutoMM)支持三个新功能:1)文档分类;2)中文命名实体识别;3)使用SVM进行少样本学习

同时,我们移除了autogluon.textautogluon.vision,因为这些功能在autogluon.multimodal中得到了支持

New features

  • 文档分类

    • 添加扫描文档分类(实验性)。

    • 客户可以用几行代码训练扫描文档分类模型

    • 参见 教程

    • 贡献者和提交:@cheungdaven (#2765, #2826, #2833, #2928)

  • 中文语言的NER

    • 支持中文命名实体识别

    • See tutorials

    • 贡献者和提交:@cheungdaven (#2676, #2709)

  • 使用SVM进行少样本学习

    • 通过添加SVM支持改进了少样本学习

    • See tutorials

    • 贡献者和提交:@yongxinw (#2850)

Other Enhancements

  • 添加新的损失函数 FocalLoss。@yongxinw (#2860)

  • 添加实时推理支持的匹配器。@zhiqiangdon (#2613)

  • 添加匹配器 HPO。@zhiqiangdon (#2619)

  • 添加YOLOX模型(小型、大型和超大型)并更新目标检测的预设。@FANGAreNotGnu (#2644, #2867, #2927, #2933)

  • 添加AutoMM预设 @zhiqiangdon. (#2620, #2749, #2839)

  • 为来自HuggingFace、timm和mmdet的模型添加模型转储。@suzhoum @FANGAreNotGnu @liangfu (#2682, #2700, #2737, #2840)

  • NER的错误修复/重构。@cheungdaven (#2659, #2696, #2759, #2773)

  • MultiModalPredictor 导入时间减少。@sxjscience (#2718)

Bug Fixes / Code and Doc Improvements

  • 带有可视化的NER示例。@sxjscience (#2698)

  • Bug修复 / 代码和文档改进。@sxjscience @tonyhoo @giswqs (#2708, #2714, #2739, #2782, #2787, #2857, #2818, #2858, #2859, #2891, #2918, #2940, #2906, #2907)

  • 支持在AutoMM中导出Label-Studio文件,并添加了示例。@MountPOTATO (#2615)

  • 添加了基于Tip-adapter的特征提取的少样本记忆库模型示例。@Linuxdex (#2822)

弃用

  • autogluon.vision 命名空间已弃用。@bryanyzhu (#2790, #2819, #2832)

  • autogluon.text 命名空间已弃用。@sxjscience @Innixma (#2695, #2847)

Tabular

  1. TabularPredictor的推理速度已经得到了极大的优化,实时推理的平均速度提升了250%。这意味着在使用infer_limit时,TabularPredictor可以在许多数据集上满足<10毫秒的端到端延迟,而默认情况下,high_quality预设可以在许多数据集上满足<100毫秒的端到端延迟。

  2. TabularPredictor的"multimodal"超参数预设现在充分利用了MultiModalPredictor的全部功能,从而在包含表格、图像和文本特征的数据集上表现出更强的性能。

Performance Improvements

  • 升级了所有依赖包的版本以使用最新发布版本。@Innixma (#2823, #2829, #2834, #2887, #2915)

  • 通过移除TorchThreadManager上下文切换,加速了集成推理速度150%。@liangfu (#2472)

  • 在具有许多特征的数据集上,将FastAI神经网络推理速度加速了100倍以上,训练速度加速了10倍。@Innixma (#2909)

  • (从0.6.1版本开始) 避免不必要的数据帧复制,以加速特征预处理25%。@liangfu (#2532)

  • (从0.6.1版本开始) 重构NN_TORCH模型,使其可迭代数据集,从而实现100%的推理速度提升。@liangfu (#2395)

  • TabularPredictor.fit传递hyperparameters="multimodal"时,MultiModalPredictor现在被用作集成的一个成员。@Innixma (#2890)

API 增强功能

  • 添加了predict_multipredict_proba_multi方法到TabularPredictor,以高效地从多个模型获取预测。@Innixma (#2727)

  • 当评分被禁用时,允许标签列在leaderboard调用中不存在。@Innixma (#2912)

Deprecations

  • 当使用problem_type="regression"调用predict_proba时,添加了一个弃用警告。在未来的版本中,这将引发异常。@Innixma (#2684)

错误修复 / 文档改进

  • 修复了NN_TORCH模型中不正确的时间限制估计。@Innixma (#2909)

  • 修复了仅使用文本特征进行拟合时的错误。@Innixma (#2705)

  • 修复了在TabularPredictor.fitcalibrate=True, use_bag_holdout=True时的错误。@Innixma (#2715)

  • 修复了在使用RandomForest / ExtraTrees模型调整n_estimators时的错误。@Innixma (#2735)

  • 修复了在安装可选依赖项 skl2onnx 时,Linux/MacOS 上缺少 onnxruntime 依赖的问题。@liangfu (#2923)

  • 修复了Windows上边缘情况的RandomForest错误。@yinweisu (#2851)

  • refit_full添加了改进的日志记录。@Innixma (#2913)

  • 在部署教程中添加了compile_models。@liangfu (#2717)

  • 各种内部代码重构。@Innixma (#2744, #2887)

  • 各种文档和日志改进。@Innixma (#2668)

autogluon.timeseries

New features

  • TimeSeriesPredictor 现在支持 过去协变量(也称为动态特征或相关时间序列,这些在预测时间步长时是未知的)。@shchur (#2665, #2680)

  • 来自StatsForecast的新模型被引入到TimeSeriesPredictor中,用于各种预设(medium_qualityhigh_qualitybest_quality)。@shchur (#2758)

  • 支持对TimeSeriesDataFrame进行缺失值插补,允许用户自定义缺失值的填充逻辑,并在不规则采样的时间序列中填补空白。@shchur (#2781)

  • 使用经验噪声分布提高AutoGluon-Tabular预测器的分位数预测性能。@shchur (#2740)

Bug Fixes / Doc Improvements

  • 错误修复和代码改进。@shchur @canerturkmen (#2703, #2712, #2713, #2769, #2771, #2816, #2817, #2875, #2877, #2919)

  • 文档改进。@shchur @gidler (#2772, #2783, #2800)