版本 0.8.0¶
我们很高兴宣布AutoGluon 0.8版本的发布。
注意:不支持加载在不同版本的AutoGluon中训练的模型。
此版本包含来自20位贡献者的196次提交!
查看完整的提交变更日志请访问:https://github.com/autogluon/autogluon/compare/0.7.0…0.8.0
特别感谢 @geoalgo 在本版本中生成实验性表格 Zeroshot-HPO 组合的联合工作!
完整贡献者列表(按提交次数排序):
@shchur, @Innixma, @yinweisu, @gradientsky, @FANGAreNotGnu, @zhiqiangdon, @gidler, @liangfu, @tonyhoo, @cheungdaven, @cnpgs, @giswqs, @suzhoum, @yongxinw, @isunli, @jjaeyeon, @xiaochenbin9527, @yzhliu, @jsharpna, @sxjscience
AutoGluon 0.8 支持 Python 版本 3.8、3.9 和 3.10。
变更¶
亮点¶
AutoGluon TimeSeries 引入了几项重大改进,包括新模型、升级的预设以提高预测准确性,以及加速训练和推理的优化。
AutoGluon Tabular 现在支持 在二分类中校准决策阈值 (API),这可以显著提升诸如
f1和balanced_accuracy等指标。例如,f1分数从0.70提升到0.73并不罕见。我们 强烈 建议所有使用这些指标的用户尝试新的决策阈值校准逻辑。AutoGluon MultiModal 引入了两个新功能:1) PDF 文档分类,和 2) 开放词汇对象检测。
AutoGluon MultiModal 升级了目标检测的预设,现在提供了
medium_quality、high_quality和best_quality选项。实验结果表明,在使用相同预设的情况下,mAP(平均精度均值)指标相对提高了约20%。AutoGluon Tabular 添加了一个实验性的 Zeroshot HPO 配置,当提供至少一小时的训练时间时,它在小于10000行的小数据集上表现良好(与
best_quality相比,胜率约为60%)。要尝试它,请在调用fit()时指定presets="experimental_zeroshot_hpo_hybrid"。AutoGluon EDA 增加了对异常检测和部分依赖图的支持。
AutoGluon Tabular 已添加对 TabPFN 的实验性支持,这是一个预训练的表格转换器模型。通过
pip install autogluon.tabular[all,tabpfn]尝试使用它(超参数键为“TABPFN”)!
General¶
文档总体改进 @tonyhoo @Innixma @yinweisu @gidler @cnpgs @isunli @giswqs (#2940, #2953, #2963, #3007, #3027, #3059, #3068, #3083, #3128, #3129, #3130, #3147, #3174, #3187, #3256, #3258, #3280, #3306, #3307, #3311, #3313)
通用代码修复和改进 @yinweisu @Innixma (#2921, #3078, #3113, #3140, #3206)
CI改进 @yinweisu @gidler @yzhliu @liangfu @gradientsky (#2965, #3008, #3013, #3020, #3046, #3053, #3108, #3135, #3159, #3283, #3185)
新的AutoGluon网页 @gidler @shchur (#2924)
在RMSE中支持sample_weight @jjaeyeon (#3052)
将AG搜索空间移至公共 @yinweisu (#3192)
弃用工具 @yinweisu (#3206, #3209)
更新命名空间包以兼容PEP420 @gradientsky (#3228)
Multimodal¶
AutoGluon MultiModal(也称为AutoMM)引入了两个新功能:1)PDF文档分类,和2)开放词汇对象检测。此外,我们升级了对象检测的预设,现在提供medium_quality、high_quality和best_quality选项。实证结果显示,在使用相同预设的情况下,mAP(平均精度均值)指标有显著的约20%的相对提升。
新功能¶
性能改进¶
将检测引擎从 mmdet 2.x 升级到 mmdet 3.x,并升级我们的预设 @FANGAreNotGnu (#3262)
medium_quality: yolo-s -> yolox-lhigh_quality: yolox-l -> DINO-Res50best_quality: yolox-x -> DINO-Swin_l
使用deepspeed策略加速融合模型训练。@liangfu (#2932)
启用检测骨干网络冻结以提升微调速度并节省GPU使用 @FANGAreNotGnu (#3220)
其他增强功能¶
支持将数据路径传递给 fit() API @zhiqiangdon (#3006)
将TIMM升级到最新的v0.9.* @zhiqiangdon (#3282)
支持xywh输出用于目标检测 @FANGAreNotGnu (#2948)
使用TensorRT进行融合模型推理加速 @liangfu (#2836, #2987)
支持自定义高级图像数据增强。用户可以传递一系列torchvision transform对象作为图像增强。@zhiqiangdon (#3022)
添加 yoloxm 和 yoloxtiny @FangAreNotGnu (#3038)
为对象检测添加MultiImageMix数据集 @FangAreNotGnu (#3094)
支持加载特定的检查点。用户可以加载除model.ckpt和last.ckpt之外的中间检查点。@zhiqiangdon (#3244)
为模型统计添加一些预测器属性 @zhiqiangdon (#3289)
trainable_parameters返回可训练参数的数量。total_parameters返回总参数的数量。model_size返回以兆字节为单位的模型大小。
错误修复 / 代码和文档改进¶
一般错误修复和改进 @zhiqiangdon @liangfu @cheungdaven @xiaochenbin9527 @Innixma @FANGAreNotGnu @gradientsky @yinweisu @yongxinw (#2939, #2989, #2983, #2998, #3001, #3004, #3006, #3025, #3026, #3048, #3055, #3064, #3070, #3081, #3090, #3103, #3106, #3119, #3155, #3158, #3167, #3180, #3188, #3222, #3261, #3266, #3277, #3279, #3261, #3267)
文档总体改进 @suzhoum (#3295, #3300)
从融合模型中移除剪辑 @liangfu (#2946)
重构推断问题类型和输出形状 @zhiqiangdon (#3227)
在训练期间记录GPU信息,包括GPU总内存、空闲内存、GPU卡名称和CUDA版本 @zhiqaingdon (#3291)
Tabular¶
New Features¶
添加了
calibrate_decision_threshold(教程),它允许优化给定指标的决策阈值,以显著提高指标得分。@Innixma (#3298)我们添加了一个实验性的Zeroshot HPO配置,当提供至少一小时的训练时间时,它在小于10000行的小数据集上表现良好。要尝试它,请在调用
fit()时指定presets="experimental_zeroshot_hpo_hybrid"@Innixma @geoalgo (#3312)TabPFN 模型 现在作为实验性模型被支持。当推理速度不是主要考虑因素,并且训练数据的行数少于 10,000 时,TabPFN 是一个可行的模型选择。通过
pip install autogluon.tabular[all,tabpfn]来尝试它吧!@Innixma (#3270)后端支持分布式训练,将在下一个云模块发布时提供。@yinweisu (#3054, #3110, #3115, #3131, #3142, #3179, #3216)
Performance Improvements¶
加速布尔预处理 @Innixma (#2944)
Other Enhancements¶
为CatBoost添加分位数回归支持 @shchur (#3165)
为LGBModel实现分位数回归 @shchur (#3168)
支持记录到文件 @yinweisu (#3232)
添加对
included_model_types的支持 @yinweisu (#3239)为XGBoost添加enable_categorical=True支持 @Innixma (#3286)
Bug Fixes / Code and Doc Improvements¶
跨操作系统加载一个合适的TabularPredictor现在应该可以正常工作 @yinweisu @Innixma
一般错误修复和改进 @Innixma @cnpgs @shchur @yinweisu @gradientsky (#2865, #2936, #2990, #3045, #3060, #3069, #3148, #3182, #3199, #3226, #3257, #3259, #3268, #3269, #3287, #3288, #3285, #3293, #3294, #3302)
将可解释的逻辑移动到InterpretableTabularPredictor @Innixma (#2981)
增强drop_duplicates,默认启用 @Innixma (#3010)
重构 params_aux 和内存检查 @Innixma (#3033)
提高回归
pred_proba@Innixma (#3240)
TimeSeries¶
在v0.8版本中,我们为时间序列模块引入了几项重大改进,包括新模型、升级的预设以提高预测准确性,以及加速训练和推理的优化。
Highlights¶
新模型:来自GluonTS的
PatchTST和DLinear,以及基于与mlforecast库集成的RecursiveTabular@shchur (#3177, #3184, #3230)由于更新了预设 @shchur (#3281, #3120),提高了准确性并减少了整体训练时间。
对于
AutoARIMA、AutoETS、Theta、DirectTabular、WeightedEnsemble模型,训练和推理速度提高了3-6倍 @shchur (#3062, #3214, #3252)
New Features¶
由于预测缓存 @shchur (#3237),对
predict()、leaderboard()和evaluate()的重复调用速度显著加快。通过使用多个验证窗口来减少过拟合,使用
num_val_windows参数传递给fit()@shchur (#3080)使用
excluded_model_types参数从预设中排除某些模型,传递给fit()@shchur (#3231)新方法
refit_full()可以在训练和验证数据上重新拟合模型 @shchur (#3157)通过提供
hyperparameters参数中的列表来训练同一模型的多个配置 @shchur (#3183)由
time_limit设置的时间限制现在被所有模型遵守 @shchur (#3214)
增强功能¶
对
DirectTabular模型(以前称为AutoGluonTabular)的改进:更快的特征化,如果eval_metric设置为"mean_wQuantileLoss",则训练为分位数回归模型 @shchur (#2973, #3211)在计算MASE指标时使用正确的季节性周期 @shchur (#2970)
从磁盘加载
TimeSeriesPredictor时检查AutoGluon版本 @shchur (#3233)
小改进 / 文档 / 错误修复¶
更新文档和教程 @shchur (#2960, #2964, #3296, #3297)
一般错误修复和改进 @shchur (#2977, #3058, #3066, #3160, #3193, #3202, #3236, #3255, #3275, #3290)
探索性数据分析(EDA)工具¶
在0.8版本中,我们引入了一些新工具来帮助数据探索和特征工程:
异常检测 @gradientsky (#3124, #3137) - 帮助识别数据中显著偏离正常模式的异常模式或行为。它最适合用于发现可能指示欺诈、缺陷或系统故障的异常值、罕见事件或可疑活动。查看异常检测教程以探索其功能。
部分依赖图 @gradientsky (#3071, #3079) - 可视化数据集中每个实例的特征与模型输出之间的关系。双向变体可以可视化任何两个特征之间的潜在交互。详情请参阅本教程:使用交互图表了解数据信息
Bug Fixes / Code and Doc Improvements¶
在
quick_fit中切换回归分析以使用残差图 @gradientsky (#3039)添加了
explain_rows方法到autogluon.eda.auto- 核SHAP可视化 @gradientsky (#3014)一般改进和修复 @gradientsky (#2991, #3056, #3102, #3107, #3138)