Copy disabled (too large)
Download .txt
Showing preview only (12,733K chars total). Download the full file to get everything.
Repository: autogluon/autogluon
Branch: master
Commit: eb0d05871137
Files: 1298
Total size: 11.9 MB
Directory structure:
gitextract_t6hqhpy5/
├── .gitattributes
├── .github/
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug_report.md
│ │ ├── config.yml
│ │ ├── doc_improvement.yml
│ │ └── feature_request.md
│ ├── PULL_REQUEST_TEMPLATE.md
│ ├── actions/
│ │ ├── free-disk-space/
│ │ │ └── action.yml
│ │ ├── setup-env-vars/
│ │ │ └── action.yml
│ │ ├── submit-job/
│ │ │ └── action.yml
│ │ └── test-cloud/
│ │ └── action.yml
│ ├── workflow_scripts/
│ │ ├── build_all_docs.sh
│ │ ├── build_cloud_fit_deploy_tutorial.sh
│ │ ├── build_doc.sh
│ │ ├── build_eda_tutorial.sh
│ │ ├── build_multimodal_tutorial.sh
│ │ ├── build_tabular_prediction_tutorial.sh
│ │ ├── build_timeseries_tutorial.sh
│ │ ├── copy_docs.sh
│ │ ├── env_setup.sh
│ │ ├── lint_check.sh
│ │ ├── run_benchmark.sh
│ │ ├── setup_hf_model_mirror.py
│ │ ├── setup_mmcv.sh
│ │ ├── test_common.sh
│ │ ├── test_core.sh
│ │ ├── test_eda.sh
│ │ ├── test_features.sh
│ │ ├── test_install.sh
│ │ ├── test_install_windows.sh
│ │ ├── test_multimodal.sh
│ │ ├── test_multimodal_others.sh
│ │ ├── test_multimodal_others_2.sh
│ │ ├── test_multimodal_predictor.sh
│ │ ├── test_tabular.sh
│ │ ├── test_timeseries.sh
│ │ ├── version_diff.sh
│ │ └── write_to_s3.sh
│ ├── workflows/
│ │ ├── README.md
│ │ ├── benchmark-command.yml
│ │ ├── benchmark_master.yml
│ │ ├── build_latest_image.yml
│ │ ├── check_hf_model_list.yml
│ │ ├── codeguru-reviewer.yml
│ │ ├── codeql.yml
│ │ ├── codespell.yml
│ │ ├── continuous_integration.yml
│ │ ├── continuous_integration_multigpu.yaml
│ │ ├── platform_tests-command.yml
│ │ ├── pypi_release.yml
│ │ ├── pythonpublish.yml
│ │ ├── pythonpublish_testpypi.yml
│ │ ├── slash_command_dispatch.yml
│ │ └── update-pre-commit.yml
│ └── workflows_env/
│ └── unittest_env.yml
├── .gitignore
├── .pre-commit-config.yaml
├── AWESOME.md
├── CI/
│ ├── batch/
│ │ ├── cancel-job.py
│ │ ├── docker/
│ │ │ ├── Dockerfile.cpu
│ │ │ ├── Dockerfile.gpu
│ │ │ ├── Dockerfile.pyodide
│ │ │ ├── README.md
│ │ │ ├── autogluon_job.sh
│ │ │ └── docker_deploy.sh
│ │ └── submit-job.py
│ ├── bench/
│ │ ├── evaluate.py
│ │ ├── generate_amlb_user_dir.sh
│ │ ├── generate_bench_config.sh
│ │ ├── generate_framework.py
│ │ ├── multimodal/
│ │ │ └── custom_user_dir/
│ │ │ ├── multimodal_constraints.yaml
│ │ │ └── multimodal_frameworks_template.yaml
│ │ ├── tabular/
│ │ │ └── amlb_user_dir/
│ │ │ ├── benchmarks/
│ │ │ │ ├── tabular_full.yaml
│ │ │ │ ├── tabular_small.yaml
│ │ │ │ └── tabular_test.yaml
│ │ │ ├── config.yaml
│ │ │ ├── constraints.yaml
│ │ │ ├── frameworks_template.yaml
│ │ │ └── setup_hf_cache.py
│ │ └── timeseries/
│ │ └── amlb_user_dir/
│ │ ├── benchmarks/
│ │ │ └── timeseries_small.yaml
│ │ ├── config.yaml
│ │ ├── constraints.yaml
│ │ └── frameworks_template.yaml
│ ├── docker/
│ │ ├── Dockerfile.cpu-inference
│ │ ├── Dockerfile.cpu-training
│ │ ├── Dockerfile.gpu-inference
│ │ ├── Dockerfile.gpu-training
│ │ ├── full_install_image.sh
│ │ └── login_ecr.sh
│ └── hf_mirror/
│ ├── Dockerfile
│ ├── deploy.sh
│ ├── download_hf_models.py
│ └── download_hf_models.sh
├── CITING.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── NOTICE
├── README.md
├── SECURITY.md
├── VERSION
├── autogluon/
│ ├── setup.py
│ └── src/
│ └── autogluon/
│ └── _internal_/
│ └── __init__.py
├── common/
│ ├── setup.py
│ ├── src/
│ │ └── autogluon/
│ │ └── common/
│ │ ├── __init__.py
│ │ ├── dataset.py
│ │ ├── features/
│ │ │ ├── __init__.py
│ │ │ ├── feature_metadata.py
│ │ │ ├── infer_types.py
│ │ │ └── types.py
│ │ ├── loaders/
│ │ │ ├── __init__.py
│ │ │ ├── _utils.py
│ │ │ ├── load_json.py
│ │ │ ├── load_pd.py
│ │ │ ├── load_pkl.py
│ │ │ ├── load_s3.py
│ │ │ ├── load_str.py
│ │ │ └── load_zip.py
│ │ ├── model_filter/
│ │ │ ├── __init__.py
│ │ │ └── _model_filter.py
│ │ ├── savers/
│ │ │ ├── __init__.py
│ │ │ ├── save_json.py
│ │ │ ├── save_pd.py
│ │ │ ├── save_pkl.py
│ │ │ └── save_str.py
│ │ ├── space.py
│ │ └── utils/
│ │ ├── __init__.py
│ │ ├── cache_presets_to_yaml.py
│ │ ├── compression_utils.py
│ │ ├── context.py
│ │ ├── cpu_utils.py
│ │ ├── cv_splitter.py
│ │ ├── decorators.py
│ │ ├── deprecated_utils.py
│ │ ├── distribute_utils.py
│ │ ├── file_utils.py
│ │ ├── hyperparameter_utils.py
│ │ ├── lite.py
│ │ ├── log_utils.py
│ │ ├── multiprocessing_utils.py
│ │ ├── nvutil.py
│ │ ├── pandas_utils.py
│ │ ├── path_converter.py
│ │ ├── presets_io.py
│ │ ├── resource_utils.py
│ │ ├── s3_utils.py
│ │ ├── simulation_utils.py
│ │ ├── system_info.py
│ │ ├── try_import.py
│ │ ├── utils.py
│ │ └── warning_filter.py
│ └── tests/
│ ├── __init__.py
│ ├── conftest.py
│ ├── test_check_style.py
│ └── unittests/
│ ├── __init__.py
│ ├── test_compression_utils.py
│ ├── test_dataset.py
│ ├── test_deprecated_utils.py
│ ├── test_hash_pandas_df.py
│ ├── test_import_version.py
│ ├── test_infer_types.py
│ ├── test_log_utils.py
│ ├── test_memory_limit.py
│ ├── test_model_filter.py
│ ├── test_path_converter.py
│ ├── test_s3_utils.py
│ ├── test_setup_outputdir.py
│ ├── test_version.py
│ └── utils/
│ ├── __init__.py
│ ├── test_compare_autogluon_metadata.py
│ ├── test_cpu_detection.py
│ ├── test_get_package_versions.py
│ ├── test_pandas_utils.py
│ └── test_presets_yaml_loading.py
├── core/
│ ├── setup.py
│ ├── src/
│ │ └── autogluon/
│ │ └── core/
│ │ ├── __init__.py
│ │ ├── _setup_utils.py
│ │ ├── augmentation/
│ │ │ ├── __init__.py
│ │ │ └── distill_utils.py
│ │ ├── calibrate/
│ │ │ ├── __init__.py
│ │ │ ├── _decision_threshold.py
│ │ │ ├── conformity_score.py
│ │ │ └── temperature_scaling.py
│ │ ├── callbacks/
│ │ │ ├── __init__.py
│ │ │ ├── _abstract_callback.py
│ │ │ ├── _early_stopping_callback.py
│ │ │ ├── _early_stopping_count_callback.py
│ │ │ ├── _early_stopping_ensemble_callback.py
│ │ │ ├── _example_callback.py
│ │ │ └── _smooth_count.py
│ │ ├── constants.py
│ │ ├── data/
│ │ │ ├── __init__.py
│ │ │ ├── cleaner.py
│ │ │ └── label_cleaner.py
│ │ ├── hpo/
│ │ │ ├── __init__.py
│ │ │ ├── constants.py
│ │ │ ├── exceptions.py
│ │ │ ├── executors.py
│ │ │ ├── ray_hpo.py
│ │ │ ├── ray_tune_constants.py
│ │ │ ├── ray_tune_scheduler.py
│ │ │ ├── ray_tune_scheduler_factory.py
│ │ │ ├── ray_tune_searcher_factory.py
│ │ │ └── space_converter.py
│ │ ├── learner/
│ │ │ ├── __init__.py
│ │ │ └── abstract_learner.py
│ │ ├── learning_curves/
│ │ │ └── plot_curves.py
│ │ ├── metrics/
│ │ │ ├── __init__.py
│ │ │ ├── classification_metrics.py
│ │ │ ├── quantile_metrics.py
│ │ │ ├── score_func.py
│ │ │ └── softclass_metrics.py
│ │ ├── models/
│ │ │ ├── __init__.py
│ │ │ ├── _utils.py
│ │ │ ├── abstract/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── _tags.py
│ │ │ │ ├── abstract_model.py
│ │ │ │ ├── abstract_nn_model.py
│ │ │ │ └── model_trial.py
│ │ │ ├── dummy/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── _dummy_quantile_regressor.py
│ │ │ │ └── dummy_model.py
│ │ │ ├── ensemble/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── bagged_ensemble_model.py
│ │ │ │ ├── fold_fitting_strategy.py
│ │ │ │ ├── ray_parallel_fold_fitting_strategy.py
│ │ │ │ ├── stacker_ensemble_model.py
│ │ │ │ └── weighted_ensemble_model.py
│ │ │ └── greedy_ensemble/
│ │ │ ├── __init__.py
│ │ │ ├── ensemble_selection.py
│ │ │ └── greedy_weighted_ensemble_model.py
│ │ ├── problem_type.py
│ │ ├── pseudolabeling/
│ │ │ ├── __init__.py
│ │ │ └── pseudolabeling.py
│ │ ├── ray/
│ │ │ ├── __init__.py
│ │ │ ├── distributed_jobs_managers.py
│ │ │ └── resources_calculator.py
│ │ ├── scheduler/
│ │ │ ├── __init__.py
│ │ │ ├── reporter.py
│ │ │ ├── scheduler_factory.py
│ │ │ └── seq_scheduler.py
│ │ ├── searcher/
│ │ │ ├── __init__.py
│ │ │ ├── dummy_searcher.py
│ │ │ ├── exceptions.py
│ │ │ ├── local_grid_searcher.py
│ │ │ ├── local_random_searcher.py
│ │ │ ├── local_searcher.py
│ │ │ └── searcher_factory.py
│ │ ├── stacked_overfitting/
│ │ │ └── utils.py
│ │ ├── testing/
│ │ │ ├── __init__.py
│ │ │ └── global_context_snapshot.py
│ │ ├── trainer/
│ │ │ ├── __init__.py
│ │ │ ├── abstract_trainer.py
│ │ │ └── utils.py
│ │ └── utils/
│ │ ├── __init__.py
│ │ ├── early_stopping.py
│ │ ├── exceptions.py
│ │ ├── feature_selection.py
│ │ ├── files.py
│ │ ├── infer_utils.py
│ │ ├── loaders/
│ │ │ └── __init__.py
│ │ ├── plots.py
│ │ ├── savers/
│ │ │ └── __init__.py
│ │ ├── time.py
│ │ ├── utils.py
│ │ └── version_utils.py
│ └── tests/
│ ├── __init__.py
│ ├── conftest.py
│ ├── test_check_style.py
│ └── unittests/
│ ├── __init__.py
│ ├── calibrate/
│ │ ├── __init__.py
│ │ └── test_decision_threshold.py
│ ├── core/
│ │ ├── __init__.py
│ │ └── scheduler/
│ │ ├── __init__.py
│ │ └── test_scheduler_factory.py
│ ├── hpo/
│ │ ├── __init__.py
│ │ ├── test_ray_hpo.py
│ │ └── test_space_converter.py
│ ├── metrics/
│ │ ├── __init__.py
│ │ ├── test_classification_metrics.py
│ │ ├── test_metric_kwargs.py
│ │ ├── test_metrics.py
│ │ └── test_quantile_metrics.py
│ ├── models/
│ │ ├── __init__.py
│ │ ├── abstract_model/
│ │ │ ├── __init__.py
│ │ │ └── test_init_user_params.py
│ │ └── test_bagged_ensemble_model.py
│ ├── ray/
│ │ ├── __init__.py
│ │ └── test_resource_calculator.py
│ ├── scheduler/
│ │ ├── __init__.py
│ │ ├── test_scheduler.py
│ │ └── test_seq_scheduler.py
│ ├── searcher/
│ │ ├── __init__.py
│ │ ├── test_local_grid_searcher.py
│ │ ├── test_local_random_searcher.py
│ │ └── test_local_searcher.py
│ ├── test_feature_selection.py
│ ├── test_import_version.py
│ ├── test_parallel_local_folding.py
│ ├── test_search_space.py
│ └── utils/
│ ├── __init__.py
│ ├── decorators/
│ │ ├── __init__.py
│ │ └── test_presets.py
│ ├── test_augment_rare_classes.py
│ ├── test_time.py
│ ├── test_utils.py
│ └── test_version_utils.py
├── docs/
│ ├── .gitignore
│ ├── LICENSE
│ ├── README.md
│ ├── _static/
│ │ ├── custom.css
│ │ └── custom.js
│ ├── _templates/
│ │ ├── autosummary/
│ │ │ ├── base.rst
│ │ │ ├── class.rst
│ │ │ └── module.rst
│ │ └── custom_class.rst
│ ├── api/
│ │ ├── autogluon.common.space.rst
│ │ ├── autogluon.features.rst
│ │ └── autogluon.tabular.models.rst
│ ├── api.rst
│ ├── build.yml
│ ├── build_doc.sh
│ ├── build_pip_install.sh
│ ├── cheatsheet.md
│ ├── conf.py
│ ├── index.md
│ ├── install-conda-full.md
│ ├── install-cpu-pip.md
│ ├── install-cpu-source.md
│ ├── install-cpu-uv.md
│ ├── install-gpu-pip.md
│ ├── install-gpu-source.md
│ ├── install-gpu-uv.md
│ ├── install-linux-conda-gpu.md
│ ├── install-mac-conda.md
│ ├── install-mac-cpu-source.md
│ ├── install-mac-cpu.md
│ ├── install-mac-libomp.md
│ ├── install-mac-nogpu.md
│ ├── install-modules.md
│ ├── install-windows-conda-gpu.md
│ ├── install-windows-cpu.md
│ ├── install-windows-generic.md
│ ├── install-windows-gpu.md
│ ├── install.md
│ ├── requirements_doc.txt
│ ├── static/
│ │ └── managed_solutions.html
│ ├── tutorials/
│ │ ├── cloud_fit_deploy/
│ │ │ ├── autogluon-cloud.md
│ │ │ ├── autopilot-autogluon.ipynb
│ │ │ ├── cloud-aws-lambda-deployment.ipynb
│ │ │ ├── cloud-aws-sagemaker-train-deploy.ipynb
│ │ │ └── index.md
│ │ ├── eda/
│ │ │ ├── components/
│ │ │ │ ├── autogluon.eda.anomaly.md
│ │ │ │ ├── autogluon.eda.dataset.md
│ │ │ │ ├── autogluon.eda.explain.md
│ │ │ │ ├── autogluon.eda.interaction.md
│ │ │ │ ├── autogluon.eda.missing.md
│ │ │ │ ├── autogluon.eda.model.md
│ │ │ │ ├── autogluon.eda.shift.md
│ │ │ │ ├── autogluon.eda.transform.md
│ │ │ │ └── index.md
│ │ │ ├── eda-auto-analyze-interaction.ipynb
│ │ │ ├── eda-auto-anomaly-detection.ipynb
│ │ │ ├── eda-auto-covariate-shift.ipynb
│ │ │ ├── eda-auto-dataset-overview.ipynb
│ │ │ ├── eda-auto-quick-fit.ipynb
│ │ │ ├── eda-auto-target-analysis.ipynb
│ │ │ ├── index.md
│ │ │ └── references/
│ │ │ ├── autogluon.eda.auto.md
│ │ │ ├── autogluon.eda.base-apis.md
│ │ │ └── index.md
│ │ ├── multimodal/
│ │ │ ├── advanced_topics/
│ │ │ │ ├── continuous_training.ipynb
│ │ │ │ ├── customization.ipynb
│ │ │ │ ├── efficient_finetuning_basic.ipynb
│ │ │ │ ├── few_shot_learning.ipynb
│ │ │ │ ├── focal_loss.ipynb
│ │ │ │ ├── hyperparameter_optimization.ipynb
│ │ │ │ ├── index.md
│ │ │ │ ├── model_distillation.ipynb
│ │ │ │ ├── multiple_label_columns.ipynb
│ │ │ │ ├── presets.ipynb
│ │ │ │ ├── problem_types_and_metrics.ipynb
│ │ │ │ └── tensorrt.ipynb
│ │ │ ├── document_prediction/
│ │ │ │ ├── document_classification.ipynb
│ │ │ │ ├── index.md
│ │ │ │ └── pdf_classification.ipynb
│ │ │ ├── image_prediction/
│ │ │ │ ├── beginner_image_cls.ipynb
│ │ │ │ ├── clip_zeroshot.ipynb
│ │ │ │ └── index.md
│ │ │ ├── image_segmentation/
│ │ │ │ ├── beginner_semantic_seg.ipynb
│ │ │ │ └── index.md
│ │ │ ├── index.md
│ │ │ ├── multimodal-faq.md
│ │ │ ├── multimodal_prediction/
│ │ │ │ ├── beginner_multimodal.ipynb
│ │ │ │ ├── index.md
│ │ │ │ ├── multimodal-quick-start.ipynb
│ │ │ │ ├── multimodal_ner.ipynb
│ │ │ │ └── multimodal_text_tabular.ipynb
│ │ │ ├── object_detection/
│ │ │ │ ├── advanced/
│ │ │ │ │ ├── finetune_coco.ipynb
│ │ │ │ │ └── index.md
│ │ │ │ ├── data_preparation/
│ │ │ │ │ ├── convert_data_to_coco_format.ipynb
│ │ │ │ │ ├── index.md
│ │ │ │ │ ├── object_detection_with_dataframe.ipynb
│ │ │ │ │ ├── prepare_coco17.ipynb
│ │ │ │ │ ├── prepare_pothole.ipynb
│ │ │ │ │ ├── prepare_voc.ipynb
│ │ │ │ │ ├── prepare_watercolor.ipynb
│ │ │ │ │ └── voc_to_coco.ipynb
│ │ │ │ ├── index.md
│ │ │ │ └── quick_start/
│ │ │ │ ├── index.md
│ │ │ │ └── quick_start_coco.ipynb
│ │ │ ├── semantic_matching/
│ │ │ │ ├── image2image_matching.ipynb
│ │ │ │ ├── image_text_matching.ipynb
│ │ │ │ ├── index.md
│ │ │ │ ├── text2text_matching.ipynb
│ │ │ │ ├── text_semantic_search.ipynb
│ │ │ │ └── zero_shot_img_txt_matching.ipynb
│ │ │ └── text_prediction/
│ │ │ ├── beginner_text.ipynb
│ │ │ ├── chinese_ner.ipynb
│ │ │ ├── index.md
│ │ │ ├── multilingual_text.ipynb
│ │ │ └── ner.ipynb
│ │ ├── tabular/
│ │ │ ├── advanced/
│ │ │ │ ├── index.md
│ │ │ │ ├── tabular-custom-metric.ipynb
│ │ │ │ ├── tabular-custom-model-advanced.ipynb
│ │ │ │ ├── tabular-custom-model.ipynb
│ │ │ │ ├── tabular-deployment.ipynb
│ │ │ │ ├── tabular-gpu.ipynb
│ │ │ │ ├── tabular-hpo.ipynb
│ │ │ │ ├── tabular-kaggle.ipynb
│ │ │ │ └── tabular-multilabel.ipynb
│ │ │ ├── how-it-works.md
│ │ │ ├── index.md
│ │ │ ├── tabular-essentials.ipynb
│ │ │ ├── tabular-faq.md
│ │ │ ├── tabular-feature-engineering.ipynb
│ │ │ ├── tabular-foundational-models.ipynb
│ │ │ ├── tabular-indepth.ipynb
│ │ │ ├── tabular-multimodal.ipynb
│ │ │ └── tabular-quick-start.ipynb
│ │ └── timeseries/
│ │ ├── advanced/
│ │ │ ├── forecasting-custom-model.ipynb
│ │ │ └── index.md
│ │ ├── forecasting-chronos.ipynb
│ │ ├── forecasting-ensembles.md
│ │ ├── forecasting-faq.md
│ │ ├── forecasting-indepth.ipynb
│ │ ├── forecasting-metrics.md
│ │ ├── forecasting-model-zoo.md
│ │ ├── forecasting-quick-start.ipynb
│ │ ├── index.md
│ │ └── model_zoo/
│ │ └── index.md
│ ├── versions.rst
│ └── whats_new/
│ ├── index.md
│ ├── v0.4.0.md
│ ├── v0.4.1.md
│ ├── v0.4.2.md
│ ├── v0.4.3.md
│ ├── v0.5.1.md
│ ├── v0.5.2.md
│ ├── v0.6.0.md
│ ├── v0.6.1.md
│ ├── v0.6.2.md
│ ├── v0.7.0.md
│ ├── v0.8.0.md
│ ├── v0.8.1.md
│ ├── v0.8.2.md
│ ├── v0.8.3.md
│ ├── v1.0.0.md
│ ├── v1.1.0.md
│ ├── v1.1.1.md
│ ├── v1.2.0.md
│ ├── v1.3.0.md
│ ├── v1.3.1.md
│ ├── v1.4.0.md
│ └── v1.5.0.md
├── eda/
│ ├── setup.cfg
│ ├── setup.py
│ ├── src/
│ │ └── autogluon/
│ │ └── eda/
│ │ ├── __init__.py
│ │ ├── analysis/
│ │ │ ├── __init__.py
│ │ │ ├── anomaly.py
│ │ │ ├── base.py
│ │ │ ├── dataset.py
│ │ │ ├── explain.py
│ │ │ ├── interaction.py
│ │ │ ├── missing.py
│ │ │ ├── model.py
│ │ │ ├── shift.py
│ │ │ └── transform.py
│ │ ├── auto/
│ │ │ ├── __init__.py
│ │ │ └── simple.py
│ │ ├── state.py
│ │ ├── utils/
│ │ │ ├── __init__.py
│ │ │ ├── common.py
│ │ │ └── defaults.py
│ │ └── visualization/
│ │ ├── __init__.py
│ │ ├── anomaly.py
│ │ ├── base.py
│ │ ├── dataset.py
│ │ ├── explain.py
│ │ ├── interaction.py
│ │ ├── jupyter.py
│ │ ├── layouts.py
│ │ ├── missing.py
│ │ ├── model.py
│ │ └── shift.py
│ └── tests/
│ ├── __init__.py
│ ├── conftest.py
│ ├── test_check_style.py
│ └── unittests/
│ ├── __init__.py
│ ├── analysis/
│ │ ├── __init__.py
│ │ ├── test_anomaly.py
│ │ ├── test_base.py
│ │ ├── test_dataset.py
│ │ ├── test_explain.py
│ │ ├── test_interaction.py
│ │ ├── test_missing.py
│ │ ├── test_model.py
│ │ └── test_transform.py
│ ├── auto/
│ │ ├── __init__.py
│ │ └── test_simple.py
│ ├── resources/
│ │ ├── adult/
│ │ │ ├── test_data.csv
│ │ │ └── train_data.csv
│ │ └── houses/
│ │ ├── test_data.csv
│ │ └── train_data.csv
│ ├── test_shift.py
│ ├── test_state.py
│ └── visualization/
│ ├── __init__.py
│ ├── test_anomaly.py
│ ├── test_base.py
│ ├── test_dataset.py
│ ├── test_explain.py
│ ├── test_interaction.py
│ ├── test_layouts.py
│ ├── test_missing.py
│ └── test_model.py
├── examples/
│ ├── automm/
│ │ ├── Conv-LoRA/
│ │ │ ├── README.md
│ │ │ ├── prepare_semantic_segmentation_datasets.py
│ │ │ └── run_semantic_segmentation.py
│ │ ├── TCGA_cancer_survival/
│ │ │ ├── README.md
│ │ │ └── example_cancer_survival.py
│ │ ├── distillation/
│ │ │ ├── README.md
│ │ │ ├── automm_distillation_glue.py
│ │ │ ├── automm_distillation_pawsx.py
│ │ │ └── eval_pawsx.py
│ │ ├── kaggle_california_house_price/
│ │ │ ├── README.md
│ │ │ └── example_kaggle_house.py
│ │ ├── kaggle_feedback_prize/
│ │ │ ├── README.md
│ │ │ ├── kaggle_feedback_prize_preprocess.py
│ │ │ ├── kaggle_feedback_prize_submit.py
│ │ │ └── kaggle_feedback_prize_train.py
│ │ ├── kaggle_pawpularity/
│ │ │ ├── README.md
│ │ │ ├── kaggle_pawpularity_submit.py
│ │ │ └── kaggle_pawpularity_train.py
│ │ ├── label_studio_export_reader/
│ │ │ └── LabelStudio_export_file_reader.md
│ │ ├── memory_bank/
│ │ │ ├── README.md
│ │ │ ├── memory_bank.py
│ │ │ └── utils.py
│ │ ├── object_detection/
│ │ │ ├── benchmarking.py
│ │ │ ├── detection_eval.py
│ │ │ ├── detection_inference.py
│ │ │ ├── detection_load.py
│ │ │ ├── detection_train.py
│ │ │ ├── download_coco17.sh
│ │ │ ├── download_voc07.sh
│ │ │ ├── download_voc0712.sh
│ │ │ ├── download_voc12.sh
│ │ │ ├── download_watercolor.sh
│ │ │ ├── eval_pretrained_coco_format.py
│ │ │ ├── eval_pretrained_voc_format.py
│ │ │ ├── finetune_coco_format.py
│ │ │ ├── finetune_on_pothole_dataset.py
│ │ │ ├── inference_pretrained_coco_format.py
│ │ │ ├── inference_pretrained_voc_format.py
│ │ │ ├── load_predictor.py
│ │ │ ├── pretrain_objects365.py
│ │ │ ├── quick_start_on_a_tiny_dataset.py
│ │ │ └── visualize_results.py
│ │ ├── pipeline/
│ │ │ └── feature_extraction_example.py
│ │ ├── production/
│ │ │ └── onnx_text.py
│ │ ├── tabular_dl/
│ │ │ ├── README.md
│ │ │ ├── dataset.py
│ │ │ ├── example_tabular.py
│ │ │ └── run_all.sh
│ │ └── text_prediction/
│ │ ├── README.md
│ │ ├── generate_submission.py
│ │ ├── prepare_data_scientist_salary.sh
│ │ ├── prepare_glue.py
│ │ ├── prepare_mercari_kaggle.sh
│ │ ├── prepare_price_of_books.sh
│ │ ├── run_competition.py
│ │ ├── run_glue.sh
│ │ ├── run_text_prediction.py
│ │ └── url_checksums/
│ │ ├── glue.txt
│ │ └── superglue.txt
│ ├── image_regression/
│ │ └── demo.py
│ └── tabular/
│ ├── distill/
│ │ └── example_distill_binary.py
│ ├── example_advanced_tabular.py
│ ├── example_custom_feature_generator.py
│ ├── example_custom_model_tabular.py
│ ├── example_mitra.py
│ ├── example_quantile_regression.py
│ ├── example_simple_tabular.py
│ └── interpret/
│ ├── SHAP with AutoGluon-Tabular Census income classification.ipynb
│ ├── SHAP with AutoGluon-Tabular Diabetes regression.ipynb
│ └── SHAP with AutoGluon-Tabular.ipynb
├── features/
│ ├── setup.py
│ ├── src/
│ │ └── autogluon/
│ │ └── features/
│ │ ├── __init__.py
│ │ ├── binning.py
│ │ ├── generators/
│ │ │ ├── __init__.py
│ │ │ ├── abstract.py
│ │ │ ├── arithmetic/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── _numba_opt.py
│ │ │ │ ├── canonical_key.py
│ │ │ │ ├── combinations.py
│ │ │ │ ├── combinations_lite.py
│ │ │ │ ├── filtering.py
│ │ │ │ ├── memory.py
│ │ │ │ ├── operation.py
│ │ │ │ └── preprocessor.py
│ │ │ ├── astype.py
│ │ │ ├── auto_ml_pipeline.py
│ │ │ ├── binned.py
│ │ │ ├── bulk.py
│ │ │ ├── cat_as_num.py
│ │ │ ├── cat_int.py
│ │ │ ├── category.py
│ │ │ ├── datetime.py
│ │ │ ├── drop_duplicates.py
│ │ │ ├── drop_unique.py
│ │ │ ├── dummy.py
│ │ │ ├── fillna.py
│ │ │ ├── frequency.py
│ │ │ ├── groupby.py
│ │ │ ├── identity.py
│ │ │ ├── isnan.py
│ │ │ ├── label_encoder.py
│ │ │ ├── memory_minimize.py
│ │ │ ├── one_hot_encoder.py
│ │ │ ├── oof_target_encoder.py
│ │ │ ├── pipeline.py
│ │ │ ├── rename.py
│ │ │ ├── rsfc.py
│ │ │ ├── selection.py
│ │ │ ├── skrub/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── _sklearn_compat.py
│ │ │ │ └── _squashing_scaler.py
│ │ │ ├── text_ngram.py
│ │ │ └── text_special.py
│ │ ├── registry/
│ │ │ ├── __init__.py
│ │ │ ├── _ag_feature_generator_registry.py
│ │ │ ├── _feature_generator_registry.py
│ │ │ └── parse_custom_generator.py
│ │ ├── utils.py
│ │ └── vectorizers.py
│ └── tests/
│ ├── __init__.py
│ ├── conftest.py
│ ├── features/
│ │ ├── __init__.py
│ │ ├── conftest.py
│ │ ├── generators/
│ │ │ ├── __init__.py
│ │ │ ├── arithmetic/
│ │ │ │ ├── __init__.py
│ │ │ │ └── test_operation.py
│ │ │ ├── test_astype.py
│ │ │ ├── test_auto_ml_pipeline.py
│ │ │ ├── test_bulk.py
│ │ │ ├── test_category.py
│ │ │ ├── test_datetime.py
│ │ │ ├── test_drop_duplicates.py
│ │ │ ├── test_dummy.py
│ │ │ ├── test_fillna.py
│ │ │ ├── test_identity.py
│ │ │ ├── test_isnan.py
│ │ │ ├── test_label_encoder.py
│ │ │ ├── test_one_hot_encoder.py
│ │ │ ├── test_oof_target_encoder.py
│ │ │ ├── test_pipeline.py
│ │ │ ├── test_rename.py
│ │ │ ├── test_text_ngram.py
│ │ │ └── test_text_special.py
│ │ ├── test_feature_metadata.py
│ │ └── test_utils.py
│ └── test_check_style.py
├── full_install.bat
├── full_install.sh
├── multimodal/
│ ├── setup.py
│ ├── src/
│ │ └── autogluon/
│ │ └── multimodal/
│ │ ├── __init__.py
│ │ ├── cli/
│ │ │ ├── __init__.py
│ │ │ ├── prepare_detection_dataset.py
│ │ │ └── voc2coco.py
│ │ ├── configs/
│ │ │ ├── __init__.py
│ │ │ ├── data/
│ │ │ │ └── default.yaml
│ │ │ ├── distiller/
│ │ │ │ └── default.yaml
│ │ │ ├── matcher/
│ │ │ │ └── default.yaml
│ │ │ ├── model/
│ │ │ │ └── default.yaml
│ │ │ ├── optim/
│ │ │ │ └── default.yaml
│ │ │ └── pretrain/
│ │ │ ├── __init__.py
│ │ │ └── detection/
│ │ │ ├── __init__.py
│ │ │ ├── coco_detection.py
│ │ │ ├── default_runtime.py
│ │ │ ├── dino/
│ │ │ │ ├── dino-4scale_r50_8xb2-12e_coco.py
│ │ │ │ ├── dino-5scale_swin-l_8xb2-12e_coco.py
│ │ │ │ ├── dino-5scale_swin-l_8xb2-36e_coco.py
│ │ │ │ ├── dino_swinl_tta.py
│ │ │ │ └── dino_tta.py
│ │ │ ├── faster_rcnn/
│ │ │ │ ├── __init__.py
│ │ │ │ └── faster_rcnn_r50_fpn.py
│ │ │ ├── schedule_1x.py
│ │ │ ├── voc/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── faster_rcnn_r50_fpn_1x_voc0712.py
│ │ │ │ └── voc0712.py
│ │ │ └── yolox/
│ │ │ ├── __init__.py
│ │ │ ├── yolox_l_8xb8-300e_coco.py
│ │ │ ├── yolox_m_8xb8-300e_coco.py
│ │ │ ├── yolox_nano_8xb8-300e_coco.py
│ │ │ ├── yolox_s_8xb8-300e_coco.py
│ │ │ ├── yolox_tiny_8xb8-300e_coco.py
│ │ │ ├── yolox_tta.py
│ │ │ └── yolox_x_8xb8-300e_coco.py
│ │ ├── constants.py
│ │ ├── data/
│ │ │ ├── __init__.py
│ │ │ ├── collator.py
│ │ │ ├── datamodule.py
│ │ │ ├── dataset.py
│ │ │ ├── dataset_mmlab/
│ │ │ │ ├── __init__.py
│ │ │ │ └── multi_image_mix_dataset.py
│ │ │ ├── infer_types.py
│ │ │ ├── label_encoder.py
│ │ │ ├── mixup.py
│ │ │ ├── nlpaug.py
│ │ │ ├── preprocess_dataframe.py
│ │ │ ├── process_categorical.py
│ │ │ ├── process_document.py
│ │ │ ├── process_image.py
│ │ │ ├── process_label.py
│ │ │ ├── process_mmlab/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── process_mmdet.py
│ │ │ │ ├── process_mmlab_base.py
│ │ │ │ └── process_mmocr.py
│ │ │ ├── process_ner.py
│ │ │ ├── process_numerical.py
│ │ │ ├── process_semantic_seg_img.py
│ │ │ ├── process_text.py
│ │ │ ├── randaug.py
│ │ │ ├── template_engine.py
│ │ │ ├── templates.py
│ │ │ ├── trivial_augmenter.py
│ │ │ └── utils.py
│ │ ├── learners/
│ │ │ ├── __init__.py
│ │ │ ├── base.py
│ │ │ ├── ensemble.py
│ │ │ ├── few_shot_svm.py
│ │ │ ├── matching.py
│ │ │ ├── ner.py
│ │ │ ├── object_detection.py
│ │ │ └── semantic_segmentation.py
│ │ ├── models/
│ │ │ ├── __init__.py
│ │ │ ├── adaptation_layers.py
│ │ │ ├── augmenter.py
│ │ │ ├── categorical_mlp.py
│ │ │ ├── clip.py
│ │ │ ├── custom_hf_models/
│ │ │ │ └── modeling_sam_for_conv_lora.py
│ │ │ ├── custom_transformer.py
│ │ │ ├── document_transformer.py
│ │ │ ├── ft_transformer.py
│ │ │ ├── fusion/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── base.py
│ │ │ │ ├── fusion_mlp.py
│ │ │ │ ├── fusion_ner.py
│ │ │ │ └── fusion_transformer.py
│ │ │ ├── hf_text.py
│ │ │ ├── meta_transformer.py
│ │ │ ├── mlp.py
│ │ │ ├── mmdet_image.py
│ │ │ ├── mmocr_text_detection.py
│ │ │ ├── mmocr_text_recognition.py
│ │ │ ├── ner_text.py
│ │ │ ├── numerical_mlp.py
│ │ │ ├── sam.py
│ │ │ ├── t_few.py
│ │ │ ├── timm_image.py
│ │ │ └── utils.py
│ │ ├── optim/
│ │ │ ├── __init__.py
│ │ │ ├── deepspeed.py
│ │ │ ├── lit_distiller.py
│ │ │ ├── lit_matcher.py
│ │ │ ├── lit_mmdet.py
│ │ │ ├── lit_module.py
│ │ │ ├── lit_ner.py
│ │ │ ├── lit_semantic_seg.py
│ │ │ ├── losses/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── bce_loss.py
│ │ │ │ ├── focal_loss.py
│ │ │ │ ├── lemda_loss.py
│ │ │ │ ├── rkd_loss.py
│ │ │ │ ├── softmax_losses.py
│ │ │ │ ├── structure_loss.py
│ │ │ │ └── utils.py
│ │ │ ├── lr/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── lr_schedulers.py
│ │ │ │ └── utils.py
│ │ │ ├── metrics/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── coverage_metrics.py
│ │ │ │ ├── hit_rate_metrics.py
│ │ │ │ ├── ranking_metrics.py
│ │ │ │ ├── semantic_seg_metrics.py
│ │ │ │ └── utils.py
│ │ │ └── utils.py
│ │ ├── predictor.py
│ │ └── utils/
│ │ ├── __init__.py
│ │ ├── cache.py
│ │ ├── checkpoint.py
│ │ ├── colormap.py
│ │ ├── config.py
│ │ ├── device.py
│ │ ├── distillation.py
│ │ ├── download.py
│ │ ├── env.py
│ │ ├── export.py
│ │ ├── hpo.py
│ │ ├── inference.py
│ │ ├── install.py
│ │ ├── label_studio.py
│ │ ├── load.py
│ │ ├── log.py
│ │ ├── matcher.py
│ │ ├── misc.py
│ │ ├── mmcv.py
│ │ ├── object_detection.py
│ │ ├── onnx.py
│ │ ├── path.py
│ │ ├── precision.py
│ │ ├── presets.py
│ │ ├── problem_types.py
│ │ ├── registry.py
│ │ ├── save.py
│ │ ├── strategy.py
│ │ └── visualizer.py
│ └── tests/
│ ├── README.md
│ ├── __init__.py
│ ├── conftest.py
│ ├── hf_dataset_list.yaml
│ ├── hf_model_list.yaml
│ ├── test_check_style.py
│ └── unittests/
│ ├── __init__.py
│ ├── others/
│ │ ├── __init__.py
│ │ ├── test_backbones.py
│ │ ├── test_data_collators.py
│ │ ├── test_deployment_onnx.py
│ │ ├── test_dump_model.py
│ │ ├── test_ensemble.py
│ │ ├── test_extract_features.py
│ │ ├── test_load.py
│ │ ├── test_losses.py
│ │ ├── test_matcher.py
│ │ ├── test_metrics.py
│ │ ├── test_ner.py
│ │ ├── test_object_detection.py
│ │ ├── test_preprocess_data.py
│ │ ├── test_presets.py
│ │ ├── test_process_images.py
│ │ ├── test_process_multimodal.py
│ │ ├── test_process_text.py
│ │ ├── test_registry.py
│ │ ├── test_save.py
│ │ └── test_semantic_segmentation.py
│ ├── others_2/
│ │ ├── __init__.py
│ │ ├── test_classify_doc.py
│ │ ├── test_config.py
│ │ ├── test_custom_hparams.py
│ │ ├── test_custom_training.py
│ │ ├── test_distiller.py
│ │ ├── test_few_shot.py
│ │ ├── test_hpo.py
│ │ ├── test_image_formats.py
│ │ ├── test_ner_chinese.py
│ │ ├── test_problem_types.py
│ │ ├── test_text_detection.py
│ │ ├── test_text_recognition.py
│ │ ├── test_tokenizers.py
│ │ └── test_zero_shot.py
│ ├── predictor/
│ │ ├── __init__.py
│ │ └── test_predictor.py
│ └── utils/
│ ├── __init__.py
│ ├── unittest_datasets.py
│ └── utils.py
├── pyproject.toml
├── release_instructions/
│ ├── ReleaseInstructions.md
│ ├── add_links_to_release_notes.py
│ ├── autogluon-conda-upgrade/
│ │ └── SKILL.md
│ └── update-conda-recipes.md
├── setup.cfg
├── tabular/
│ ├── setup.py
│ ├── src/
│ │ └── autogluon/
│ │ └── tabular/
│ │ ├── __init__.py
│ │ ├── configs/
│ │ │ ├── __init__.py
│ │ │ ├── config_helper.py
│ │ │ ├── feature_generator_presets.py
│ │ │ ├── hyperparameter_configs.py
│ │ │ ├── pipeline_presets.py
│ │ │ ├── presets_configs.py
│ │ │ └── zeroshot/
│ │ │ ├── __init__.py
│ │ │ ├── zeroshot_portfolio_2023.py
│ │ │ ├── zeroshot_portfolio_2025.py
│ │ │ ├── zeroshot_portfolio_cpu_2025_12_18.py
│ │ │ └── zeroshot_portfolio_gpu_2025_12_18.py
│ │ ├── experimental/
│ │ │ ├── __init__.py
│ │ │ ├── _scikit_mixin.py
│ │ │ ├── _tabular_classifier.py
│ │ │ ├── _tabular_regressor.py
│ │ │ └── plot_leaderboard.py
│ │ ├── learner/
│ │ │ ├── __init__.py
│ │ │ ├── abstract_learner.py
│ │ │ └── default_learner.py
│ │ ├── models/
│ │ │ ├── __init__.py
│ │ │ ├── _utils/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── rapids_utils.py
│ │ │ │ └── torch_utils.py
│ │ │ ├── abstract/
│ │ │ │ ├── __init__.py
│ │ │ │ └── abstract_torch_model.py
│ │ │ ├── automm/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── automm_model.py
│ │ │ │ └── ft_transformer.py
│ │ │ ├── catboost/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── callbacks.py
│ │ │ │ ├── catboost_model.py
│ │ │ │ ├── catboost_softclass_utils.py
│ │ │ │ ├── catboost_utils.py
│ │ │ │ └── hyperparameters/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── parameters.py
│ │ │ │ └── searchspaces.py
│ │ │ ├── ebm/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── ebm_model.py
│ │ │ │ └── hyperparameters/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── parameters.py
│ │ │ │ └── searchspaces.py
│ │ │ ├── fastainn/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── callbacks.py
│ │ │ │ ├── fastai_helpers.py
│ │ │ │ ├── hyperparameters/
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── parameters.py
│ │ │ │ │ └── searchspaces.py
│ │ │ │ ├── imports_helper.py
│ │ │ │ ├── quantile_helpers.py
│ │ │ │ └── tabular_nn_fastai.py
│ │ │ ├── image_prediction/
│ │ │ │ ├── __init__.py
│ │ │ │ └── image_predictor.py
│ │ │ ├── imodels/
│ │ │ │ ├── __init__.py
│ │ │ │ └── imodels_models.py
│ │ │ ├── knn/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── _knn_loo_variants.py
│ │ │ │ ├── knn_model.py
│ │ │ │ ├── knn_rapids_model.py
│ │ │ │ └── knn_utils.py
│ │ │ ├── lgb/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── callbacks.py
│ │ │ │ ├── hyperparameters/
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── parameters.py
│ │ │ │ │ └── searchspaces.py
│ │ │ │ ├── lgb_model.py
│ │ │ │ └── lgb_utils.py
│ │ │ ├── lr/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── hyperparameters/
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── parameters.py
│ │ │ │ │ └── searchspaces.py
│ │ │ │ ├── lr_model.py
│ │ │ │ ├── lr_preprocessing_utils.py
│ │ │ │ └── lr_rapids_model.py
│ │ │ ├── mitra/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── _internal/
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── config/
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ ├── config_pretrain.py
│ │ │ │ │ │ ├── config_run.py
│ │ │ │ │ │ ├── enums.py
│ │ │ │ │ │ └── tab2d.yaml
│ │ │ │ │ ├── core/
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ ├── callbacks.py
│ │ │ │ │ │ ├── get_loss.py
│ │ │ │ │ │ ├── get_optimizer.py
│ │ │ │ │ │ ├── get_scheduler.py
│ │ │ │ │ │ ├── prediction_metrics.py
│ │ │ │ │ │ └── trainer_finetune.py
│ │ │ │ │ ├── data/
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ ├── collator.py
│ │ │ │ │ │ ├── dataset_finetune.py
│ │ │ │ │ │ ├── dataset_split.py
│ │ │ │ │ │ └── preprocessor.py
│ │ │ │ │ ├── models/
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ ├── base.py
│ │ │ │ │ │ ├── embedding.py
│ │ │ │ │ │ └── tab2d.py
│ │ │ │ │ └── utils/
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ └── set_seed.py
│ │ │ │ ├── mitra_model.py
│ │ │ │ └── sklearn_interface.py
│ │ │ ├── realmlp/
│ │ │ │ ├── __init__.py
│ │ │ │ └── realmlp_model.py
│ │ │ ├── rf/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── compilers/
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── native.py
│ │ │ │ │ └── onnx.py
│ │ │ │ ├── rf_model.py
│ │ │ │ ├── rf_quantile.py
│ │ │ │ └── rf_rapids_model.py
│ │ │ ├── tabdpt/
│ │ │ │ ├── __init__.py
│ │ │ │ └── tabdpt_model.py
│ │ │ ├── tabicl/
│ │ │ │ ├── __init__.py
│ │ │ │ └── tabicl_model.py
│ │ │ ├── tabm/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── _tabm_internal.py
│ │ │ │ ├── rtdl_num_embeddings.py
│ │ │ │ ├── tabm_model.py
│ │ │ │ └── tabm_reference.py
│ │ │ ├── tabpfnmix/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── _internal/
│ │ │ │ │ ├── LICENSE
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── config/
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ └── config_run.py
│ │ │ │ │ ├── core/
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ ├── callbacks.py
│ │ │ │ │ │ ├── collator.py
│ │ │ │ │ │ ├── dataset_split.py
│ │ │ │ │ │ ├── enums.py
│ │ │ │ │ │ ├── get_loss.py
│ │ │ │ │ │ ├── get_optimizer.py
│ │ │ │ │ │ ├── get_scheduler.py
│ │ │ │ │ │ ├── trainer_finetune.py
│ │ │ │ │ │ └── y_transformer.py
│ │ │ │ │ ├── data/
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ ├── dataset_finetune.py
│ │ │ │ │ │ └── preprocessor.py
│ │ │ │ │ ├── models/
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ └── foundation/
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ ├── embedding.py
│ │ │ │ │ │ └── foundation_transformer.py
│ │ │ │ │ ├── results/
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ └── prediction_metrics.py
│ │ │ │ │ ├── tabpfnmix_classifier.py
│ │ │ │ │ └── tabpfnmix_regressor.py
│ │ │ │ └── tabpfnmix_model.py
│ │ │ ├── tabpfnv2/
│ │ │ │ ├── __init__.py
│ │ │ │ └── tabpfnv2_5_model.py
│ │ │ ├── tabprep/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── prep_lgb_model.py
│ │ │ │ └── prep_mixin.py
│ │ │ ├── tabular_nn/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── compilers/
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── native.py
│ │ │ │ │ └── onnx.py
│ │ │ │ ├── hyperparameters/
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── parameters.py
│ │ │ │ │ └── searchspaces.py
│ │ │ │ ├── torch/
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── tabular_nn_torch.py
│ │ │ │ │ ├── tabular_torch_dataset.py
│ │ │ │ │ └── torch_network_modules.py
│ │ │ │ └── utils/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── categorical_encoders.py
│ │ │ │ ├── data_preprocessor.py
│ │ │ │ └── nn_architecture_utils.py
│ │ │ ├── text_prediction/
│ │ │ │ ├── __init__.py
│ │ │ │ └── text_prediction_v1_model.py
│ │ │ ├── xgboost/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── callbacks.py
│ │ │ │ ├── hyperparameters/
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── parameters.py
│ │ │ │ │ └── searchspaces.py
│ │ │ │ ├── xgboost_model.py
│ │ │ │ └── xgboost_utils.py
│ │ │ └── xt/
│ │ │ ├── __init__.py
│ │ │ └── xt_model.py
│ │ ├── predictor/
│ │ │ ├── __init__.py
│ │ │ ├── interpretable_predictor.py
│ │ │ └── predictor.py
│ │ ├── registry/
│ │ │ ├── __init__.py
│ │ │ ├── _ag_model_registry.py
│ │ │ └── _model_registry.py
│ │ ├── testing/
│ │ │ ├── __init__.py
│ │ │ ├── fit_helper.py
│ │ │ ├── generate_datasets.py
│ │ │ └── model_fit_helper.py
│ │ ├── trainer/
│ │ │ ├── __init__.py
│ │ │ ├── abstract_trainer.py
│ │ │ ├── auto_trainer.py
│ │ │ └── model_presets/
│ │ │ ├── __init__.py
│ │ │ ├── presets.py
│ │ │ └── presets_distill.py
│ │ └── tuning/
│ │ ├── __init__.py
│ │ └── feature_pruner.py
│ └── tests/
│ ├── __init__.py
│ ├── conftest.py
│ ├── regressiontests/
│ │ ├── __init__.py
│ │ ├── test_tabular_lite.py
│ │ ├── test_tabular_regression.py
│ │ └── utils.py
│ ├── test_check_style.py
│ └── unittests/
│ ├── __init__.py
│ ├── calibrate/
│ │ ├── __init__.py
│ │ └── test_calibrate.py
│ ├── callbacks/
│ │ ├── __init__.py
│ │ └── test_callbacks.py
│ ├── configs/
│ │ ├── __init__.py
│ │ ├── test_config_helper.py
│ │ ├── test_pipline_presets.py
│ │ └── test_presets.py
│ ├── data/
│ │ ├── __init__.py
│ │ ├── test_label_cleaner.py
│ │ └── test_learning_curves.py
│ ├── dynamic_stacking/
│ │ ├── __init__.py
│ │ └── test_dynamic_stacking.py
│ ├── edgecases/
│ │ ├── __init__.py
│ │ └── test_edgecases.py
│ ├── experimental/
│ │ ├── __init__.py
│ │ └── test_scikit_api.py
│ ├── models/
│ │ ├── __init__.py
│ │ ├── advanced/
│ │ │ ├── __init__.py
│ │ │ ├── test_bagged_deterministic.py
│ │ │ ├── test_model_random_seed.py
│ │ │ ├── test_refit_full.py
│ │ │ └── test_stack_feature_usage.py
│ │ ├── test_advanced.py
│ │ ├── test_automm.py
│ │ ├── test_catboost.py
│ │ ├── test_dummy.py
│ │ ├── test_ebm.py
│ │ ├── test_image_predictor.py
│ │ ├── test_knn.py
│ │ ├── test_lightgbm.py
│ │ ├── test_lightgbm_prep.py
│ │ ├── test_linear.py
│ │ ├── test_mitra.py
│ │ ├── test_realmlp.py
│ │ ├── test_rf.py
│ │ ├── test_tabdpt.py
│ │ ├── test_tabicl.py
│ │ ├── test_tabm.py
│ │ ├── test_tabpfnv2.py
│ │ ├── test_tabular_nn.py
│ │ ├── test_tabular_nn_fastai.py
│ │ ├── test_text_prediction_v1_model.py
│ │ ├── test_xgboost.py
│ │ └── test_xt.py
│ ├── pseudolabel/
│ │ ├── __init__.py
│ │ └── pseudo_filter.py
│ ├── registry/
│ │ ├── __init__.py
│ │ └── test_model_registry.py
│ ├── resource_allocation/
│ │ ├── __init__.py
│ │ ├── test_bagging_resource_allocation.py
│ │ ├── test_custom_memory_limit.py
│ │ ├── test_gpu_assignment.py
│ │ ├── test_hpo_resource_allocation.py
│ │ ├── test_resource_allocation_combined.py
│ │ ├── test_resources_mocking.py
│ │ └── test_total_resource_allocation.py
│ └── test_tabular.py
└── timeseries/
├── setup.py
├── src/
│ └── autogluon/
│ └── timeseries/
│ ├── __init__.py
│ ├── configs/
│ │ ├── __init__.py
│ │ ├── hyperparameter_presets.py
│ │ └── predictor_presets.py
│ ├── dataset/
│ │ ├── __init__.py
│ │ └── ts_dataframe.py
│ ├── learner.py
│ ├── metrics/
│ │ ├── __init__.py
│ │ ├── abstract.py
│ │ ├── point.py
│ │ ├── quantile.py
│ │ └── utils.py
│ ├── models/
│ │ ├── __init__.py
│ │ ├── abstract/
│ │ │ ├── __init__.py
│ │ │ ├── abstract_timeseries_model.py
│ │ │ ├── model_trial.py
│ │ │ └── tunable.py
│ │ ├── autogluon_tabular/
│ │ │ ├── __init__.py
│ │ │ ├── mlforecast.py
│ │ │ ├── per_step.py
│ │ │ ├── transforms.py
│ │ │ └── utils.py
│ │ ├── chronos/
│ │ │ ├── __init__.py
│ │ │ ├── chronos2.py
│ │ │ ├── model.py
│ │ │ └── utils.py
│ │ ├── ensemble/
│ │ │ ├── __init__.py
│ │ │ ├── abstract.py
│ │ │ ├── array_based/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── abstract.py
│ │ │ │ ├── models.py
│ │ │ │ └── regressor/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── abstract.py
│ │ │ │ ├── linear_stacker.py
│ │ │ │ ├── per_quantile_tabular.py
│ │ │ │ └── tabular.py
│ │ │ ├── ensemble_selection.py
│ │ │ ├── per_item_greedy.py
│ │ │ └── weighted/
│ │ │ ├── __init__.py
│ │ │ ├── abstract.py
│ │ │ ├── basic.py
│ │ │ └── greedy.py
│ │ ├── gluonts/
│ │ │ ├── __init__.py
│ │ │ ├── abstract.py
│ │ │ ├── dataset.py
│ │ │ └── models.py
│ │ ├── local/
│ │ │ ├── __init__.py
│ │ │ ├── abstract_local_model.py
│ │ │ ├── naive.py
│ │ │ ├── npts.py
│ │ │ └── statsforecast.py
│ │ ├── multi_window/
│ │ │ ├── __init__.py
│ │ │ └── multi_window_model.py
│ │ ├── registry.py
│ │ └── toto/
│ │ ├── __init__.py
│ │ ├── _internal/
│ │ │ ├── LICENSE
│ │ │ ├── README.txt
│ │ │ ├── __init__.py
│ │ │ ├── backbone/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── attention.py
│ │ │ │ ├── backbone.py
│ │ │ │ ├── distribution.py
│ │ │ │ ├── kvcache.py
│ │ │ │ ├── rope.py
│ │ │ │ ├── rotary_embedding_torch.py
│ │ │ │ ├── scaler.py
│ │ │ │ └── transformer.py
│ │ │ ├── dataset.py
│ │ │ └── forecaster.py
│ │ ├── dataloader.py
│ │ ├── hf_pretrained_model.py
│ │ └── model.py
│ ├── predictor.py
│ ├── regressor.py
│ ├── splitter.py
│ ├── trainer/
│ │ ├── __init__.py
│ │ ├── ensemble_composer.py
│ │ ├── model_set_builder.py
│ │ ├── prediction_cache.py
│ │ ├── trainer.py
│ │ └── utils.py
│ ├── transforms/
│ │ ├── __init__.py
│ │ ├── covariate_scaler.py
│ │ └── target_scaler.py
│ └── utils/
│ ├── __init__.py
│ ├── constants.py
│ ├── datetime/
│ │ ├── __init__.py
│ │ ├── base.py
│ │ ├── lags.py
│ │ ├── seasonality.py
│ │ └── time_features.py
│ ├── features.py
│ ├── forecast.py
│ ├── timer.py
│ └── warning_filters.py
└── tests/
├── __init__.py
├── conftest.py
├── smoketests/
│ ├── __init__.py
│ └── test_all_models.py
└── unittests/
├── __init__.py
├── common.py
├── conftest.py
├── models/
│ ├── __init__.py
│ ├── chronos/
│ │ ├── __init__.py
│ │ ├── test_chronos2.py
│ │ ├── test_model.py
│ │ └── test_utils.py
│ ├── common.py
│ ├── conftest.py
│ ├── ensemble/
│ │ ├── __init__.py
│ │ ├── array_based/
│ │ │ ├── __init__.py
│ │ │ ├── conftest.py
│ │ │ ├── test_abstract.py
│ │ │ ├── test_linear_stacker.py
│ │ │ ├── test_models.py
│ │ │ └── test_tabular.py
│ │ ├── conftest.py
│ │ ├── test_abstract.py
│ │ ├── test_per_item_greedy.py
│ │ └── test_weighted.py
│ ├── test_abstract.py
│ ├── test_gluonts.py
│ ├── test_local.py
│ ├── test_mlforecast.py
│ ├── test_models.py
│ ├── test_multi_window_model.py
│ ├── test_per_step_tabular.py
│ ├── test_registry.py
│ └── test_toto.py
├── test_learner.py
├── test_metrics.py
├── test_predictor.py
├── test_regressor.py
├── test_splitter.py
├── test_transforms.py
├── test_ts_dataset.py
├── trainer/
│ ├── __init__.py
│ ├── test_ensemble_composer.py
│ ├── test_model_set_builder.py
│ ├── test_prediction_cache.py
│ └── test_trainer.py
└── utils/
├── __init__.py
├── test_features.py
├── test_timer.py
└── test_utils.py
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitattributes
================================================
# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto eol=lf
# Explicitly declare text files you want to always be normalized and converted
# to native line endings on checkout.
*.c text eol=lf
*.h text eol=lf
*.cc text eol=lf
*.cpp text eol=lf
*.cxx text eol=lf
*.hh text eol=lf
*.hpp text eol=lf
*.hxx text eol=lf
*.py text eol=lf
*.sh text eol=lf
*.md text eol=lf
*.txt text eol=lf
# Declare files that will always have CRLF line endings on checkout.
*.sln text eol=crlf
*.bat text eol=crlf
# Denote all files that are truly binary and should not be modified.
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.ico binary
*.pdf binary
*.dll binary
*.exe binary
*.pyc binary
*.pkl binary
================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.md
================================================
---
name: Bug Report
about: Create a report to help us reproduce and correct the bug
title: "[BUG]"
labels: ['bug: unconfirmed', 'Needs Triage']
assignees: ''
---
**Bug Report Checklist**
<!-- Please ensure at least one of the following to help the developers troubleshoot the problem: -->
- [ ] I provided code that demonstrates a minimal reproducible example. <!-- Ideal, especially via source install -->
- [ ] I confirmed bug exists on the latest mainline of AutoGluon via source install. <!-- Preferred -->
- [ ] I confirmed bug exists on the latest stable version of AutoGluon. <!-- Unnecessary if prior items are checked -->
**Describe the bug**
<!-- A clear and concise description of what the bug is. -->
**Expected behavior**
<!-- A clear and concise description of what you expected to happen. -->
**To Reproduce**
<!-- A minimal script to reproduce the issue. Links to Colab notebooks or similar tools are encouraged.
If the code is too long, feel free to put it in a public gist and link it in the issue: https://gist.github.com.
In short, we are going to copy-paste your code to run it and we expect to get the same result as you. -->
**Screenshots / Logs**
<!-- If applicable, add screenshots or logs to help explain your problem. -->
**Installed Versions**
<!-- Please run the following code snippet: -->
<details>
```python
# Replace this code with the output of the following:
from autogluon.core.utils import show_versions
show_versions()
```
</details>
================================================
FILE: .github/ISSUE_TEMPLATE/config.yml
================================================
blank_issues_enabled: true
contact_links:
- name: Discussions
url: https://github.com/autogluon/autogluon/discussions/new
about: Ask questions and discuss with other AutoGluon community members
- name: Blank issue
url: https://github.com/autogluon/autogluon/issues/new
about: Open a blank issue if none of the other templates apply
================================================
FILE: .github/ISSUE_TEMPLATE/doc_improvement.yml
================================================
name: Documentation improvement
description: Create a report to help us improve the documentation. Alternatively you can just open a pull request with the suggested change.
labels: ['API & Doc', 'Needs Triage']
body:
- type: textarea
attributes:
label: Describe the issue linked to the documentation
description: >
Tell us about the confusion introduced in the documentation.
validations:
required: true
- type: textarea
attributes:
label: Suggest a potential alternative/fix
description: >
Tell us how we could improve the documentation in this regard.
================================================
FILE: .github/ISSUE_TEMPLATE/feature_request.md
================================================
---
name: Feature Request
about: Suggest an idea for this project
title: ""
labels: ['enhancement']
assignees: ''
---
## Description
A clear and concise description of what the feature is.
- Please indicate which module (`multimodal`, `tabular`, `timeseries`) this proposal refers to.
- If the proposal is about an API modification, provide mock examples, if possible.
## References
- list pointers to related resources (scientific papers, blogs, documentation)
- list known open-source implementations, if they exist
================================================
FILE: .github/PULL_REQUEST_TEMPLATE.md
================================================
*Issue #, if available:*
*Description of changes:*
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
================================================
FILE: .github/actions/free-disk-space/action.yml
================================================
name: 'Free Disk Space'
description: 'Free up disk space on Ubuntu runners'
runs:
using: "composite"
steps:
- name: Free disk space (Ubuntu)
if: runner.os == 'Linux'
shell: bash
run: |
echo "Before cleanup:"
df -h
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache/CodeQL
sudo apt-get clean
echo "After cleanup:"
df -h
================================================
FILE: .github/actions/setup-env-vars/action.yml
================================================
name: "Setup Env Vars"
runs:
using: "composite"
steps:
- name: Get Commit SHA(For push)
if: ${{ github.event_name == 'push' }}
shell: bash
env:
SHA: ${{ github.sha }}
branch: ${{ github.ref }}
git_repo: ${{ github.repository }}
pr_number: ""
run: |
short_sha=$(git rev-parse --short "$SHA")
echo "BRANCH=$branch" >> $GITHUB_ENV
echo "GIT_REPO=$git_repo" >> $GITHUB_ENV
echo "SHORT_SHA=$short_sha" >> $GITHUB_ENV
echo "PR_NUMBER=$pr_number" >> $GITHUB_ENV
- name: Get Commit SHA(For pull request)
if: ${{ github.event_name == 'pull_request_target' }}
shell: bash
env:
SHA: ${{ github.event.pull_request.head.sha }}
branch: ${{ github.event.pull_request.head.ref }}
git_repo: ${{ github.event.pull_request.head.repo.full_name }}
pr_number: PR-${{ github.event.number }}
run: |
short_sha=$(git rev-parse --short "$SHA")
echo "BRANCH=$branch" >> $GITHUB_ENV
echo "GIT_REPO=$git_repo" >> $GITHUB_ENV
echo "SHORT_SHA=$short_sha" >> $GITHUB_ENV
echo "PR_NUMBER=$pr_number" >> $GITHUB_ENV
================================================
FILE: .github/actions/submit-job/action.yml
================================================
name: "Submit Job to AWS Batch"
inputs:
job-type:
required: true
job-name:
required: true
work-dir:
required: false
default: .
command:
required: true
runs:
using: "composite"
steps:
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v1
with:
role-to-assume: arn:aws:iam::369469875935:role/AutoGluonCiRole
role-duration-seconds: 14400
aws-region: us-east-1
- name: Install dependencies
shell: bash
run: |
pip install boto3
- name: Check for Actor Permission
id: check
continue-on-error: true
uses: prince-chrismc/check-actor-permissions-action@v2
with:
github_token: ${{ github.token }}
permission: write
- name: Submit Job(For Push)
if: ${{ github.event_name == 'push' }}
shell: bash
env:
COMMAND: ${{ inputs.command }}
SOURCE_REF: ${{ github.ref }}
run: |
echo "Start submitting job"
python ./CI/batch/submit-job.py --job-type ${{ inputs.job-type }}-PUSH \
--name "${{ inputs.job-name }}-$SOURCE_REF" \
--source-ref "$SOURCE_REF" \
--work-dir ${{ inputs.work-dir }} \
--remote https://github.com/'${{ github.repository }}' \
--command "$COMMAND" \
--safe-to-use-script \
--wait
- name: Submit Job(For Pull Request Safe Scripts)
if: ${{ github.event_name == 'pull_request_target' && steps.check.outputs.permitted == 'true' }}
shell: bash
env:
COMMAND: ${{ inputs.command }}
run: |
echo "Start submitting job"
python ./CI/batch/submit-job.py --job-type ${{ inputs.job-type }} \
--name ${{ inputs.job-name }}-PR#'${{ github.event.number }}' \
--source-ref '${{ github.event.pull_request.head.sha }}' \
--work-dir ${{ inputs.work-dir }} \
--remote https://github.com/'${{ github.event.pull_request.head.repo.full_name }}' \
--command "$COMMAND" \
--safe-to-use-script \
--wait
- name: Submit Job(For Pull Request Not Safe Scripts)
if: ${{ github.event_name == 'pull_request_target' && steps.check.outputs.permitted != 'true' }}
shell: bash
env:
COMMAND: ${{ inputs.command }}
run: |
echo "Start submitting job"
python ./CI/batch/submit-job.py --job-type ${{ inputs.job-type }} \
--name ${{ inputs.job-name }}-PR#'${{ github.event.number }}' \
--source-ref '${{ github.event.pull_request.head.sha }}' \
--work-dir ${{ inputs.work-dir }} \
--remote https://github.com/'${{ github.event.pull_request.head.repo.full_name }}' \
--command "$COMMAND" \
--wait
================================================
FILE: .github/actions/test-cloud/action.yml
================================================
name: "Test Cloud Module"
inputs:
submodule-to-test:
required: true
runs:
using: "composite"
steps:
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v1
with:
role-to-assume: arn:aws:iam::369469875935:role/AutoGluonCloudCIRole
role-duration-seconds: 7200
aws-region: us-east-1
- name: Test Cloud Submodule
shell: bash
run: |
chmod +x ./.github/workflow_scripts/test_cloud.sh && ./.github/workflow_scripts/test_cloud.sh '${{ inputs.submodule-to-test }}'
================================================
FILE: .github/workflow_scripts/build_all_docs.sh
================================================
#!/usr/bin/env bash
# This script build the docs and store the results into a intermediate bucket to prevent our web hosting bucket being manipulated intentionally
# The final docs will be copied to the web hosting bucket diromg GitHub workflow that runs in the context of the base repository's default branch
BRANCH=$(basename $1)
GIT_REPO=$2
COMMIT_SHA=$3
PR_NUMBER=$4
set -ex
source $(dirname "$0")/env_setup.sh
source $(dirname "$0")/write_to_s3.sh
if [[ (-n $PR_NUMBER) || ($GIT_REPO != autogluon/autogluon) ]]
then
bucket='autogluon-staging'
if [[ -n $PR_NUMBER ]]; then path=$PR_NUMBER; else path=$BRANCH; fi
site=$bucket.s3-website-us-west-2.amazonaws.com/$path/$COMMIT_SHA # site is the actual bucket location that will serve the doc
else
if [[ $BRANCH == 'master' ]]
then
path='dev'
else
if [[ $BRANCH == 'dev' ]]
then
path='dev-branch'
else
path=$BRANCH
fi
fi
bucket='autogluon.mxnet.io'
site=$bucket/$path # site is the actual bucket location that will serve the doc
fi
other_doc_version_text='Stable Version Documentation'
other_doc_version_branch='stable'
if [[ $BRANCH == 'stable' ]]
then
other_doc_version_text='Dev Version Documentation'
other_doc_version_branch='dev'
fi
if [[ -n $PR_NUMBER ]];
then
BUCKET=autogluon-ci
BUILD_DOCS_PATH=s3://$BUCKET/build_docs/$PR_NUMBER/$COMMIT_SHA
S3_PATH=s3://$BUCKET/build_docs/${path}/$COMMIT_SHA/all
else
BUCKET=autogluon-ci-push
BUILD_DOCS_PATH=s3://$BUCKET/build_docs/$BRANCH/$COMMIT_SHA
S3_PATH=s3://$BUCKET/build_docs/$BRANCH/$COMMIT_SHA/all # We still write to BRANCH so copy_docs.sh knows where to find it
fi
setup_build_contrib_env
install_all_no_tests
LOCAL_DOC_PATH=_build/html
cd docs
rm -rf tutorials/eda # disable eda temporarily
sphinx-build -D nb_execution_mode=off -b html . $LOCAL_DOC_PATH
rm -rf "$LOCAL_DOC_PATH/.doctrees/" # remove build artifacts that are not needed to serve webpage
# Overwrite un-executed tutorials w/ executed versions (with images) from other build jobs
aws s3 cp $BUILD_DOCS_PATH/tutorials/ $LOCAL_DOC_PATH/tutorials/ --recursive --exclude "*/index.html"
aws s3 cp $BUILD_DOCS_PATH/_images/ $LOCAL_DOC_PATH/_images/ --recursive
COMMAND_EXIT_CODE=$?
if [ $COMMAND_EXIT_CODE -ne 0 ]; then
exit COMMAND_EXIT_CODE
fi
# Write docs to s3
write_to_s3 $BUCKET $LOCAL_DOC_PATH $S3_PATH
================================================
FILE: .github/workflow_scripts/build_cloud_fit_deploy_tutorial.sh
================================================
#!/bin/bash
set -ex
shopt -s extglob
BRANCH=$(basename $1)
GIT_REPO=$2
COMMIT_SHA=$3
PR_NUMBER=$4 # For push events, PR_NUMBER will be empty
source $(dirname "$0")/env_setup.sh
source $(dirname "$0")/build_doc.sh
build_doc cloud_fit_deploy $BRANCH $GIT_REPO $COMMIT_SHA $PR_NUMBER
================================================
FILE: .github/workflow_scripts/build_doc.sh
================================================
function build_doc {
DOC="$1"
BRANCH="$2"
GIT_REPO="$3"
COMMIT_SHA="$4"
PR_NUMBER="$5" # For push events, PR_NUMBER will be empty
SUB_DOC=$6 # Can be empty
source $(dirname "$0")/write_to_s3.sh
source $(dirname "$0")/setup_mmcv.sh
setup_build_contrib_env
bash docs/build_pip_install.sh
setup_mmcv
if [[ -n $PR_NUMBER ]]; then
BUCKET="autogluon-ci"
S3_PATH="s3://$BUCKET/build_docs/$PR_NUMBER/$COMMIT_SHA"
else
BUCKET="autogluon-ci-push"
S3_PATH="s3://$BUCKET/build_docs/$BRANCH/$COMMIT_SHA"
fi
S3_DOC_PATH="$S3_PATH/tutorials/$DOC"
S3_IMG_PATH="$S3_PATH/_images"
BUILD_DIR="_build/html"
LOCAL_DOC_PATH="$BUILD_DIR/tutorials/$DOC"
LOCAL_IMG_PATH="$BUILD_DIR/_images"
SPHINX_BUILD_TAG="$DOC"
if [[ -n $SUB_DOC ]]; then
LOCAL_DOC_PATH+="/$SUB_DOC"
S3_DOC_PATH+="/$SUB_DOC"
SPHINX_BUILD_TAG+="/$SUB_DOC"
fi
cd docs
rm -rf "$BUILD_DIR"
sphinx-build -t "$SPHINX_BUILD_TAG" -b html . "$BUILD_DIR"
COMMAND_EXIT_CODE=$?
if [ $COMMAND_EXIT_CODE -ne 0 ]; then
exit COMMAND_EXIT_CODE
fi
rm -rf "$BUILD_DIR/.doctrees/" # remove build artifacts that are not needed to serve webpage
write_to_s3 $BUCKET $LOCAL_DOC_PATH $S3_DOC_PATH
write_to_s3 $BUCKET $LOCAL_IMG_PATH $S3_IMG_PATH
cd ..
}
================================================
FILE: .github/workflow_scripts/build_eda_tutorial.sh
================================================
#!/bin/bash
set -ex
shopt -s extglob
BRANCH=$(basename $1)
GIT_REPO=$2
COMMIT_SHA=$3
PR_NUMBER=$4 # For push events, PR_NUMBER will be empty
source $(dirname "$0")/env_setup.sh
source $(dirname "$0")/build_doc.sh
build_doc eda $BRANCH $GIT_REPO $COMMIT_SHA $PR_NUMBER
================================================
FILE: .github/workflow_scripts/build_multimodal_tutorial.sh
================================================
#!/bin/bash
set -ex
shopt -s extglob
SUB_DOC=$1
BRANCH=$(basename $2)
GIT_REPO=$3
COMMIT_SHA=$4
PR_NUMBER=$5 # For push events, PR_NUMBER will be empty
source $(dirname "$0")/env_setup.sh
source $(dirname "$0")/build_doc.sh
setup_hf_model_mirror docs
build_doc multimodal $BRANCH $GIT_REPO $COMMIT_SHA ${PR_NUMBER:-""} $SUB_DOC
================================================
FILE: .github/workflow_scripts/build_tabular_prediction_tutorial.sh
================================================
#!/bin/bash
set -ex
shopt -s extglob
BRANCH=$(basename $1)
GIT_REPO=$2
COMMIT_SHA=$3
PR_NUMBER=$4 # For push events, PR_NUMBER will be empty
source $(dirname "$0")/env_setup.sh
source $(dirname "$0")/build_doc.sh
export CUDA_VISIBLE_DEVICES=0
build_doc tabular $BRANCH $GIT_REPO $COMMIT_SHA $PR_NUMBER
================================================
FILE: .github/workflow_scripts/build_timeseries_tutorial.sh
================================================
#!/bin/bash
set -ex
shopt -s extglob
BRANCH=$(basename $1)
GIT_REPO=$2
COMMIT_SHA=$3
PR_NUMBER=$4 # For push events, PR_NUMBER will be empty
source $(dirname "$0")/env_setup.sh
source $(dirname "$0")/build_doc.sh
export CUDA_VISIBLE_DEVICES=0
build_doc timeseries $BRANCH $GIT_REPO $COMMIT_SHA $PR_NUMBER
================================================
FILE: .github/workflow_scripts/copy_docs.sh
================================================
#!/usr/bin/env bash
BRANCH=$(basename $1)
GIT_REPO=$2
COMMIT_SHA=$3
PR_NUMBER=$4
set -ex
source $(dirname "$0")/env_setup.sh
source $(dirname "$0")/write_to_s3.sh
if [[ -n $PR_NUMBER ]]; then BUILD_DOCS_PATH=s3://autogluon-ci/build_docs/$PR_NUMBER/$COMMIT_SHA; else BUILD_DOCS_PATH=s3://autogluon-ci-push/build_docs/$BRANCH/$COMMIT_SHA; fi
if [[ (-n $PR_NUMBER) || ($GIT_REPO != autogluon/autogluon) ]]
then
bucket='autogluon-staging'
if [[ -n $PR_NUMBER ]]; then path=$PR_NUMBER/$COMMIT_SHA; else path=$BRANCH/$COMMIT_SHA; fi
site=$bucket.s3-website-us-west-2.amazonaws.com/$path
flags='--delete'
cacheControl=''
else
if [[ $BRANCH == 'master' ]]
then
path='dev'
else
if [[ $BRANCH == 'dev' ]]
then
path='dev-branch'
else
path=$BRANCH
fi
fi
bucket='autogluon.mxnet.io'
site=$bucket/$path
if [[ $BRANCH == 'master' ]]; then flags=''; else flags='--delete'; fi
cacheControl='--cache-control max-age=7200'
fi
COMMAND_EXIT_CODE=$?
if [ $COMMAND_EXIT_CODE -ne 0 ]; then
exit COMMAND_EXIT_CODE
fi
aws s3 sync ${flags} ${BUILD_DOCS_PATH}/all/ s3://${bucket}/${path} --acl public-read ${cacheControl}
echo "Uploaded doc to http://${site}/index.html"
================================================
FILE: .github/workflow_scripts/env_setup.sh
================================================
function setup_build_env {
python -m pip install --upgrade pip
python -m pip install tox
python -m pip install flake8
python -m pip install bandit
python -m pip install packaging
# Read the Ruff version from .pre-commit-config.yaml to keep a single source of truth
RUFF_VERSION=$(grep -A5 'astral-sh/ruff-pre-commit' .pre-commit-config.yaml | grep 'rev:' | head -n1 | sed 's/.*v//')
python -m pip install ruff=="$RUFF_VERSION"
}
function setup_build_contrib_env {
python -m pip install --upgrade pip
python -m pip install -r $(dirname "$0")/../../docs/requirements_doc.txt
export AG_DOCS=1
export AUTOMM_TUTORIAL_MODE=1 # Disable progress bar in MultiModalPredictor
}
function setup_benchmark_env {
git clone https://github.com/autogluon/autogluon-bench.git
cd autogluon-bench
pip install -e ".[tests]"
cd ..
pip install pyarrow
git clone https://github.com/autogluon/autogluon-dashboard.git
pip install -e ./autogluon-dashboard
pip install yq
pip install s3fs
}
function setup_hf_model_mirror {
pip install PyYAML
SUB_FOLDER="$1"
SCRIPT_DIR=$(dirname "$0")
python ${SCRIPT_DIR}/setup_hf_model_mirror.py \
--model_list_file ${SCRIPT_DIR}/../../multimodal/tests/hf_model_list.yaml \
--dataset_list_file ${SCRIPT_DIR}/../../multimodal/tests/hf_dataset_list.yaml \
--sub_folder $SUB_FOLDER
# Set HF environment variables to use cached artifacts
export HF_DATASETS_CACHE=~/.cache/huggingface/datasets
}
function install_local_packages {
while(($#)) ; do
python -m pip install --upgrade -e $1
shift
done
}
function install_tabular {
python -m pip install --upgrade pygraphviz
install_local_packages "tabular/$1"
}
function install_tabular_platforms {
# pygraphviz will be installed with conda in platform tests
install_local_packages "tabular/$1"
}
function install_multimodal {
source $(dirname "$0")/setup_mmcv.sh
# launch different process for each test to make sure memory is released
python -m pip install --upgrade pytest-xdist
install_local_packages "multimodal/$1"
setup_mmcv
# python -m pip install --upgrade "mmocr<1.0" # not compatible with mmcv 2.0
}
function install_all {
install_local_packages "common/[tests]" "features/" "core/[all]" "tabular/[all,tests]" "timeseries/[all,tests]" "eda/[tests]"
install_multimodal "[tests]"
install_local_packages "autogluon/"
}
function install_all_windows {
install_local_packages "common/[tests]" "features/" "core/[all]" "tabular/[all,tests]" "timeseries/[all,tests]" "eda/[tests]"
install_multimodal "[tests]"
install_local_packages "autogluon/"
}
function install_all_no_tests {
install_local_packages "common/" "features/" "core/[all]" "tabular/[all]" "timeseries/[all]" "eda/"
install_multimodal
install_local_packages "autogluon/"
}
function build_pkg {
# FIXME: https://github.com/open-mmlab/mmcv/issues/3325, remove cap once fixed
pip install --upgrade "setuptools<82" wheel
while(($#)) ; do
cd "$1"/
python setup.py sdist bdist_wheel
cd ..
shift
done
}
function build_all {
build_pkg "common" "features" "core" "tabular" "multimodal" "timeseries" "autogluon" "eda"
}
================================================
FILE: .github/workflow_scripts/lint_check.sh
================================================
#!/bin/bash
set -ex
source $(dirname "$0")/env_setup.sh
setup_build_env
function lint_check {
# black
ruff format --diff "$1/"
# isort
ruff check --select I "$1/"
}
function lint_check_all {
lint_check multimodal
lint_check timeseries
lint_check common
lint_check core
lint_check features
lint_check tabular
}
bandit -r multimodal/src -ll --exclude "multimodal/src/autogluon/multimodal/configs/pretrain/*"
lint_check_all
ruff check timeseries/
================================================
FILE: .github/workflow_scripts/run_benchmark.sh
================================================
#!/bin/bash
set -ex
MODULE=$1
PRESET=$2
BENCHMARK=$3
TIME_LIMIT=$4
BRANCH_OR_PR_NUMBER=$5
SHA=$6
source $(dirname "$0")/env_setup.sh
setup_benchmark_env
/bin/bash CI/bench/generate_bench_config.sh $MODULE $PRESET $BENCHMARK $TIME_LIMIT $BRANCH_OR_PR_NUMBER
echo "----Copying and Printing Cloud Configs----"
cat $MODULE"_cloud_configs.yaml"
agbench run $MODULE"_cloud_configs.yaml" --wait
# If it is a PR, fetch the cleaned file of master-evaluation
if [ $BRANCH_OR_PR_NUMBER != "master" ]; then
# Capture the name of the file, rename it and store it in ./results
if [ $MODULE != "multimodal" ]; then
master_cleaned_file=$(aws s3 ls s3://autogluon-ci-benchmark/cleaned/$MODULE/master/latest/ | awk '{print $NF}')
new_master_cleaned_file="master_${master_cleaned_file}"
aws s3 cp --recursive s3://autogluon-ci-benchmark/cleaned/$MODULE/master/latest/ ./results
mv "./results/$master_cleaned_file" "./results/$new_master_cleaned_file"
else
master_cleaned_file=$(aws s3 ls s3://autogluon-ci-benchmark/cleaned/$MODULE/$BENCHMARK/master/latest/ | awk '{print $NF}')
new_master_cleaned_file="master_${master_cleaned_file}"
aws s3 cp --recursive s3://autogluon-ci-benchmark/cleaned/$MODULE/$BENCHMARK/master/latest/ ./results
mv "./results/$master_cleaned_file" "./results/$new_master_cleaned_file"
fi
fi
python CI/bench/evaluate.py --config_path ./ag_bench_runs/$MODULE/ --module_name $MODULE --time_limit $TIME_LIMIT --branch_name $BRANCH_OR_PR_NUMBER --benchmark_type $BENCHMARK
echo "Deleting version1.0_file"
rm -f ./results/version1.0*
for file in ./results/*; do
CLEANED_PATH="s3://autogluon-ci-benchmark/cleaned/$MODULE"
EVALUATION_PATH="s3://autogluon-ci-benchmark/evaluation/$MODULE"
BRANCH_NAME="master"
if [[ "$(basename "$file")" != "master"* ]]; then
BRANCH_NAME="$BRANCH_OR_PR_NUMBER"
fi
if [ $MODULE == "multimodal" ]; then
CLEANED_PATH="$CLEANED_PATH/$BENCHMARK"
EVALUATION_PATH="$EVALUATION_PATH/$BENCHMARK"
fi
aws s3 cp "$file" "$CLEANED_PATH/$BRANCH_NAME/$SHA/$(basename "$file")"
aws s3 rm --recursive "$CLEANED_PATH/$BRANCH_NAME/latest/"
aws s3 cp "$file" "$CLEANED_PATH/$BRANCH_NAME/latest/$(basename "$file")"
if [[ "$(basename "$file")" == "master"* ]]; then
aws s3 cp --recursive ./evaluate "$EVALUATION_PATH/$BRANCH_NAME/$SHA/"
aws s3 rm --recursive "$EVALUATION_PATH/$BRANCH_NAME/latest/"
aws s3 cp --recursive ./evaluate "$EVALUATION_PATH/$BRANCH_NAME/latest/"
fi
done
# Run dashboard if the branch is not master
if [ $BRANCH_OR_PR_NUMBER != "master" ]
then
echo "Name of all files"
ls
cwd=`pwd`
ls ./evaluate/pairwise/* | grep .csv > $cwd/agg_csv.txt
cat agg_csv.txt
filename=`head -1 $cwd/agg_csv.txt`
prefix=$BRANCH_OR_PR_NUMBER/$SHA
agdash --per_dataset_csv './evaluate/results_ranked_by_dataset_valid.csv' --agg_dataset_csv $filename --s3_prefix benchmark-dashboard/$prefix --s3_bucket autogluon-staging --s3_region us-west-2 > $cwd/out.txt
tail -1 $cwd/out.txt > $cwd/website.txt
fi
================================================
FILE: .github/workflow_scripts/setup_hf_model_mirror.py
================================================
import argparse
import os
import subprocess
import yaml
parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument("--model_list_file", help="file containing list of models to download.", type=str, required=True)
parser.add_argument("--dataset_list_file", help="file containing list of datasets to download.", type=str, default=None)
parser.add_argument("--sub_folder", help="which subfolder to download models for", required=True)
parser.add_argument("--cache_dir", help="place to cache the downloaded models", default="~/.cache/huggingface/hub")
parser.add_argument("--datasets_cache_dir", help="place to cache the downloaded datasets", default="~/.cache/huggingface/datasets")
args = parser.parse_args()
model_list_file = args.model_list_file
dataset_list_file = args.dataset_list_file
sub_folder = args.sub_folder
cache_dir = os.path.expanduser(args.cache_dir)
datasets_cache_dir = os.path.expanduser(args.datasets_cache_dir)
with open(model_list_file, "r") as fp:
models = yaml.safe_load(fp)
sub_folder_models = models[sub_folder]
os.makedirs(cache_dir, exist_ok=True)
bucket = "s3://autogluon-hf-model-mirror"
model_prefix = "models"
for model in sub_folder_models:
model_name = "--".join(model.split("/"))
model_name = "--".join([model_prefix, model_name])
model_path = os.path.join(cache_dir, model_name)
os.makedirs(model_path, exist_ok=True)
s3_path = bucket + "/" + model_name
subprocess.run(["aws", "s3", "cp", s3_path, model_path, "--recursive", "--quiet"])
# Sync datasets from S3 if dataset list is provided
if dataset_list_file and os.path.exists(dataset_list_file):
with open(dataset_list_file, "r") as fp:
datasets = yaml.safe_load(fp)
sub_folder_datasets = datasets.get(sub_folder, [])
if sub_folder_datasets:
os.makedirs(datasets_cache_dir, exist_ok=True)
# Sync entire datasets directory from S3
s3_datasets_path = bucket + "/datasets"
subprocess.run(["aws", "s3", "cp", s3_datasets_path, datasets_cache_dir, "--recursive", "--quiet"])
================================================
FILE: .github/workflow_scripts/setup_mmcv.sh
================================================
function setup_mmcv {
if [[ $(python3 -c "import sys; print(sys.version_info >= (3, 13))") == "True" ]]; then
echo "Skipping MMCV installation on Python 3.13 (not supported)"
return 0
fi
# Install MMEngine from PyPI wheel to avoid setuptools>=82 removing pkg_resources
# FIXME: https://github.com/open-mmlab/mmcv/issues/3325, revert mmcv installation to use mim once fixed
python3 -m pip install "setuptools<82"
python3 -m pip install "mmcv==2.1.0" --no-build-isolation --timeout 60
python3 -m pip install "mmengine==0.10.7"
python3 -m pip install "mmdet==3.3.0"
}
================================================
FILE: .github/workflow_scripts/test_common.sh
================================================
#!/bin/bash
set -ex
ADDITIONAL_TEST_ARGS=$1
source $(dirname "$0")/env_setup.sh
setup_build_env
install_local_packages "common/[tests]"
cd common/
if [ -n "$ADDITIONAL_TEST_ARGS" ]
then
python -m pytest --junitxml=results.xml --runslow "$ADDITIONAL_TEST_ARGS" tests
else
python -m pytest --junitxml=results.xml --runslow tests
fi
================================================
FILE: .github/workflow_scripts/test_core.sh
================================================
#!/bin/bash
set -ex
ADDITIONAL_TEST_ARGS=$1
source $(dirname "$0")/env_setup.sh
setup_build_env
install_local_packages "common/[tests]" "features/" "core/[all,tests]"
cd core/
if [ "$OSTYPE" == "msys" ]
then
# to skip certain tests on Windows platform
python -m pytest --junitxml=results.xml --runslow tests
elif [ -n "$ADDITIONAL_TEST_ARGS" ]
then
python -m pytest --junitxml=results.xml --runslow --runplatform "$ADDITIONAL_TEST_ARGS" tests
else
python -m pytest --junitxml=results.xml --runslow --runplatform tests
fi
================================================
FILE: .github/workflow_scripts/test_eda.sh
================================================
#!/bin/bash
set -ex
ADDITIONAL_TEST_ARGS=$1
source $(dirname "$0")/env_setup.sh
setup_build_env
export CUDA_VISIBLE_DEVICES=0
install_local_packages "common/[tests]" "features/" "core/[all,tests]" "tabular/[all,tests]" "eda/[tests]"
cd eda/
python -m tox -e lint,typecheck,format,testenv
if [ -n "$ADDITIONAL_TEST_ARGS" ]
then
python -m pytest --junitxml=results.xml --runslow "$ADDITIONAL_TEST_ARGS" tests
else
python -m pytest --junitxml=results.xml --runslow tests
fi
================================================
FILE: .github/workflow_scripts/test_features.sh
================================================
#!/bin/bash
set -ex
ADDITIONAL_TEST_ARGS=$1
source $(dirname "$0")/env_setup.sh
setup_build_env
install_local_packages "common/[tests]" "features/"
cd features/
if [ -n "$ADDITIONAL_TEST_ARGS" ]
then
python -m pytest --junitxml=results.xml --runslow "$ADDITIONAL_TEST_ARGS" tests
else
python -m pytest --junitxml=results.xml --runslow tests
fi
================================================
FILE: .github/workflow_scripts/test_install.sh
================================================
#!/bin/bash
set -ex
source $(dirname "$0")/env_setup.sh
setup_build_env
install_all
build_all
================================================
FILE: .github/workflow_scripts/test_install_windows.sh
================================================
#!/bin/bash
set -ex
source $(dirname "$0")/env_setup.sh
setup_build_env
install_all_windows
================================================
FILE: .github/workflow_scripts/test_multimodal.sh
================================================
function test_multimodal {
SUB_FOLDER=$1
ADDITIONAL_TEST_ARGS=$2
source $(dirname "$0")/env_setup.sh
setup_build_env
setup_hf_model_mirror "$SUB_FOLDER"
# Use all available GPUs
unset CUDA_VISIBLE_DEVICES
install_local_packages "common/[tests]" "features/" "core/[all,tests]"
install_multimodal "[tests]"
cd multimodal/
if [ -n "$ADDITIONAL_TEST_ARGS" ]
then
python -m pytest --junitxml=results.xml --runslow "$ADDITIONAL_TEST_ARGS" tests/unittests/"$SUB_FOLDER"/
else
python -m pytest --junitxml=results.xml --runslow tests/unittests/"$SUB_FOLDER"/
fi
}
================================================
FILE: .github/workflow_scripts/test_multimodal_others.sh
================================================
#!/bin/bash
set -ex
ADDITIONAL_TEST_ARGS=$1
source $(dirname "$0")/test_multimodal.sh
test_multimodal others "$ADDITIONAL_TEST_ARGS"
================================================
FILE: .github/workflow_scripts/test_multimodal_others_2.sh
================================================
#!/bin/bash
set -ex
ADDITIONAL_TEST_ARGS=$1
source $(dirname "$0")/test_multimodal.sh
test_multimodal others_2 "$ADDITIONAL_TEST_ARGS"
================================================
FILE: .github/workflow_scripts/test_multimodal_predictor.sh
================================================
#!/bin/bash
set -ex
ADDITIONAL_TEST_ARGS=$1
source $(dirname "$0")/test_multimodal.sh
test_multimodal predictor "$ADDITIONAL_TEST_ARGS"
================================================
FILE: .github/workflow_scripts/test_tabular.sh
================================================
#!/bin/bash
set -ex
ADDITIONAL_TEST_ARGS=$1
IS_PLATFORM_TEST=$2
source $(dirname "$0")/env_setup.sh
setup_build_env
if ! [ "$IS_PLATFORM_TEST" = "true" ]
then
export CUDA_VISIBLE_DEVICES=0
fi
install_local_packages "common/[tests]" "features/" "core/[all,tests]"
if [ "$IS_PLATFORM_TEST" = "true" ]
then
install_tabular_platforms "[all,tests]"
install_multimodal "[tests]"
else
install_tabular "[all,tests]"
install_multimodal "[tests]"
fi
cd tabular/
if [ -n "$ADDITIONAL_TEST_ARGS" ]
then
python -m pytest --junitxml=results.xml --runslow "$ADDITIONAL_TEST_ARGS" tests
else
python -m pytest --junitxml=results.xml --runslow tests
fi
================================================
FILE: .github/workflow_scripts/test_timeseries.sh
================================================
#!/bin/bash
set -ex
while getopts ":-:" opt; do
[ "$opt" = "-" ] && [ "${OPTARG}" = "is-platform-test" ] && IS_PLATFORM_TEST=1
done
source $(dirname "$0")/env_setup.sh
setup_build_env
export CUDA_VISIBLE_DEVICES=0
install_local_packages "common/[tests]" "features/" "core/[all,tests]" "tabular/[all,tests]" "timeseries/[all,tests]"
python -m pip install --upgrade pytest-xdist
export PYTHONHASHSEED=0 # for consistency in xdist tests
unset LD_LIBRARY_PATH # avoid cuDNN version conflicts with PyTorch's bundled cuDNN
cd timeseries/
if [ "$IS_PLATFORM_TEST" = 1 ]; then
python -m pytest --junitxml=results.xml --runslow tests # run platform tests without multiprocessing
else
python -m pytest --junitxml=results.xml --runslow --numprocesses 4 tests
fi
================================================
FILE: .github/workflow_scripts/version_diff.sh
================================================
#!/bin/bash
# List files in the specified S3 bucket and folder
files=$(aws s3 ls s3://autogluon-ci/package_versions/)
# Extract the filenames with the pattern package_versions_{datetimestamp}.txt
latest_file=""
latest_timestamp=0
while read -r line; do
filename=$(echo $line | awk '{print $4}')
timestamp=$(echo $filename | cut -d'_' -f3 | cut -d'.' -f1)
if [ -n "$timestamp" ]; then
formatted_timestamp=$(echo $timestamp | sed 's/-/ /3')
# Convert to UNIX format
timestamp_seconds=$(date -d "$formatted_timestamp" +%s)
else
timestamp_seconds=0
fi
if [ $timestamp_seconds -gt $latest_timestamp ]; then
latest_timestamp=$timestamp_seconds
latest_file=$filename
fi
done <<< "$files"
aws s3 cp s3://autogluon-ci/package_versions/$latest_file ./
old_latest_file="old_${latest_file}"
mv "./$latest_file" "./$old_latest_file"
diff ./package_versions_* ./old_package_versions_* > ./diff_output.txt
diff_exit_code=$?
if [ $diff_exit_code -eq 0 ]; then
echo "No difference"
elif [ $diff_exit_code -eq 1 ]; then
echo -e "\nPackage Differences Below:\n"
# Create arrays to store Name:Version for ordering and matching
declare -A prev_packages
declare -A curr_packages
while IFS= read -r line; do
if [[ $line == *"-e git+https:"* ]] && [[ $line == *"autogluon"* ]] || ! [[ $line =~ ^[\<\>] ]] || [[ $line == *"Timestamp:"* ]] ; then
continue
fi
if [[ $line == \<* ]]; then
name=$(echo "$line" | cut -d= -f1 | cut -d' ' -f2)
version=$(echo "$line" | cut -d= -f2-)
curr_packages[$name]=$version
fi
if [[ $line == \>* ]]; then
name=$(echo "$line" | cut -d= -f1 | cut -d' ' -f2)
version=$(echo "$line" | cut -d= -f2-)
prev_packages[$name]=$version
fi
done < ./diff_output.txt
# Create table
echo "| Previous CI Run | Current CI Run |" > table_output.txt
echo "| :---: | :---: |" >> table_output.txt
for key in "${!prev_packages[@]}" "${!curr_packages[@]}"; do
prev="${key}=${prev_packages[$key]}"
curr="${key}=${curr_packages[$key]}"
if [[ -z ${prev_packages[$key]} ]]; then
prev="-"
fi
if [[ -z ${curr_packages[$key]} ]]; then
curr="-"
fi
echo "| $prev | $curr |" >> table_output.txt
done
cat ./diff_output.txt
else
echo "Error: diff command failed with exit code $diff_exit_code"
exit 1
fi
================================================
FILE: .github/workflow_scripts/write_to_s3.sh
================================================
function write_to_s3 {
BUCKET="$1"
DOC_PATH="$2"
S3_PATH="$3"
# Verify we still own the bucket
bucket_query=$(aws s3 ls | grep -E "(^| )$BUCKET( |$)")
if [ -n bucket_query ]; then
if [ -d $DOC_PATH ]; then
aws s3 cp --recursive $DOC_PATH $S3_PATH --quiet
elif [ -f $DOC_PATH ]; then
aws s3 cp $DOC_PATH $S3_PATH --quiet
else
echo Neither file nor directory being passed
fi
else
echo Bucket does not belong to us anymore. Will not write to it
fi
}
================================================
FILE: .github/workflows/README.md
================================================
This README explains the CI design and how you can update the CI workflow.
## Overall Design
The CI is consisted with two parts:
1. GitHub Action
* Push and Pull Request events will trigger GitHub Action workflow defined in `.github/workflows/continuous_integration.yml`.
* It will then checkout code on **master branch of autogluon** if it's a Pull Request event, or checkout code on **corresponding branch of autogluon** if it's a Push event, to fetch the `submit-job.py` script, which will kick off AWS Batch job to run tests/build docs, under `CI/batch`.
2. AWS Batch.
* AWS Batch job runs in container defined under `CI/batch/docker`.
For details on how to build and push the docker image, please refer to `CI/batch/docker/README.md`
* It will execute scripts defined under `.github/workflow_scripts` for various tasks.
It will only use scripts updated by Pull Request if the author has write permission to our repo. Otherwise, scripts from **master branch of autogluon** will be used.
## How to update the workflows
### Regular Contributors
**IMPORTANT:** You are only able to update the workflow if you have **write permission** to our repo for security concern. You are still able to add/modify unit tests/ docs and see the changes.
### Maintainers
The general idea is that we only checkout workflow from our master branch unless the workflow is from a branch of `autogluon/autogluon`.
For maintainers with write permission, the easiest way to update our workflow is push to a branch under `autogluon/autogluon`.
The Push event will trigger the workflow to reflect your latest changes.
Once you are satisfied with the changes and the CI passed, start a pull request. CI for both Push and Pull Request event will be triggered in the pull request, and **only the one with Push event reflects your latest workflow changes**
If you try to update the workflow from your fork, **only changes under `.github/workflow_scripts`** will be reflected.
================================================
FILE: .github/workflows/benchmark-command.yml
================================================
# Workflow to trigger benchmarking, cleaning, aggregation of the PR and evaluating w.r.t master branch, results on dashboard
name: Benchmark Pull Request
on:
workflow_dispatch:
inputs:
repository:
description: 'The repository from which the slash command was dispatched'
required: true
comment-id:
description: 'The comment-id of the slash command'
required: true
pr-sha:
description: 'The pr-sha of which the slash command was dispatched'
required: true
module:
description: 'Which module to run the benchmark on'
required: true
options:
- tabular
- timeseries
- multimodal
preset:
description: 'Preset to run for tabular/timeseries/multimodal'
required: true
options:
- tabular_best
- tabular_high
- tabular_good
- tabular_medium
- timeseries_best
- multimodal_best
benchmark:
description: 'Benchmark to run'
required: true
options:
- tabular_full
- tabular_test
- tabular_small
- timeseries_small
- automm-image
- automm-text
- automm-text-tabular
- automm-text-tabular-image
time_limit:
description: 'Time limit for the benchmark to run'
required: true
options:
- 1h
- 4h
- 8h
- 16h
- 24h
- 10m4c
- g4_12x
folds:
description: 'Number of folds to run'
required: false
branch_or_pr_number:
description: 'Branch or PR number to run the benchmark on'
required: true
fork_info:
description: 'Get the forked PR repository name and branch, e.g. username/autogluon|test_branch'
required: true
permissions:
id-token: write
contents: read
jobs:
setup:
runs-on: ubuntu-latest
steps:
- name: Create URL to the run output
if: (github.event_name == 'workflow_dispatch')
id: vars
run: echo ::set-output name=run-url::https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID
- name: Create comment
if: (github.event_name == 'workflow_dispatch')
uses: peter-evans/create-or-update-comment@v4
with:
token: ${{ secrets.CICD_PAT }}
repository: ${{ github.event.inputs.repository }}
comment-id: ${{ github.event.inputs.comment-id }}
body: |
[Benchmark Output][1]
[1]: ${{ steps.vars.outputs.run-url }}
generate_amlb_user_dir:
needs: setup
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Env Vars
uses: ./.github/actions/setup-env-vars
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::369469875935:role/AutoGluonCIBenchmarkConfig
role-duration-seconds: 3600
aws-region: us-east-1
- name: Extract Fork Info
id: parse_fork_info
env:
FORK_INFO: ${{ github.event.inputs.fork_info }}
run: |
IFS="|" read -r fork_name fork_branch <<< "$FORK_INFO"
echo "FORK_NAME=$fork_name" >> $GITHUB_OUTPUT
echo "FORK_BRANCH=$fork_branch" >> $GITHUB_OUTPUT
- name: Generate AMLB User Dir - {{ github.event.inputs.module }}
run: |
/bin/bash CI/bench/generate_amlb_user_dir.sh ${{ github.event.inputs.module }} ${{ steps.parse_fork_info.outputs.FORK_NAME }} ${{ steps.parse_fork_info.outputs.FORK_BRANCH }} ${{ github.sha }} "" ${{ github.event.inputs.folds }}
benchmark:
needs: generate_amlb_user_dir
runs-on: ubuntu-latest
defaults:
run:
shell: bash
steps:
- name: Free Disk Space (Ubuntu)
# uses: jlumbroso/free-disk-space@v1.2.0
uses: hirnidrin/free-disk-space@main # revert back once fix in https://github.com/jlumbroso/free-disk-space/pull/11
with:
tool-cache: false
android: true
dotnet: true
haskell: true
large-packages: true
docker-images: true
swap-storage: true
- name: Checkout repository for PR
if: (github.event_name == 'workflow_dispatch')
uses: actions/checkout@v4
with:
ref: ${{ github.event.inputs.pr-sha }}
- name: Checkout repository for nightly test
if: (github.event_name == 'schedule')
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Setup npm
uses: actions/setup-node@v4
with:
node-version: 'latest'
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::369469875935:role/AutoGluonCIBenchmark
role-duration-seconds: 36000
aws-region: us-east-1
- name: Extract Fork Info
id: parse_fork_info
env:
FORK_INFO: ${{ github.event.inputs.fork_info }}
run: |
IFS="|" read -r fork_name fork_branch <<< "$FORK_INFO"
echo "FORK_NAME=$fork_name" >> $GITHUB_OUTPUT
echo "FORK_BRANCH=$fork_branch" >> $GITHUB_OUTPUT
- name: Run benchmark
shell: bash -l {0}
run: |
nvm install 20
npm install -g aws-cdk
/bin/bash ./.github/workflow_scripts/run_benchmark.sh ${{ github.event.inputs.module }} ${{ github.event.inputs.preset }} ${{ github.event.inputs.benchmark }} ${{ github.event.inputs.time_limit }} ${{ steps.parse_fork_info.outputs.FORK_BRANCH }} ${{ github.sha }}
- name: Upload website.txt
uses: actions/upload-artifact@v4
with:
name: dashboard-website
path: ./website.txt
- name: Upload final_eval.txt
uses: actions/upload-artifact@v4
with:
name: evaluation-results
path: ./final_eval.txt
dashboard:
needs: benchmark
runs-on: ubuntu-latest
defaults:
run:
shell: bash
steps:
- name: Download final_eval.txt
uses: actions/download-artifact@v4
with:
name: evaluation-results
- name: get evaluation results
id: eval_result
run: |
body="$(cat final_eval.txt)"
echo ::set-output name=body::$body
- name: Comment Evaluation Result of PR with Master
uses: peter-evans/create-or-update-comment@v4
with:
token: ${{ secrets.CICD_PAT }}
repository: ${{ github.event.inputs.repository }}
comment-id: ${{ github.event.inputs.comment-id }}
body: ${{ steps.eval_result.outputs.body }}
- name: Download website.txt
uses: actions/download-artifact@v4
with:
name: dashboard-website
- name: get dashboard website
id: website
run: |
body="$(cat website.txt)"
echo ::set-output name=body::$body
- name: Comment Dashboard Website Link on PR
uses: peter-evans/create-or-update-comment@v4
with:
token: ${{ secrets.CICD_PAT }}
repository: ${{ github.event.inputs.repository }}
comment-id: ${{ github.event.inputs.comment-id }}
body: ${{ steps.website.outputs.body }}
================================================
FILE: .github/workflows/benchmark_master.yml
================================================
# Workflow to trigger/schedule benchmarking, cleaning, aggregating on master branch only and storing results in S3
name: Benchmark Master Branch
on:
workflow_dispatch:
branches:
- master
schedule:
- cron: '00 02 * * *' # UTC 2:00 AM every day
env:
AG_BRANCH_NAME: master
permissions:
id-token: write
contents: read
jobs:
generate_amlb_user_dir:
runs-on: ubuntu-latest
strategy:
matrix:
AG_MODULE: [tabular, timeseries, multimodal]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Env Vars
uses: ./.github/actions/setup-env-vars
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::369469875935:role/AutoGluonCIBenchmarkConfig
role-duration-seconds: 3600
aws-region: us-east-1
- name: Generate AMLB User Dir - ${{ matrix.AG_MODULE }}
run: |
/bin/bash CI/bench/generate_amlb_user_dir.sh ${{ matrix.AG_MODULE }} ${{ github.repository }} ${{ env.AG_BRANCH_NAME }} ${{ github.sha }}
benchmark-tabular:
needs: generate_amlb_user_dir
runs-on: ubuntu-latest
defaults:
run:
shell: bash
steps:
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@v1.3.1
with:
tool-cache: false
android: true
dotnet: true
haskell: true
large-packages: true
docker-images: true
swap-storage: true
- name: Checkout repository for PR
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Setup npm
uses: actions/setup-node@v4
with:
node-version: 'latest'
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::369469875935:role/AutoGluonCIBenchmark
role-duration-seconds: 36000
aws-region: us-east-1
- name: Run benchmark - Tabular
shell: bash -l {0}
run: |
nvm install 20
npm install -g aws-cdk
/bin/bash ./.github/workflow_scripts/run_benchmark.sh tabular tabular_best tabular_full 1h8c ${{ env.AG_BRANCH_NAME }} ${{ github.sha }}
- name: Upload evaluation results as artifact
uses: actions/upload-artifact@v4
with:
name: upload-evaluation-results-tabular
path: evaluate
benchmark-timeseries:
needs: benchmark-tabular
runs-on: ubuntu-latest
defaults:
run:
shell: bash
steps:
- name: Free Disk Space (Ubuntu)
# uses: jlumbroso/free-disk-space@v1.2.0
uses: hirnidrin/free-disk-space@main # revert back once fix in https://github.com/jlumbroso/free-disk-space/pull/11
with:
tool-cache: false
android: true
dotnet: true
haskell: true
large-packages: true
docker-images: true
swap-storage: true
- name: Checkout repository for PR
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Setup npm
uses: actions/setup-node@v4
with:
node-version: 'latest'
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::369469875935:role/AutoGluonCIBenchmark
role-duration-seconds: 36000
aws-region: us-east-1
- name: Run benchmark - Timeseries
shell: bash -l {0}
run: |
nvm install 20
npm install -g aws-cdk
/bin/bash ./.github/workflow_scripts/run_benchmark.sh timeseries timeseries_best timeseries_small 10m4c ${{ env.AG_BRANCH_NAME }} ${{ github.sha }}
- name: Upload evaluation results as artifact
uses: actions/upload-artifact@v4
with:
name: upload-evaluation-results-timeseries
path: evaluate
benchmark-multimodal-text:
needs: benchmark-timeseries
runs-on: ubuntu-latest
defaults:
run:
shell: bash
steps:
- name: Free Disk Space (Ubuntu)
# uses: jlumbroso/free-disk-space@v1.2.0
uses: hirnidrin/free-disk-space@main # revert back once fix in https://github.com/jlumbroso/free-disk-space/pull/11
with:
tool-cache: false
android: true
dotnet: true
haskell: true
large-packages: true
docker-images: true
swap-storage: true
- name: Checkout repository for PR
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Setup npm
uses: actions/setup-node@v4
with:
node-version: 'latest'
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::369469875935:role/AutoGluonCIBenchmark
role-duration-seconds: 36000
aws-region: us-east-1
- name: Run benchmark - Multimodal
shell: bash -l {0}
run: |
nvm install 20
npm install -g aws-cdk
/bin/bash ./.github/workflow_scripts/run_benchmark.sh multimodal multimodal_best automm-text g4_12x ${{ env.AG_BRANCH_NAME }} ${{ github.sha }}
- name: Upload evaluation results as artifact
uses: actions/upload-artifact@v4
with:
name: upload-evaluation-results-automm-text
path: evaluate
benchmark-multimodal-text-tabular:
needs: benchmark-multimodal-text
runs-on: ubuntu-latest
defaults:
run:
shell: bash
steps:
- name: Free Disk Space (Ubuntu)
# uses: jlumbroso/free-disk-space@v1.2.0
uses: hirnidrin/free-disk-space@main # revert back once fix in https://github.com/jlumbroso/free-disk-space/pull/11
with:
tool-cache: false
android: true
dotnet: true
haskell: true
large-packages: true
docker-images: true
swap-storage: true
- name: Checkout repository for PR
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Setup npm
uses: actions/setup-node@v4
with:
node-version: 'latest'
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::369469875935:role/AutoGluonCIBenchmark
role-duration-seconds: 36000
aws-region: us-east-1
- name: Run benchmark - Multimodal
shell: bash -l {0}
run: |
nvm install 20
npm install -g aws-cdk
/bin/bash ./.github/workflow_scripts/run_benchmark.sh multimodal multimodal_best automm-text-tabular g4_12x ${{ env.AG_BRANCH_NAME }} ${{ github.sha }}
- name: Upload evaluation results as artifact
uses: actions/upload-artifact@v4
with:
name: upload-evaluation-results-automm-text-tabular
path: evaluate
benchmark-multimodal-image:
needs: benchmark-multimodal-text-tabular
runs-on: ubuntu-latest
defaults:
run:
shell: bash
steps:
- name: Free Disk Space (Ubuntu)
# uses: jlumbroso/free-disk-space@v1.2.0
uses: hirnidrin/free-disk-space@main # revert back once fix in https://github.com/jlumbroso/free-disk-space/pull/11
with:
tool-cache: false
android: true
dotnet: true
haskell: true
large-packages: true
docker-images: true
swap-storage: true
- name: Checkout repository for PR
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Setup npm
uses: actions/setup-node@v4
with:
node-version: 'latest'
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::369469875935:role/AutoGluonCIBenchmark
role-duration-seconds: 36000
aws-region: us-east-1
- name: Run benchmark - Multimodal
shell: bash -l {0}
run: |
nvm install 20
npm install -g aws-cdk
/bin/bash ./.github/workflow_scripts/run_benchmark.sh multimodal multimodal_best automm-image g4_12x ${{ env.AG_BRANCH_NAME }} ${{ github.sha }}
- name: Upload evaluation results as artifact
uses: actions/upload-artifact@v4
with:
name: upload-evaluation-results-automm-image
path: evaluate
================================================
FILE: .github/workflows/build_latest_image.yml
================================================
name: Build Latest Image
on:
workflow_dispatch:
schedule:
- cron: "59 8 * * *"
permissions:
id-token: write
contents: read
jobs:
build_cpu_training:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v1
with:
role-to-assume: arn:aws:iam::369469875935:role/CloudCIECRRole
role-duration-seconds: 3600
aws-region: us-east-1
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@v1.3.1
with:
tool-cache: false
android: true
dotnet: true
haskell: true
large-packages: true
docker-images: true
swap-storage: true
- name: Build the Docker image
run: |
cd CI/docker
chmod +x ./login_ecr.sh; ./login_ecr.sh
docker build -f Dockerfile.cpu-training -t autogluon-nightly-training:cpu-latest .
docker tag autogluon-nightly-training:cpu-latest 369469875935.dkr.ecr.us-east-1.amazonaws.com/autogluon-nightly-training:cpu-latest
docker push 369469875935.dkr.ecr.us-east-1.amazonaws.com/autogluon-nightly-training:cpu-latest
build_cpu_inference:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v1
with:
role-to-assume: arn:aws:iam::369469875935:role/CloudCIECRRole
role-duration-seconds: 3600
aws-region: us-east-1
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@v1.3.1
with:
tool-cache: false
android: true
dotnet: true
haskell: true
large-packages: true
docker-images: true
swap-storage: true
- name: Build the Docker image
run: |
cd CI/docker
chmod +x ./login_ecr.sh; ./login_ecr.sh
docker build -f Dockerfile.cpu-inference -t autogluon-nightly-inference:cpu-latest .
docker tag autogluon-nightly-inference:cpu-latest 369469875935.dkr.ecr.us-east-1.amazonaws.com/autogluon-nightly-inference:cpu-latest
docker push 369469875935.dkr.ecr.us-east-1.amazonaws.com/autogluon-nightly-inference:cpu-latest
build_gpu_training:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v1
with:
role-to-assume: arn:aws:iam::369469875935:role/CloudCIECRRole
role-duration-seconds: 3600
aws-region: us-east-1
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@v1.3.1
with:
tool-cache: false
android: true
dotnet: true
haskell: true
large-packages: true
docker-images: true
swap-storage: true
- name: Build the Docker image
run: |
cd CI/docker
chmod +x ./login_ecr.sh; ./login_ecr.sh
docker build -f Dockerfile.gpu-training -t autogluon-nightly-training:gpu-latest .
docker tag autogluon-nightly-training:gpu-latest 369469875935.dkr.ecr.us-east-1.amazonaws.com/autogluon-nightly-training:gpu-latest
docker push 369469875935.dkr.ecr.us-east-1.amazonaws.com/autogluon-nightly-training:gpu-latest
build_gpu_inference:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v1
with:
role-to-assume: arn:aws:iam::369469875935:role/CloudCIECRRole
role-duration-seconds: 3600
aws-region: us-east-1
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@v1.3.1
with:
tool-cache: false
android: true
dotnet: true
haskell: true
large-packages: true
docker-images: true
swap-storage: true
- name: Build the Docker image
run: |
cd CI/docker
chmod +x ./login_ecr.sh; ./login_ecr.sh
docker build -f Dockerfile.gpu-inference -t autogluon-nightly-inference:gpu-latest .
docker tag autogluon-nightly-inference:gpu-latest 369469875935.dkr.ecr.us-east-1.amazonaws.com/autogluon-nightly-inference:gpu-latest
docker push 369469875935.dkr.ecr.us-east-1.amazonaws.com/autogluon-nightly-inference:gpu-latest
================================================
FILE: .github/workflows/check_hf_model_list.yml
================================================
name: Check HF Model List
on:
pull_request:
types: [labeled, synchronize, opened]
paths:
- 'multimodal/tests/**'
- 'docs/tutorials/multimodal/**'
permissions:
contents: read
jobs:
model_list_check:
runs-on: ubuntu-latest
steps:
- name: Check model list
if: contains(github.event.pull_request.labels.*.name, 'model list checked') == false
run: |
echo It appears that you have modified multimodal unit tests/docs. Please make sure to update \"multimodal/tests/hf_model_list.yaml\" to include any model changes and label this PR with \"model list checked\".
exit 1
================================================
FILE: .github/workflows/codeguru-reviewer.yml
================================================
name: Run CodeGuru Reviewer
on:
push:
branches:
- 'master'
workflow_dispatch:
permissions:
id-token: write
contents: read
security-events: write
jobs:
RunCodeGuru:
name: Run CodeGuru Reviewer CLI in CICD
runs-on: ubuntu-latest
steps:
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
continue-on-error: true
id: iam-role
with:
role-to-assume: arn:aws:iam::048169001733:role/GuruGitHubCICDRole
aws-region: us-west-2
- name: Checkout repository
if: steps.iam-role.outcome == 'success'
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: CodeGuru Reviewer
uses: aws-actions/codeguru-reviewer@v1.1
if: steps.iam-role.outcome == 'success'
continue-on-error: false
with:
s3_bucket: codeguru-reviewer-build-artifacts-048169001733-us-west-2
- name: Upload review result
if: steps.iam-role.outcome == 'success'
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: codeguru-results.sarif.json
================================================
FILE: .github/workflows/codeql.yml
================================================
name: "Code scanning - action"
on:
push:
pull_request:
schedule:
- cron: '0 19 * * 0'
permissions:
contents: read
security-events: write
jobs:
CodeQL-Build:
# CodeQL runs on ubuntu-latest and windows-latest
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
fetch-depth: 2
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
# Override language selection by uncommenting this and choosing your languages
# with:
# languages: go, javascript, csharp, python, cpp, java
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v2
# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
================================================
FILE: .github/workflows/codespell.yml
================================================
---
name: Codespell
on:
push:
branches: [master]
pull_request:
branches: [master]
permissions:
contents: read
jobs:
codespell:
name: Check for spelling errors
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Codespell
uses: codespell-project/actions-codespell@v2
================================================
FILE: .github/workflows/continuous_integration.yml
================================================
name: Continuous Integration
on:
push:
pull_request_target:
concurrency:
group: ${{ github.workflow }}-${{ github.event.number || github.event.pull_request.head.sha }}
cancel-in-progress: true
permissions:
id-token: write
pull-requests: write
defaults:
run:
shell: bash
jobs:
branch_check:
runs-on: ubuntu-latest
steps:
- name: Fail on restricted branch
# https://docs.github.com/en/actions/learn-github-actions/expressions#example-matching-an-array-of-strings
if: ${{ github.event_name == 'push' && contains(fromJSON('["cloud"]'), github.ref_name) }}
run: |
echo This is a restricted branch reserved for certain modules. Please use another branch instead
exit 1
lint_check:
needs: branch_check
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Check if changes beside docs
uses: dorny/paths-filter@v2
id: changes
with:
filters: |
other_than_docs:
- '!(docs/**)**'
- name: Lint Check on AWS Batch
if: steps.changes.outputs.other_than_docs == 'true'
uses: ./.github/actions/submit-job
with:
job-type: CI-CPU
job-name: AutoGluon-LintCheck
command: chmod +x ./.github/workflow_scripts/lint_check.sh && ./.github/workflow_scripts/lint_check.sh
# package_diff:
# needs: lint_check
# runs-on: ubuntu-latest
# steps:
# - name: Checkout repository
# uses: actions/checkout@v2
# - name: Setup Miniconda
# uses: conda-incubator/setup-miniconda@v3
# with:
# activate-environment: autogluon_py3
# environment-file: .github/workflows_env/unittest_env.yml
# auto-update-conda: true
# python-version: "3.10"
# - name: Setup Env Vars
# uses: ./.github/actions/setup-env-vars
# - name: Configure AWS Credentials
# uses: aws-actions/configure-aws-credentials@v1
# with:
# role-to-assume: arn:aws:iam::369469875935:role/AutoGluonCiCopyDocs
# role-duration-seconds: 3600
# aws-region: us-east-1
# - name: Install all dependencies
# shell: bash -l {0}
# run: |
# chmod +x ./full_install.sh && ./full_install.sh
# - name: Store package versions
# # Keep shell open to pick pip from autogluon_py3
# shell: bash -l {0}
# run: |
# cur_date=$(date +%Y-%m-%d-%H:%M:%S)
# echo "Timestamp: $cur_date" > ./package_versions_${cur_date}.txt
# echo "Package Versions:" >> ./package_versions_${cur_date}.txt
# pip freeze >> ./package_versions_${cur_date}.txt
# - name: Fetch previous version file and compare
# run: |
# /bin/bash ./.github/workflow_scripts/version_diff.sh
# - name: Update pull request with diff
# env:
# GH_TOKEN: ${{ secrets.CICD_PAT }}
# run: |
# pr_number=$(jq --raw-output .pull_request.number "$GITHUB_EVENT_PATH")
# comment_body=$(jq -n --arg body "`cat ./table_output.txt`" '{body: $body}')
# curl -X POST \
# -H "Authorization: token $GH_TOKEN" \
# -H "Content-Type: application/json" \
# -d "$comment_body" \
# "https://api.github.com/repos/${GITHUB_REPOSITORY}/issues/${pr_number}/comments"
# - name: Upload the current package versions
# run: |
# aws s3 cp ./package_versions_* "s3://autogluon-ci/package_versions/"
test_common:
needs: lint_check
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Check if changes beside docs
uses: dorny/paths-filter@v2
id: changes
with:
filters: |
other_than_docs:
- '!(docs/**)**'
- name: Test Common on AWS Batch
if: steps.changes.outputs.other_than_docs == 'true'
uses: ./.github/actions/submit-job
with:
job-type: CI-CPU
job-name: AutoGluon-Common
command: chmod +x ./.github/workflow_scripts/test_common.sh && ./.github/workflow_scripts/test_common.sh
test_core:
needs: lint_check
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Check if changes beside docs
uses: dorny/paths-filter@v2
id: changes
with:
filters: |
other_than_docs:
- '!(docs/**)**'
- name: Test Core on AWS Batch
if: steps.changes.outputs.other_than_docs == 'true'
uses: ./.github/actions/submit-job
with:
job-type: CI-CPU
job-name: AutoGluon-Core
command: chmod +x ./.github/workflow_scripts/test_core.sh && ./.github/workflow_scripts/test_core.sh
test_features:
needs: lint_check
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Check if changes beside docs
uses: dorny/paths-filter@v2
id: changes
with:
filters: |
other_than_docs:
- '!(docs/**)**'
- name: Test Features on AWS Batch
if: steps.changes.outputs.other_than_docs == 'true'
uses: ./.github/actions/submit-job
with:
job-type: CI-CPU
job-name: AutoGluon-Features
command: chmod +x ./.github/workflow_scripts/test_features.sh && ./.github/workflow_scripts/test_features.sh
test_tabular:
needs: lint_check
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Check if changes beside docs
uses: dorny/paths-filter@v2
id: changes
with:
filters: |
other_than_docs:
- '!(docs/**)**'
other_than_timeseries:
- '!(timeseries/**)**'
- name: Test Tabular on AWS Batch
if: steps.changes.outputs.other_than_docs == 'true' && steps.changes.outputs.other_than_timeseries == 'true'
uses: ./.github/actions/submit-job
with:
job-type: CI-GPU
job-name: AutoGluon-Tabular
command: chmod +x ./.github/workflow_scripts/test_tabular.sh && ./.github/workflow_scripts/test_tabular.sh
# test_tabular_lite:
# needs: lint_check
# runs-on: ubuntu-latest
# steps:
# - name: Checkout repository
# uses: actions/checkout@v2
# - name: Check if changes beside docs
# uses: dorny/paths-filter@v2
# id: changes
# with:
# filters: |
# other_than_docs:
# - '!(docs/**)**'
# other_than_timeseries:
# - '!(timeseries/**)**'
# - name: Test AutoGluonLite package via Pyodide on AWS Batch
# if: steps.changes.outputs.other_than_docs == 'true' && steps.changes.outputs.other_than_timeseries == 'true'
# uses: ./.github/actions/submit-job
# with:
# job-type: CI-WASM
# job-name: AutoGluon-Lite
# command: chmod +x ./.github/workflow_scripts/test_tabular_lite.sh && ./.github/workflow_scripts/test_tabular_lite.sh
# test_eda:
# needs: lint_check
# runs-on: ubuntu-latest
# steps:
# - name: Checkout repository
# uses: actions/checkout@v2
# - name: Check if changes beside docs
# uses: dorny/paths-filter@v2
# id: changes
# with:
# filters: |
# other_than_docs:
# - '!(docs/**)**'
# - name: Test EDA on AWS Batch
# if: steps.changes.outputs.other_than_docs == 'true'
# uses: ./.github/actions/submit-job
# with:
# job-type: CI-CPU
# job-name: AutoGluon-EDA
# command: chmod +x ./.github/workflow_scripts/test_eda.sh && ./.github/workflow_scripts/test_eda.sh
test_multimodal_predictor:
needs: lint_check
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Check if changes beside docs
uses: dorny/paths-filter@v2
id: changes
with:
filters: |
other_than_docs:
- '!(docs/**)**'
other_than_timeseries:
- '!(timeseries/**)**'
- name: Test Multimodal Predictor on AWS Batch
if: steps.changes.outputs.other_than_docs == 'true' && steps.changes.outputs.other_than_timeseries == 'true'
uses: ./.github/actions/submit-job
with:
job-type: CI-GPU
job-name: AutoGluon-Multimodal-Predictor
command: chmod +x ./.github/workflow_scripts/test_multimodal_predictor.sh && ./.github/workflow_scripts/test_multimodal_predictor.sh --run_single_gpu
test_multimodal_others:
needs: lint_check
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Check if changes beside docs
uses: dorny/paths-filter@v2
id: changes
with:
filters: |
other_than_docs:
- '!(docs/**)**'
other_than_timeseries:
- '!(timeseries/**)**'
- name: Test Multimodal Others on AWS Batch
if: steps.changes.outputs.other_than_docs == 'true' && steps.changes.outputs.other_than_timeseries == 'true'
uses: ./.github/actions/submit-job
with:
job-type: CI-GPU
job-name: AutoGluon-Multimodal-Others
command: chmod +x ./.github/workflow_scripts/test_multimodal_others.sh && ./.github/workflow_scripts/test_multimodal_others.sh --run_single_gpu
test_multimodal_others_2:
needs: lint_check
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Check if changes beside docs
uses: dorny/paths-filter@v2
id: changes
with:
filters: |
other_than_docs:
- '!(docs/**)**'
other_than_timeseries:
- '!(timeseries/**)**'
- name: Test Multimodal Others 2 on AWS Batch
if: steps.changes.outputs.other_than_docs == 'true' && steps.changes.outputs.other_than_timeseries == 'true'
uses: ./.github/actions/submit-job
with:
job-type: CI-GPU
job-name: AutoGluon-Multimodal-Others-2
command: chmod +x ./.github/workflow_scripts/test_multimodal_others_2.sh && ./.github/workflow_scripts/test_multimodal_others_2.sh --run_single_gpu
test_timeseries:
needs: lint_check
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Check if changes beside docs
uses: dorny/paths-filter@v2
id: changes
with:
filters: |
other_than_docs:
- '!(docs/**)**'
- name: Test Timeseries on AWS Batch
if: steps.changes.outputs.other_than_docs == 'true'
uses: ./.github/actions/submit-job
with:
job-type: CI-GPU
job-name: AutoGluon-Forecasting
command: chmod +x ./.github/workflow_scripts/test_timeseries.sh && ./.github/workflow_scripts/test_timeseries.sh
test_install:
needs: lint_check
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Check if changes beside docs
uses: dorny/paths-filter@v2
id: changes
with:
filters: |
other_than_docs:
- '!(docs/**)**'
- name: Test Install on AWS Batch
if: steps.changes.outputs.other_than_docs == 'true'
uses: ./.github/actions/submit-job
with:
job-type: CI-CPU
job-name: AutoGluon-Install
command: chmod +x ./.github/workflow_scripts/test_install.sh && ./.github/workflow_scripts/test_install.sh
build_tabular_prediction_tutorial:
needs: [test_common, test_core, test_features, test_tabular, test_multimodal_predictor, test_multimodal_others, test_multimodal_others_2, test_timeseries, test_install]
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Setup Env Vars
uses: ./.github/actions/setup-env-vars
- name: Build Tabular Prediction Tutorial on AWS Batch
uses: ./.github/actions/submit-job
with:
job-type: CI-GPU
job-name: AutoGluon-BuildTabularPrediction
command: chmod +x ./.github/workflow_scripts/build_tabular_prediction_tutorial.sh && ./.github/workflow_scripts/build_tabular_prediction_tutorial.sh '${{ env.BRANCH }}' '${{ env.GIT_REPO }}' '${{ env.SHORT_SHA }}' '${{ env.PR_NUMBER }}'
build_multimodal_tutorial:
strategy:
matrix:
SUB_DOC: ["advanced_topics", "image_prediction", "semantic_matching", "object_detection", "text_prediction", "document_prediction", "multimodal_prediction", "image_segmentation"]
needs: [test_common, test_core, test_features, test_tabular, test_multimodal_predictor, test_multimodal_others, test_multimodal_others_2, test_timeseries, test_install]
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Setup Env Vars
uses: ./.github/actions/setup-env-vars
- name: Build Multimodal Tutorial on AWS Batch
uses: ./.github/actions/submit-job
with:
job-type: CI-GPU
job-name: AutoGluon-BuildMultimodal
command: chmod +x ./.github/workflow_scripts/build_multimodal_tutorial.sh && ./.github/workflow_scripts/build_multimodal_tutorial.sh '${{ matrix.SUB_DOC }}' '${{ env.BRANCH }}' '${{ env.GIT_REPO }}' '${{ env.SHORT_SHA }}' '${{ env.PR_NUMBER }}'
build_cloud_fit_deploy_tutorial:
needs: [test_common, test_core, test_features, test_tabular, test_multimodal_predictor, test_multimodal_others, test_multimodal_others_2, test_timeseries, test_install]
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Setup Env Vars
uses: ./.github/actions/setup-env-vars
- name: Build Cloud Fit Deploy Tutorial on AWS Batch
uses: ./.github/actions/submit-job
with:
job-type: CI-CPU
job-name: AutoGluon-BuildCloudFitDeploy
command: chmod +x ./.github/workflow_scripts/build_cloud_fit_deploy_tutorial.sh && ./.github/workflow_scripts/build_cloud_fit_deploy_tutorial.sh '${{ env.BRANCH }}' '${{ env.GIT_REPO }}' '${{ env.SHORT_SHA }}' '${{ env.PR_NUMBER }}'
build_timeseries_tutorial:
needs: [test_common, test_core, test_features, test_tabular, test_multimodal_predictor, test_multimodal_others, test_multimodal_others_2, test_timeseries, test_install]
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Setup Env Vars
uses: ./.github/actions/setup-env-vars
- name: Build Timeseries Tutorial on AWS Batch
uses: ./.github/actions/submit-job
with:
job-type: CI-GPU
job-name: AutoGluon-BuildTimeseries
command: chmod +x ./.github/workflow_scripts/build_timeseries_tutorial.sh && ./.github/workflow_scripts/build_timeseries_tutorial.sh '${{ env.BRANCH }}' '${{ env.GIT_REPO }}' '${{ env.SHORT_SHA }}' '${{ env.PR_NUMBER }}'
# build_eda_tutorial:
# needs: [test_common, test_core, test_features, test_tabular, test_eda, test_multimodal_predictor, test_multimodal_others, test_multimodal_others_2, test_timeseries, test_install]
# runs-on: ubuntu-latest
# steps:
# - name: Checkout repository
# uses: actions/checkout@v2
# - name: Setup Env Vars
# uses: ./.github/actions/setup-env-vars
# - name: Build EDA Tutorial on AWS Batch
# uses: ./.github/actions/submit-job
# with:
# job-type: CI-GPU
# job-name: AutoGluon-BuildEda
# command: chmod +x ./.github/workflow_scripts/build_eda_tutorial.sh && ./.github/workflow_scripts/build_eda_tutorial.sh '${{ env.BRANCH }}' '${{ env.GIT_REPO }}' '${{ env.SHORT_SHA }}' '${{ env.PR_NUMBER }}'
build_all_docs:
needs: [build_tabular_prediction_tutorial, build_multimodal_tutorial, build_cloud_fit_deploy_tutorial, build_timeseries_tutorial]
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Setup Env Vars
uses: ./.github/actions/setup-env-vars
- name: Build All Docs on AWS Batch
uses: ./.github/actions/submit-job
with:
job-type: CI-GPU
job-name: AutoGluon-BuildAllDocs
command: chmod +x ./.github/workflow_scripts/build_all_docs.sh && ./.github/workflow_scripts/build_all_docs.sh '${{ env.BRANCH }}' '${{ env.GIT_REPO }}' '${{ env.SHORT_SHA }}' '${{ env.PR_NUMBER }}'
copy-docs:
needs: build_all_docs
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Setup Env Vars
uses: ./.github/actions/setup-env-vars
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v1
with:
role-to-assume: arn:aws:iam::369469875935:role/AutoGluonCiCopyDocs
role-duration-seconds: 3600
aws-region: us-east-1
- name: Copy Docs to Bucket(For push)
if: ${{ github.event_name == 'push' }}
run: |
chmod +x ./.github/workflow_scripts/copy_docs.sh
./.github/workflow_scripts/copy_docs.sh '${{ github.ref }}' '${{ github.repository }}' '${{ env.SHORT_SHA }}'
- name: Copy Docs to Bucket(For pull request)
if: ${{ github.event_name == 'pull_request_target' }}
env:
branch: ${{ github.event.pull_request.head.ref }}
run: |
chmod +x ./.github/workflow_scripts/copy_docs.sh
./.github/workflow_scripts/copy_docs.sh "$branch" '${{ github.event.pull_request.head.repo.full_name }}' '${{ env.SHORT_SHA }}' PR-'${{ github.event.number }}'
- name: Comment on PR
if: ${{ github.event_name == 'pull_request_target' }}
uses: peter-evans/create-or-update-comment@v4
with:
issue-number: ${{ github.event.number }}
body: |
Job PR-${{ github.event.number }}-${{ env.SHORT_SHA }} is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-${{ github.event.number }}/${{ env.SHORT_SHA }}/index.html
================================================
FILE: .github/workflows/continuous_integration_multigpu.yaml
================================================
name: Continuous Integration Multi-GPU AutoMM
on:
pull_request_target:
types: [labeled, synchronize, opened]
paths:
- 'multimodal/**'
concurrency:
group: ${{ github.workflow }}-${{ github.event.number || github.event.pull_request.head.sha }}
cancel-in-progress: true
permissions:
id-token: write
pull-requests: write
defaults:
run:
shell: bash
jobs:
label_check:
runs-on: ubuntu-latest
steps:
- name: Check Label
if: contains(github.event.pull_request.labels.*.name, 'run-multi-gpu') == false
run: |
echo It appears that you have modified contents of multimodal module. Please label this PR with \"run-multi-gpu\".
exit 1
branch_check:
needs: label_check
runs-on: ubuntu-latest
steps:
- name: Fail on restricted branch
# https://docs.github.com/en/actions/learn-github-actions/expressions#example-matching-an-array-of-strings
if: ${{ github.event_name == 'push' && contains(fromJSON('["cloud"]'), github.ref_name) }}
run: |
echo This is a restricted branch reserved for certain modules. Please use another branch instead
exit 1
lint_check:
needs: branch_check
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Check if changes beside docs
uses: dorny/paths-filter@v2
id: changes
with:
filters: |
other_than_docs:
- '!(docs/**)**'
- name: Lint Check on AWS Batch
if: steps.changes.outputs.other_than_docs == 'true'
uses: ./.github/actions/submit-job
with:
job-type: CI-CPU
job-name: AutoGluon-LintCheck
command: chmod +x ./.github/workflow_scripts/lint_check.sh && ./.github/workflow_scripts/lint_check.sh
test_multimodal_others_multi_gpu:
needs: lint_check
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Check if changes beside docs
uses: dorny/paths-filter@v2
id: changes
with:
filters: |
other_than_docs:
- '!(docs/**)**'
- name: Test Multimodal Others Multi-GPU on AWS Batch
if: steps.changes.outputs.other_than_docs == 'true'
uses: ./.github/actions/submit-job
with:
job-type: CI-MULTI-GPU
job-name: AutoGluon-Multimodal-Others-GPU
command: chmod +x ./.github/workflow_scripts/test_multimodal_others.sh && CUDA_VISIBLE_DEVICES=[0,1] ./.github/workflow_scripts/test_multimodal_others.sh
test_multimodal_others_2_multi_gpu:
needs: lint_check
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Check if changes beside docs
uses: dorny/paths-filter@v2
id: changes
with:
filters: |
other_than_docs:
- '!(docs/**)**'
- name: Test Multimodal Others 2 Multi-GPU on AWS Batch
if: steps.changes.outputs.other_than_docs == 'true'
uses: ./.github/actions/submit-job
with:
job-type: CI-MULTI-GPU
job-name: AutoGluon-Multimodal-Others-2-GPU
command: chmod +x ./.github/workflow_scripts/test_multimodal_others_2.sh && CUDA_VISIBLE_DEVICES=[0,1] ./.github/workflow_scripts/test_multimodal_others_2.sh
test_multimodal_predictor_multi_gpu:
needs: lint_check
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Check if changes beside docs
uses: dorny/paths-filter@v2
id: changes
with:
filters: |
other_than_docs:
- '!(docs/**)**'
- name: Test Multimodal Predictor Multi-GPU on AWS Batch
if: steps.changes.outputs.other_than_docs == 'true'
uses: ./.github/actions/submit-job
with:
job-type: CI-MULTI-GPU
job-name: AutoGluon-Multimodal-Predictor-GPU
command: chmod +x ./.github/workflow_scripts/test_multimodal_predictor.sh && CUDA_VISIBLE_DEVICES=[0,1] ./.github/workflow_scripts/test_multimodal_predictor.sh
================================================
FILE: .github/workflows/platform_tests-command.yml
================================================
name: Platform Tests
on:
schedule:
- cron: '59 07 * * *' # UTC 7:59(23:59 PST Winter Time) everyday
workflow_dispatch:
inputs:
repository:
description: 'The repository from which the slash command was dispatched'
required: true
comment-id:
description: 'The comment-id of the slash command'
required: true
pr-sha:
description: 'The pr-sha of which the slash command was dispatched'
required: true
branch_or_pr_number:
description: 'dummy parameter to allow benchmark workflow to run'
required: false
fork_info:
description: 'Get info of forked repository and branch'
required: false
permissions:
contents: read
pull-requests: write
jobs:
setup:
runs-on: ubuntu-latest
steps:
- name: Create URL to the run output
if: (github.event_name == 'workflow_dispatch')
id: vars
run: echo ::set-output name=run-url::https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID
- name: Create comment
if: (github.event_name == 'workflow_dispatch')
uses: peter-evans/create-or-update-comment@v4
with:
token: ${{ secrets.CICD_PAT }}
repository: ${{ github.event.inputs.repository }}
comment-id: ${{ github.event.inputs.comment-id }}
body: |
[Platform Tests Output][1]
[1]: ${{ steps.vars.outputs.run-url }}
common:
needs: setup
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
python: ["3.10", "3.11", "3.12", "3.13"]
steps:
- name: Checkout repository for PR
if: (github.event_name == 'workflow_dispatch')
uses: actions/checkout@v2
with:
ref: ${{ github.event.inputs.pr-sha }}
- name: Checkout repository for nightly test
if: (github.event_name == 'schedule')
uses: actions/checkout@v2
- name: Setup Miniconda
uses: conda-incubator/setup-miniconda@v3
with:
activate-environment: autogluon_py3
environment-file: .github/workflows_env/unittest_env.yml
auto-update-conda: true
python-version: ${{ matrix.python }}
miniconda-version: "latest"
- name: unit-test
shell: bash -l {0}
run: |
chmod +x ./.github/workflow_scripts/test_common.sh && ./.github/workflow_scripts/test_common.sh
core:
needs: setup
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
python: ["3.10", "3.11", "3.12", "3.13"]
steps:
- name: Checkout repository for PR
if: (github.event_name == 'workflow_dispatch')
uses: actions/checkout@v2
with:
ref: ${{ github.event.inputs.pr-sha }}
- name: Checkout repository for nightly test
if: (github.event_name == 'schedule')
uses: actions/checkout@v2
- name: Setup Miniconda
uses: conda-incubator/setup-miniconda@v3
with:
activate-environment: autogluon_py3
environment-file: .github/workflows_env/unittest_env.yml
auto-update-conda: true
python-version: ${{ matrix.python }}
miniconda-version: "latest"
- name: unit-test
shell: bash -l {0}
run: |
chmod +x ./.github/workflow_scripts/test_core.sh && ./.github/workflow_scripts/test_core.sh
features:
needs: setup
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
python: ["3.10", "3.11", "3.12", "3.13"]
steps:
- name: Checkout repository for PR
if: (github.event_name == 'workflow_dispatch')
uses: actions/checkout@v2
with:
ref: ${{ github.event.inputs.pr-sha }}
- name: Checkout repository for nightly test
if: (github.event_name == 'schedule')
uses: actions/checkout@v2
- name: Setup Miniconda
uses: conda-incubator/setup-miniconda@v3
with:
activate-environment: autogluon_py3
environment-file: .github/workflows_env/unittest_env.yml
auto-update-conda: true
python-version: ${{ matrix.python }}
miniconda-version: "latest"
- name: unit-test
shell: bash -l {0}
run: |
chmod +x ./.github/workflow_scripts/test_features.sh && ./.github/workflow_scripts/test_features.sh
# eda:
# needs: setup
# runs-on: ${{ matrix.os }}
# defaults:
# run:
# shell: bash
# strategy:
# fail-fast: false
# matrix:
# os: [macos-latest, windows-latest, ubuntu-latest]
# python: ["3.10", "3.11", "3.12", "3.13"]
# steps:
# - name: Checkout repository for PR
# if: (github.event_name == 'workflow_dispatch')
# uses: actions/checkout@v2
# with:
# ref: ${{ github.event.inputs.pr-sha }}
# - name: Checkout repository for nightly test
# if: (github.event_name == 'schedule')
# uses: actions/checkout@v2
# - name: Setup Miniconda
# uses: conda-incubator/setup-miniconda@v3
# with:
# activate-environment: autogluon_py3
# environment-file: .github/workflows_env/unittest_env.yml
# auto-update-conda: true
# python-version: ${{ matrix.python }}
# - name: unit-test
# shell: bash -l {0}
# run: |
# chmod +x ./.github/workflow_scripts/test_eda.sh && ./.github/workflow_scripts/test_eda.sh
tabular:
needs: setup
runs-on: ${{ matrix.os }}
timeout-minutes: 90
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
python: ["3.10", "3.11", "3.12", "3.13"]
steps:
- name: Checkout repository for PR
if: (github.event_name == 'workflow_dispatch')
uses: actions/checkout@v2
with:
ref: ${{ github.event.inputs.pr-sha }}
- name: Checkout repository for nightly test
if: (github.event_name == 'schedule')
uses: actions/checkout@v2
- uses: ./.github/actions/free-disk-space
- name: Setup Miniconda
uses: conda-incubator/setup-miniconda@v3
with:
activate-environment: autogluon_py3
environment-file: .github/workflows_env/unittest_env.yml
auto-update-conda: true
python-version: ${{ matrix.python }}
miniconda-version: "latest"
- name: Setup OMP
if: matrix.os == 'macos-latest'
shell: bash -l {0}
run: |
if brew list | grep -q libomp; then
brew unlink libomp
fi
brew install libomp
- name: unit-test
shell: bash -l {0}
run: |
conda install --channel conda-forge pygraphviz
chmod +x ./.github/workflow_scripts/test_tabular.sh && ./.github/workflow_scripts/test_tabular.sh "-m not gpu" "true"
timeseries:
needs: setup
runs-on: ${{ matrix.os }}
timeout-minutes: 90
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
python: ["3.10", "3.11", "3.12", "3.13"]
steps:
- name: Checkout repository for PR
if: (github.event_name == 'workflow_dispatch')
uses: actions/checkout@v2
with:
ref: ${{ github.event.inputs.pr-sha }}
- name: Checkout repository for nightly test
if: (github.event_name == 'schedule')
uses: actions/checkout@v2
- uses: ./.github/actions/free-disk-space
- name: Setup Miniconda
uses: conda-incubator/setup-miniconda@v3
with:
activate-environment: autogluon_py3
environment-file: .github/workflows_env/unittest_env.yml
auto-update-conda: true
python-version: ${{ matrix.python }}
miniconda-version: "latest"
- name: Setup OMP
if: matrix.os == 'macos-latest'
shell: bash -l {0}
run: |
if brew list | grep -q libomp; then
brew unlink libomp
fi
brew install libomp
- name: Force non-GUI Matplotlib backend on Windows
if: matrix.os == 'windows-latest'
shell: bash -l {0}
run: |
echo "MPLBACKEND=Agg" >> "$GITHUB_ENV"
- name: unit-test
shell: bash -l {0}
run: |
conda install --channel conda-forge pygraphviz
chmod +x ./.github/workflow_scripts/test_timeseries.sh && ./.github/workflow_scripts/test_timeseries.sh --is-platform-test
install:
needs: setup
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
python: ["3.10", "3.11", "3.12", "3.13"]
steps:
- name: Checkout repository for PR
if: (github.event_name == 'workflow_dispatch')
uses: actions/checkout@v2
with:
ref: ${{ github.event.inputs.pr-sha }}
- name: Checkout repository for nightly test
if: (github.event_name == 'schedule')
uses: actions/checkout@v2
- uses: ./.github/actions/free-disk-space
- name: Setup Miniconda
uses: conda-incubator/setup-miniconda@v3
with:
activate-environment: autogluon_py3
environment-file: .github/workflows_env/unittest_env.yml
auto-update-conda: true
python-version: ${{ matrix.python }}
miniconda-version: "latest"
- name: unit-test
if: matrix.os != 'windows-latest'
shell: bash -l {0}
run: |
chmod +x ./.github/workflow_scripts/test_install.sh && ./.github/workflow_scripts/test_install.sh
- name: unit-test on Windows
if: matrix.os == 'windows-latest'
shell: bash -l {0}
run: |
chmod +x ./.github/workflow_scripts/test_install_windows.sh && ./.github/workflow_scripts/test_install_windows.sh
================================================
FILE: .github/workflows/pypi_release.yml
================================================
# This workflow will upload a Python Package to Pypi using Twine when a release is created in this Github repo.
# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries
# Note: There is a bug in Github Actions, so do NOT use the “Save Draft” functionality when creating a new release: https://github.community/t/workflow-set-for-on-release-not-triggering-not-showing-up/16286/5
# Remember to always verify tagged releases are actually available on the Pypi website: https://pypi.org/project/autogluon/
name: Pypi Release
on:
release:
types: [created]
permissions:
contents: read
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install setuptools wheel twine pypandoc packaging
- name: Build and publish
env:
TWINE_USERNAME: ${{ secrets. PYPI_USERNAME }}
TWINE_PASSWORD: ${{ secrets. PYPI_PASSWORD }}
RELEASE: 1
run: |
for v in common core features tabular multimodal timeseries autogluon
do
cd "$v"/
python setup.py sdist bdist_wheel
twine upload dist/* --verbose
cd ..
done
================================================
FILE: .github/workflows/pythonpublish.yml
================================================
# This workflows will upload a Python Package using Twine when a release is created
# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries
# Note: the first change per day is used to build daily/night release.
# Therefore, merging one PR per day is recommended. Otherwise, the we need to manually trigger the CI later.
name: Upload Python Package
on:
workflow_dispatch:
schedule:
- cron: "59 8 * * *"
permissions:
contents: read
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install setuptools wheel twine pypandoc packaging
- name: Build and publish
env:
TWINE_USERNAME: ${{ secrets. PYPI_USERNAME }}
TWINE_PASSWORD: ${{ secrets. PYPI_PASSWORD }}
run: |
for v in common core features tabular multimodal timeseries autogluon
do
cd "$v"/
# Copy _setup_utils.py from core to each module for tar.gz inclusion
if [ "$v" != "core" ]; then
cp ../core/src/autogluon/core/_setup_utils.py ./_setup_utils.py
fi
cp ../LICENSE ./LICENSE
cp ../NOTICE ./NOTICE
cp ../README.md ./README.md
cp ../CONTRIBUTING.md ./CONTRIBUTING.md
cp ../SECURITY.md ./SECURITY.md
python setup.py sdist bdist_wheel
twine upload dist/* --verbose
rm -f ./LICENSE ./NOTICE ./README.md ./CONTRIBUTING.md ./SECURITY.md
# Clean up _setup_utils.py if it was copied
if [ "$v" != "core" ]; then
rm -f ./_setup_utils.py
fi
cd ..
done
================================================
FILE: .github/workflows/pythonpublish_testpypi.yml
================================================
# DO NOT RUN THIS UNLESS PREPARING FOR OFFICIAL PYPI RELEASE SHORTLY AFTER. THIS IS MEANT AS A FINAL SANITY CHECK BEFORE RELEASE.
# This workflow will upload a Python Package using Twine to Test PyPi (Full release)
# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries
name: TestPypi Release
on: workflow_dispatch
permissions:
contents: read
jobs:
deploy:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@master
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install setuptools wheel twine pypandoc packaging
- name: Build and publish
env:
TWINE_USERNAME: ${{ secrets.PYPI_TEST_USERNAME }}
TWINE_PASSWORD: ${{ secrets.PYPI_TEST_PASSWORD }}
RELEASE: 1
run: |
for v in common core features tabular multimodal timeseries autogluon
do
cd "$v"/
python setup.py sdist bdist_wheel
twine upload --repository testpypi dist/* --verbose
cd ..
done
================================================
FILE: .github/workflows/slash_command_dispatch.yml
================================================
name: Slash Command Dispatch
on:
issue_comment:
types: [created]
jobs:
slashCommandDispatch:
runs-on: ubuntu-latest
if: ${{ github.event.issue.pull_request }}
steps:
- name: Parse Command and Get SHA
id: parse_command
uses: actions/github-script@v7
with:
result-encoding: string
script: |
const body = context.payload.comment.body.trim();
// Both commands require a SHA as first argument
const platformTestsRegex = /^\/platform_tests\s+([a-f0-9]{40})/;
const benchmarkRegex = /^\/benchmark\s+([a-f0-9]{40})/;
let command = '';
let sha = '';
// Check if it's a platform_tests command
const platformMatch = body.match(platformTestsRegex);
if (platformMatch) {
command = 'platform_tests';
sha = platformMatch[1];
console.log(`Extracted command: "${command}", SHA: "${sha}"`);
return JSON.stringify({ command, sha });
}
// Check if it's a benchmark command
const benchmarkMatch = body.match(benchmarkRegex);
if (benchmarkMatch) {
command = 'benchmark';
sha = benchmarkMatch[1];
console.log(`Extracted command: "${command}", SHA: "${sha}"`);
return JSON.stringify({ command, sha });
}
throw new Error("Invalid command format. Both commands require a 40-character SHA as the first argument. \nUse: '/platform_tests <SHA>' or '/benchmark <SHA> [parameters]'");
- name: Extract Command Info
id: command_info
run: |
RESULT='${{ steps.parse_command.outputs.result }}'
COMMAND=$(echo $RESULT | jq -r '.command')
SHA=$(echo $RESULT | jq -r '.sha')
echo "COMMAND=$COMMAND" >> $GITHUB_OUTPUT
echo "SHA=$SHA" >> $GITHUB_OUTPUT
- name: Get PR number
id: pr_number
uses: actions/github-script@v7
with:
result-encoding: string
script: |
const { owner, repo, number } = context.issue;
return number
- name: Get Forked Repository and Branch
id: pr_info
run: |
# Use the GitHub API to fetch information about the pull request
pr_info=$(curl -s -H "Authorization: token ${{ secrets.CICD_PAT }}" \
"https://api.github.com/repos/${{ github.repository }}/pulls/${{ steps.pr_number.outputs.result }}")
# Extract the forked repository and branch from the pull request info
forked_repo=$(echo "$pr_info" | jq -r '.head.repo.full_name')
forked_branch=$(echo "$pr_info" | jq -r '.head.ref')
echo "Forked Repository: $forked_repo"
echo "Forked Branch: $forked_branch"
echo "FORK_NAME=$forked_repo" >> $GITHUB_OUTPUT
echo "FORK_BRANCH=$forked_branch" >> $GITHUB_OUTPUT
- name: Slash Command Dispatch
id: scd
uses: peter-evans/slash-command-dispatch@v4
with:
token: ${{ secrets.CICD_PAT }}
permission: write
commands: |
benchmark
platform_tests
dispatch-type: workflow
static-args: |
repository=${{ github.repository }}
comment-id=${{ github.event.comment.id }}
pr-sha=${{ steps.command_info.outputs.SHA }}
branch_or_pr_number=PR-${{ steps.pr_number.outputs.result }}
fork_info=${{ steps.pr_info.outputs.FORK_NAME }}|${{ steps.pr_info.outputs.FORK_BRANCH }}
- name: Edit comment with error message
if: steps.scd.outputs.error-message
uses: peter-evans/create-or-update-comment@v4
with:
comment-id: ${{ github.event.comment.id }}
body: |
> ${{ steps.scd.outputs.error-message }}
================================================
FILE: .github/workflows/update-pre-commit.yml
================================================
name: Update pre-commit hooks
on:
schedule:
- cron: '0 9 * * 1' # every monday
workflow_dispatch:
permissions:
contents: write
pull-requests: write
jobs:
autoupdate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- run: pip install pre-commit
- run: pre-commit autoupdate
- uses: peter-evans/create-pull-request@v7
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: 'chore: update ruff pre-commit hook'
title: 'chore: auto-update ruff pre-commit hook'
body: 'Automated update of the ruff pre-commit hook version via `pre-commit autoupdate`'
branch: auto/pre-commit-update
base: master
================================================
FILE: .github/workflows_env/unittest_env.yml
================================================
name: autogluon_py3
dependencies:
- pip
- pip:
- nose
- flake8
================================================
FILE: .gitignore
================================================
# Extra
*.params
*.states
*.out
*.swp
.DS_Store
.vscode
*.npy
*.npz
*.json
*.ag
*.xml
# Byte-compiled / optimized / DLL files
__pycache__/
.pytest_cache/
*.py[cod]
*$py.class
*.swp
.DS_Store
# C extensions
*.so
# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
*.lock
*.dirlock
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
# Flask stuff:
# instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# PyBuilder
target/
# Jupyter Notebook
.ipynb_checkpoints
# pyenv
.python-version
# celery beat schedule file
celerybeat-schedule
# SageMath parsed files
*.sage.py
# dotenv
.env
# virtualenv
.venv*
venv/
ENV/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mypy
.mypy_cache/
*.jpg*
*.jpeg*
.idea/*
train/*
!examples/mo_hpo/mo_hyperband_files/mo_hyperband_12_0.png
tutorials/checkpoint/*
tutorials/train/*
examples/image_classification/*.csv
tests/unittests/*.zip
tabular/tests/unittests/datasets
autogluon/src/autogluon/version.py
common/src/autogluon/common/version.py
core/src/autogluon/core/version.py
features/src/autogluon/features/version.py
timeseries/src/autogluon/timeseries/version.py
tabular/src/autogluon/tabular/version.py
multimodal/src/autogluon/multimodal/version.py
eda/src/autogluon/eda/version.py
AutogluonModels
lightning_logs
VERSION.minor
================================================
FILE: .pre-commit-config.yaml
================================================
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
# Ruff version.
rev: v0.15.6
hooks:
# Run the formatter.
- id: ruff-format
name: ruff-format
args: ["--diff"]
files: ^(multimodal/|timeseries/|common/|core/|features/|tabular/)
# Run the linter.
- id: ruff
name: ruff-lint
args: ["--select", "I"]
files: ^(multimodal/|timeseries/|common/|core/|features/|tabular/)
================================================
FILE: AWESOME.md
================================================
Awesome AutoGluon
-----------------
This page contains a moderated list of examples, tutorials, articles, and research papers about AutoGluon use cases.
It is inspired by [awesome-machine-learning](https://github.com/josephmisiti/awesome-machine-learning).
We will be happy to add your success story using AutoGluon to this list.
Send us a pull request if you want to include your case here.
## Videos & Tutorials
To get started, we recommend watching [AutoGluon 1.0: Shattering the AutoML Ceiling with Zero Lines of Code](https://www.youtube.com/watch?v=5tvp_Ihgnuk), our talk at AutoML Conf 2023.
### Full Talk List
| Title | Format | Location | Date |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|------------------------------------------------------------------------------------------------------------------------------------|-------------|
| :tv: [AutoML in the Age of Structured Foundation Models](https://www.youtube.com/watch?v=nN9P1_Yywmo) ([Website](https://2025.automl.cc/tutorials/automl-in-the-age-of-structured-foundation-models.html)) | Tutorial | [AutoML 2025](https://2025.automl.cc/index.html) | 2025/09/11 |
| :tv: [Structured Foundation Models Meets AutoML](https://icml.cc/virtual/2025/46786) | Expo Talk | [ICML 2025](https://icml.cc/Conferences/2025) | 2025/07/13 |
| [AutoGluon 1.2: Advancing AutoML with Foundational Models and LLM Agents](https://iclr.cc/virtual/2025/expo-talk-panel/37447) | Expo Talk Panel | [ICLR 2025](https://iclr.cc/Conferences/2025) | 2025/04/24 |
| :tv: [AutoGluon 1.2: Advancing AutoML with Foundational Models and LLM Agents](https://neurips.cc/virtual/2024/expo-workshop/100328) | Expo Workshop | [NeurIPS 2024](https://neurips.cc/Conferences/2024) | 2024/12/10 |
| :tv: [AutoGluon: Towards No-Code Automated Machine Learning](https://www.youtube.com/watch?v=SwPq9qjaN2Q) | Tutorial | [AutoML 2024](https://2024.automl.cc/) | 2024/09/09 |
| [AutoGluon: AutoML at Your Fingertips](https://suzhoum.github.io/icml-24-autogluon-talk/) | Expo Talk | [ICML 2024](https://icml.cc/Expo/Conferences/2024/talk%20panel/36234) | 2024/07/21 |
| [AutoGluon 1.0: AutoML at Your Fingertips](https://autogluon.github.io/neurips-autogluon-workshop/) | Tutorial | [NeurIPS 2023](https://neurips.cc/Expo/Conferences/2023/workshop/78401) | 2023/12/10 |
| :tv: [Leveraging Text, Images, and the Kitchen Sink to solve complex ML problems in 1 line of code](https://www.youtube.com/watch?v=fdfGb2jq-_c) | Tutorial | [Fall AutoML School 2023](https://sites.google.com/view/automl-fall-school-2023/schedule/hands-on-autogluon?authuser=0) | 2023/11/29 |
| :tv: [AutoGluon 1.0: Shattering the AutoML Ceiling with Zero Lines of Code](https://www.youtube.com/watch?v=5tvp_Ihgnuk) | Tutorial | [AutoML 2023](https://2023.automl.cc/) | 2023/09/12 |
| :sound: [AutoGluon: The Story](https://automlpodcast.com/episode/autogluon-the-story) | Podcast | [The AutoML Podcast](https://automlpodcast.com/) | 2023/09/05 |
| :tv: [AutoGluon: AutoML for Tabular, Multimodal, and Time Series Data](https://youtu.be/Lwu15m5mmbs?si=jSaFJDqkTU27C0fa) | Tutorial | PyData Berlin | 2023/06/20 |
| :tv: [Solving Complex ML Problems in a few Lines of Code with AutoGluon](https://www.youtube.com/watch?v=J1UQUCPB88I) | Tutorial | PyData Seattle | 2023/06/20 |
| [AutoGluon: Empowering (Multimodal) AutoML for the Next 10 Million Users](https://autogluon.github.io/neurips2022-autogluon-workshop/) | Tutorial | [NeurIPS 2022](https://nips.cc/Expo/Conferences/2022/workshop/63089) | 2022/11/28 |
| :tv: [The AutoML Revolution](https://www.youtube.com/watch?v=VAAITEds-28) | Tutorial | [Fall AutoML School 2022](https://sites.google.com/view/automl-fall-school-2022) | 2022/10/18 |
| [Multimodal AutoML for Image, Text and Tabular Data](https://github.com/Innixma/kdd-2022-multimodal-automl-tutorial) | Tutorial | [KDD 2022](https://kdd.org/kdd2022/lectureTutorial.html) | 2022/08/14 |
| :tv: [Automating Machine Learning for the Rest of Us](https://www.youtube.com/watch?v=x-EEDBSl3OM) | Keynote | [AutoML 2022](https://2022.automl.cc/index.html) | 2022/07/25 |
| :tv: [AutoGluon: re:MARS 2022 Keynote](https://www.youtube.com/watch?v=_wd0IJBTwbY&t=1277s) | Keynote | [Amazon re:MARS 2022](https://icml.cc/virtual/2020/workshop/5725) | 2022/06/24 |
| [Advancing the State of the Art in AutoML](https://developer.nvidia.com/blog/advancing-the-state-of-the-art-in-automl-now-10x-faster-with-nvidia-gpus-and-rapids/) | Talk | [GTC 2021](https://developer.nvidia.com/blog/advancing-the-state-of-the-art-in-automl-now-10x-faster-with-nvidia-gpus-and-rapids/) | 2021/06/09 |
| :tv: [AutoGluon and Distillation](https://icml.cc/virtual/2020/7045) | Keynote | [ICML 2020, AutoML Workshop](https://icml.cc/virtual/2020/workshop/5725) | 2020/07/18 |
### Articles
- [AutoGluon-TimeSeries: Every Time Series Forecasting Model In One Library](https://towardsdatascience.com/autogluon-timeseries-every-time-series-forecasting-model-in-one-library-29a3bf6879db) (*Towards Data Science*, Jan 2024)
- [AutoGluon-TimeSeries: Creating Powerful Ensemble Forecasts - Complete Tutorial](https://aihorizonforecast.substack.com/p/autogluon-timeseries-creating-powerful) (*AI Horizon Forecast*, Dec 2023)
- [AutoGluon for tabular data: 3 lines of code to achieve top 1% in Kaggle competitions](https://aws.amazon.com/blogs/opensource/machine-learning-with-autogluon-an-open-source-automl-library/) (*AWS Open Source Blog*, Mar 2020)
- [AutoGluon overview & example applications](https://towardsdatascience.com/autogluon-deep-learning-automl-5cdb4e2388ec?source=friends_link&sk=e3d17d06880ac714e47f07f39178fdf2) (*Towards Data Science*, Dec 2019)
## Competition Solutions using AutoGluon
AutoGluon is [widely adopted](https://www.kaggle.com/search?q=autogluon) on ML competition sites such as Kaggle.
Below is a sampling of competition solutions that use AutoGluon to achieve strong results.
### Kaggle
#### 2026 (As of Feb)
| Placement | Competition Solution | Author | Date | AutoGluon Details | Notes |
|:------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------|:-----------|:------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| :1st_place_medal: Rank 1/4370 | [Predicting Heart Disease](https://www.kaggle.com/competitions/playground-series-s6e2/writeups/1st-place-solution-diversity-selection-and-t) | [Masaya Kawamata](https://www.kaggle.com/masayakawamata) | 2026/03/01 | v1.5, Tabular | Kaggle Playground Series S6E2. Also used in the [16th](https://www.kaggle.com/competitions/playground-series-s6e2/writeups/16th-place-solution-trust-your-cv) place solution! |
| :3rd_place_medal: Rank 3/4317 | [Predicting Student Test Scores](https://www.kaggle.com/competitions/playground-series-s6e1/writeups/3rd-place-135-oofs) | [Funguscakehead](https://www.kaggle.com/funguscakehead) | 2026/01/31 | v1.5, Tabular | Kaggle Playground Series S6E1. Also used in the [6th](https://www.kaggle.com/competitions/playground-series-s6e1/writeups/6th-place-a-lot-of-features-a-lot-of-ensembling) and [14th](https://www.kaggle.com/competitions/playground-series-s6e1/writeups/rank14-approach-grand-blend-of-diverse-models) place solutions! |
#### 2025
##### Highlights
AutoGluon continued to see heavy usage in top Kaggle competition solutions in 2025, most notably with :1st_place_medal: [1st](https://www.kaggle.com/competitions/neurips-open-polymer-prediction-2025/writeups/1st-place-solution) and :2nd_place_medal: [2nd](https://www.kaggle.com/competitions/equity-post-HCT-survival-predictions/discussion/566522) place solutions in two high profile $50,000 prize money competitions.
Quote from Kaggle Grandmaster [James Day](https://www.kaggle.com/jsday96), the 5th highest rated Kaggler in the world, on his :1st_place_medal: [winning AutoGluon solution](https://www.kaggle.com/competitions/neurips-open-polymer-prediction-2025/writeups/1st-place-solution) to Kaggle's $50,000 prize money [NeurIPS Open Polymer Prediction 2025 Competition](https://www.kaggle.com/competitions/neurips-open-polymer-prediction-2025):
> My solution is an ensemble of BERT, AutoGluon, and Uni-Mol models.
>
> AutoGluon's "best" quality preset with a 2 hour limit for each property was able to beat an ensemble of XGBoost, LightGBM, and TabM models that I tuned with Optuna and ~20x that amount of compute (not counting data preprocessing tuning, which was in the ballpark of ~1 day per downstream prediction library I paired it with, or all the other models I tried before settling on XGB + LGBM + TabM for the relatively manual ensemble).
>
> Its wMAE score was ~2% better than the relatively manual ensemble, good enough that it was not useful to make an ensemble of AutoGluon + my more manually constructed ensemble.
>
> This was my first time using AutoGluon, and I found it very impressive. I was absolutely gob-smacked by AutoGluon's efficiency.
>
> Broadly speaking, I think the main benefits of my manual involvement were located in the data preparation, post-processing, and non-tabular model selection/tuning aspects of the competition. AutoGluon was embarrassingly hard to beat on the tabular modeling side of things.
Quote from 7x Kaggle Grandmaster [Chris Deotte](https://www.kaggle.com/cdeotte), the 4th highest rated Kaggler in the world, on his :1st_place_medal: [winning solution](https://www.kaggle.com/competitions/playground-series-s5e4/discussion/575784?linkId=100000363253013) to the [Predict Podcast Listening Time](https://www.kaggle.com/competitions/playground-series-s5e4) competition:
> My first single model with lots of feature engineering was beat by AutoGluon. My model had CV/LB 12.5 and AutoGluon had CV/LB 12.4. **This was weird because AutoML has never beat my single models before**. (AutoML doesn't feature engineer nor target encode, so it was very surprising to see such good performance here).
The official [$50,000 2025 Meta Kaggle Hackathon](https://www.kaggle.com/competitions/meta-kaggle-hackathon) :2nd_place_medal: [2nd place Trends Over Time Writeup](https://www.kaggle.com/competitions/meta-kaggle-hackathon/writeups/kaggle-chronicles-15-years-of-competitions-communi) highlighted AutoGluon alongside OpenAI, HuggingFace, and Transformers as prominent emerging technologies within the Kaggle ecosystem:
> First, we examine the evolution of imported packages in competition kernels: xgboost dominated early years, later replaced by lightgbm, tensorflow, and transformers.
>
> Recent years (2022–2025) show emerging use of **autogluon**, optuna, and openai, reflecting interest in AutoML and generative models.
>
> Automation and deployment tools like **autogluon**, huggingface, and sagemaker reflect a shift toward streamlined workflows.
>
> Over time, we observe increasing entropy and diversity in both package imports and method calls, particularly in competition settings where adaptation to new tools is quick. Early dominance by xgboost has shifted toward modern libraries like lightgbm, transformers, and **autogluon**.
##### 2025 AutoGluon Kaggle Solutions
| Placement | Competition Solution | Author | Date | AutoGluon Details | Notes |
|:------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------|:-----------|:------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| :2nd_place_medal: Rank 2/3850 | [Predicting Loan Payback](https://www.kaggle.com/competitions/playground-series-s5e11/writeups/2nd-place-solution-7-models-but-1-was-also-enou) | [AngelosMar](https://www.kaggle.com/angelosmar1) | 2025/11/30 | v1.4, Tabular | Kaggle Playground Series S5E11. Also used in the [8th](https://www.kaggle.com/competitions/playground-series-s5e11/writeups/rank8-approach-trust-the-cv-score#3356762) place solution! |
| :1st_place_medal: Rank 1/26 | [Hill of Towie Wind Turbine Power Prediction](https://www.kaggle.com/code/connyfromtheblock/1st-place-solution-49-21-mae-slides-24-9-call) | [Conor Malone](https://www.kaggle.com/connyfromtheblock) | 2025/11/19 | v1.4, Tabular | Community Competition hosted by [Gabe](https://www.kaggle.com/gabecalvo). Also used in the [4th](https://www.kaggle.com/competitions/hill-of-towie-wind-turbine-power-prediction/writeups/rank4-approach-automl-pipelines-and-single-ml-mo) place solution! |
| Rank 8/4082 (Top 0.2%) | [Predicting Road Accident Risk](https://www.kaggle.com/competitions/playground-series-s5e10/writeups/8th-place-solution-for-s5e10-predict-road-acciden) | [Matt Graham](https://www.kaggle.com/mooseml) | 2025/11/01 | v1.4, Tabular | Kaggle Playground Series S5E10. AutoGluon was also used in prototyping for the [1st](https://www.kaggle.com/competitions/playground-series-s5e10/writeups/1st-place-i-think-it-was-genetic-programming) place solution. |
| :1st_place_medal: Rank 1/172 | [Dig4Bio Raman Transfer Learning Challenge](https://www.kaggle.com/competitions/dig-4-bio-raman-transfer-learning-challenge/writeups/1st-place-solution-preprocessing-is-all-you-need) | [Paritosh Kumar Tripathi](https://www.kaggle.com/paritoshtripathi5) | 2025/09/26 | v1.4, Tabular | $1500 prize competition. |
| :1st_place_medal: Rank 1/2240 | [NeurIPS - Open Polymer Prediction 2025](https://www.kaggle.com/competitions/neurips-open-polymer-prediction-2025/writeups/1st-place-solution) | [James Day](https://www.kaggle.com/jsday96) | 2025/09/15 | v1.4, Tabular | $50,000 prize competition. Also used in the [24th](https://www.kaggle.com/competitions/neurips-open-polymer-prediction-2025/writeups/24th-place-solution-2-stage-autogluon-and-xgb) place solution! |
| :1st_place_medal: Rank 1/3365 | [Binary Classification with a Bank Dataset](https://www.kaggle.com/competitions/playground-series-s5e8/discussion/603210) | [Optimistix](https://www.kaggle.com/optimistix) | 2025/08/31 | v1.4, Tabular | Kaggle Playground Series S5E8. Also used in the :3rd_place_medal: [3rd](https://www.kaggle.com/competitions/playground-series-s5e8/writeups/3rd-place-solution-oof-stacking-autogluon), [4th](https://www.kaggle.com/competitions/playground-series-s5e8/writeups/4th-place-solution), [5th](https://www.kaggle.com/competitions/playground-series-s5e8/writeups/rank-3-public-rank-5-private-approach), [8th](https://www.kaggle.com/competitions/playground-series-s5e8/writeups/8th-place-hill-climb-selected-meta-learners), [10th](https://www.kaggle.com/competitions/playground-series-s5e8/writeups/10th-place-node-neural-oblivious-decision-ensemble), [11th](https://www.kaggle.com/competitions/playground-series-s5e8/writeups/11th-place-solution-autogluon-with-two-feature-set), and [17th](https://www.kaggle.com/competitions/playground-series-s5e8/writeups/17-place-solution) place solutions! |
| :2nd_place_medal: Rank 2/691 | [Prediction Interval Competition II: House price](https://www.kaggle.com/competitions/prediction-interval-competition-ii-house-price/writeups/masaya-kawamata-2nd-place-l3-dual-hc) | [Masaya Kawamata](https://www.kaggle.com/masayakawamata) | 2025/07/27 | v1.4, Tabular | Community Competition hosted by Kaggle Grandmaster [Carl McBride Ellis](https://www.kaggle.com/carlmcbrideellis). |
| :3rd_place_medal: Rank 3/2648 | [Predicting Optimal Fertilizers](https://www.kaggle.com/competitions/playground-series-s5e6/writeups/mahog-3rd-place-ridge-and-cv-are-all-you-need) | [Mahog](https://www.kaggle.com/mahoganybuttstrings) | 2025/07/01 | v1.4, Tabular | Kaggle Playground Series S5E6. Also used in [4th](https://www.kaggle.com/competitions/playground-series-s5e6/writeups/hahahaj-4th-place-stacking-ensemble-using-xgb-only), [10th](https://www.kaggle.com/competitions/playground-series-s5e6/writeups/ole-jakob-10th-place-solution-350-oofs-9-hillclimb), [23rd](https://www.kaggle.com/competitions/playground-series-s5e6/discussion/587461) and [28th](https://www.kaggle.com/competitions/playground-series-s5e6/writeups/ravi-ramakrishnan-rank-28-approach-diversity-and-c) place solutions! |
| :2nd_place_medal: Rank 2/4316 | [Predict Calorie Expenditure](https://www.kaggle.com/competitions/playground-series-s5e5/writeups/mahog-2nd-place-trust-cv-and-diversity) | [Mahog](https://www.kaggle.com/mahoganybuttstrings) | 2025/06/01 | v1.3, Tabular | Kaggle Playground Series S5E5. Also used in the :3rd_place_medal: [3rd](https://www.kaggle.com/competitions/playground-series-s5e5/writeups/nice-kazusan-rd-place-diversity-and-hill-climbing), [4th](https://www.kaggle.com/competitions/playground-series-s5e5/writeups/angelosmar-4th-place-solution-ridge-ensemble-of-12), [6th](https://www.kaggle.com/competitions/playground-series-s5e5/writeups/omid-baghcheh-saraei-6th-place-solution), [7th](https://www.kaggle.com/competitions/playground-series-s5e5/writeups/mahdi-ravaghi-7th-place-solution), and [13th](https://www.kaggle.com/competitions/playground-series-s5e5/discussion/582613) place solutions! |
| :3rd_place_medal: Rank 3/694 | [Russian Car Plates Prices Prediction](https://www.kaggle.com/competitions/russian-car-plates-prices-prediction/writeups/how-1st-place-do-it-3-feature-engineering-and-auto) | [bestwater](https://www.kaggle.com/bestwater) | 2025/05/30 | v1.3, Tabular | $50 prize competition. |
| :1st_place_medal: Rank 1/3310 | [Predict Podcast Listening Time](https://www.kaggle.com/competitions/playground-series-s5e4/discussion/575784?linkId=100000363253013) | [Chris Deotte](https://www.kaggle.com/cdeotte) | 2025/05/01 | v1.3, Tabular | Kaggle Playground Series S5E4. Also used in the [4th](https://www.kaggle.com/competitions/playground-series-s5e4/discussion/575782) and [5th](https://www.kaggle.com/competitions/playground-series-s5e4/discussion/575839) place solutions! |
| :2nd_place_medal: Rank 2/3325 | [CIBMTR - Equity in post-HCT Survival Predictions](https://www.kaggle.com/competitions/equity-post-HCT-survival-predictions/discussion/566522) | [Anil Ozturk](https://www.kaggle.com/nlztrk) & team | 2025/03/06 | v1.3, Tabular | $50,000 prize competition. Also used in the [5th](https://www.kaggle.com/competitions/equity-post-HCT-survival-predictions/writeups/robert-hatch-5th-place-solution-full-write-up), [12th](https://www.kaggle.com/competitions/equity-post-HCT-survival-predictions/writeups/mahdi-riza-12th-place-solution), and [24th](https://www.kaggle.com/competitions/equity-post-HCT-survival-predictions/writeups/overfittingbest-24th-place-solution) place solutions! |
| Rank 5/3393 (Top 0.2%) | [Backpack Prediction Challenge](https://www.kaggle.com/competitions/playground-series-s5e2/writeups/optimistix-5th-place-finding-the-signeedle-in-the-) | [Optimistix](https://www.kaggle.com/optimistix) | 2025/02/28 | v1.3, Tabular | Kaggle Playground Series S5E2. |
#### 2024
| Placement | Competition Solution | Author | Date | AutoGluon Details | Notes |
|:-----------------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------|:-----------|:------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| :2nd_place_medal: Rank 2/2392 (Top 0.1%) | [Regression with an Insurance Dataset](https://www.kaggle.com/competitions/playground-series-s4e12/discussion/554505) | [SCRIPTCHEF](https://www.kaggle.com/noodl35) | 2024/12/31 | v1.2, Tabular | Kaggle Playground Series S4E12. Also used in [9th](https://www.kaggle.com/competitions/playground-series-s4e12/discussion/554377) and [10th](https://www.kaggle.com/competitions/playground-series-s4e12/discussion/554332) place solutions! |
| :1st_place_medal: Rank 1/2687 | [Exploring Mental Health Data](https://www.kaggle.com/competitions/playground-series-s4e11/discussion/549160) | [Mahdi Ravaghi](https://www.kaggle.com/ravaghi) | 2024/11/30 | v1.1, Tabular | Kaggle Playground Series S4E11. Also used in [4th](https://www.kaggle.com/competitions/playground-series-s4e11/discussion/549197) and [13th](https://www.kaggle.com/competitions/playground-series-s4e11/discussion/549155) place solutions! |
| Rank 8/3859 (Top 0.3%) | [Loan Approval Prediction](https://www.kaggle.com/competitions/playground-series-s4e10/discussion/543772) | [Mahdi Ravaghi](https://www.kaggle.com/ravaghi) | 2024/10/31 | v1.1, Tabular | Kaggle Playground Series S4E10 |
| :1st_place_medal: Rank 1/3066 | [Regression of Used Car Prices](https://www.kaggle.com/competitions/playground-series-s4e9/discussion/537052) | [Mart Preusse](https://www.kaggle.com/martinapreusse) | 2024/09/30 | v1.1, Tabular | Kaggle Playground Series S4E9. Also used in :2nd_place_medal: [2nd](https://www.kaggle.com/competitions/playground-series-s4e9/discussion/537349), :3rd_place_medal: [3rd](https://www.kaggle.com/competitions/playground-series-s4e9/discussion/537029), [4th](https://www.kaggle.com/competitions/playground-series-s4e9/discussion/536973), and [5th](https://www.kaggle.com/competitions/playground-series-s4e9/discussion/537173) place solutions! |
| :1st_place_medal: Rank 1/1116 | [Kaggle AutoML Grand Prix (Overall)](https://www.kaggle.com/automl-grand-prix) | [Alexander R.](https://www.kaggle.com/alexryzhkov), [Dmitry S.](https://www.kaggle.com/simakov), [Rinchin](https://www.kaggle.com/rinchin) | 2024/09/01 | v1.1, Tabular | Teams using AutoGluon in the Grand Prix: :1st_place_medal: [1st](https://www.kaggle.com/competitions/playground-series-s4e8/discussion/523732), :2nd_place_medal: [2nd](https://www.kaggle.com/competitions/playground-series-s4e8/discussion/523656), :3rd_place_medal: [3rd](https://www.kaggle.com/competitions/playground-series-s4e9/discussion/532028), [4th](https://www.kaggle.com/competitions/playground-series-s4e8/discussion/524709), [6th](https://www.kaggle.com/competitions/playground-series-s4e9/discussion/532758), [7th](https://www.kaggle.com/competitions/playground-series-s4e9/discussion/532419), [8th](https://www.kaggle.com/competitions/playground-series-s4e9/discussion/532668), [9th](https://www.kaggle.com/competitions/playground-series-s4e6/discussion/509937), and [10th](https://www.kaggle.com/competitions/playground-series-s4e8/discussion/524752) place teams! |
| :2nd_place_medal: Rank 2/247 (Top 1%) | [Kaggle AutoML Grand Prix Episode 5](https://www.kaggle.com/competitions/playground-series-s4e9/discussion/532028) | [Robert Hatch](https://www.kaggle.com/roberthatch) | 2024/09/01 | v1.1, Tabular | Also used in :3rd_place_medal: [3rd](https://www.kaggle.com/competitions/playground-series-s4e9/discussion/531971), [4th](https://www.kaggle.com/competitions/playground-series-s4e9/discussion/532419), 6th, 7th, 9th, and 10th place solutions! |
| :1st_place_medal: Rank 1/2424 | [Binary Prediction of Poisonous Mushrooms](https://www.kaggle.com/competitions/playground-series-s4e8/discussion/531823) | [Optimistix](https://www.kaggle.com/optimistix) | 2024/08/31 | v1.1, Tabular | Kaggle Playground Series S4E8. Also used in :2nd_place_medal: [2nd](https://www.kaggle.com/competitions/playground-series-s4e8/discussion/531368), :3rd_place_medal: [3rd](https://www.kaggle.com/competitions/playground-series-s4e8/discussion/531956), [4th](https://www.kaggle.com/competitions/playground-series-s4e8/discussion/531343), [6th](https://www.kaggle.com/competitions/playground-series-s4e8/discussion/531330), [8th](https://www.kaggle.com/competitions/playground-series-s4e8/discussion/531374), and [10th](https://www.kaggle.com/competitions/playground-series-s4e8/discussion/531424) place solutions! |
| :1st_place_medal: Rank 1/218 | [Kaggle AutoML Grand Prix Episode 4](https://www.kaggle.com/competitions/playground-series-s4e8/discussion/523656) | [Lennart P.](https://twitter.com/lennartpurucker), [Nick E.](https://twitter.com/innixma) & [Arjun K.](https://github.com/Neonkraft) | 2024/08/01 | v1.1, Tabular | Also used in :2nd_place_medal: [2nd](https://www.kaggle.com/competitions/playground-series-s4e8/discussion/524752), :3rd_place_medal: [3rd](https://www.kaggle.com/competitions/playground-series-s4e8/discussion/524709), [4th](https://www.kaggle.com/competitions/playground-series-s4e8/discussion/523837), [5th](https://www.kaggle.com/competitions/playground-series-s4e8/discussion/523660), [6th](https://www.kaggle.com/competitions/playground-series-s4e8/discussion/524720), [7th](https://www.kaggle.com/competitions/playground-series-s4e8/discussion/523732), [8th](https://www.kaggle.com/competitions/playground-series-s4e8/discussion/524544), [9th](https://www.kaggle.com/competitions/playground-series-s4e8/discussion/524675), and [10th](https://www.kaggle.com/competitions/playground-series-s4e8/discussion/524430) place solutions! |
| :3rd_place_medal: Rank 3/2236 (Top 0.2%) | [Binary Classification of Insurance Cross Selling](https://www.kaggle.com/competitions/playground-series-s4e7/discussion/523661) | [Tilii](https://www.kaggle.com/tilii7) | 2024/07/31 | v1.1, Tabular | Kaggle Playground Series S4E7 |
| Rank 4/207 (Top 2%) | [Kaggle AutoML Grand Prix Episode 3](https://www.kaggle.com/competitions/playground-series-s4e7/discussion/516265) | [Lennart Purucker](https://twitter.com/lennartpurucker) & [Nick Erickson](https://twitter.com/innixma) | 2024/07/01 | v1.1, Tabular | |
| Rank 17/2684 (Top 1%) | [Classification with an Academic Success Dataset](https://www.kaggle.com/competitions/playground-series-s4e6/discussion/516047) | [Mart Preusse](https://www.kaggle.com/martinapreusse) | 2024/06/30 | v1.1, Tabular | Kaggle Playground Series S4E6 |
| :3rd_place_medal: Rank 3/542 (Top 0.6%) | [WiDS Datathon 2024 Challenge #2](https://www.kaggle.com/competitions/widsdatathon2024-challenge2/discussion/511732) | [olgaskv](https://www.kaggle.com/olgaskv) | 2024/06/11 | v1.1, Tabular | |
| :1st_place_medal: Rank 1/230 | [Kaggle AutoML Grand Prix Episode 2](https://www.kaggle.com/competitions/playground-series-s4e6/discussion/509631) | [Lennart Purucker](https://twitter.com/lennartpurucker) & [Nick Erickson](https://twitter.com/innixma) | 2024/06/01 | v1.1, Tabular | Also used in [5th](https://www.kaggle.com/competitions/playground-series-s4e6/discussion/509937) place solution! |
| :1st_place_medal: Rank 1/2788 | [Regression with a Flood Prediction Dataset](https://www.kaggle.com/competitions/playground-series-s4e5/discussion/509043) | [Alexandre Daubas](https://www.kaggle.com/adaubas) | 2024/05/31 | v1.1, Tabular | Kaggle Playground Series S4E5. Also used in :2nd_place_medal: [2nd](https://www.kaggle.com/competitions/playground-series-s4e5/discussion/509410), :3rd_place_medal: [3rd](https://www.kaggle.com/competitions/playground-series-s4e5/discussion/509042), and [4th](https://www.kaggle.com/competitions/playground-series-s4e5/discussion/509044) place solutions! |
| Rank 5/214 (Top 3%) | [Kaggle AutoML Grand Prix Episode 1](https://www.kaggle.com/competitions/playground-series-s4e5/discussion/500453) | [James King](https://www.kaggle.com/jamesking76) | 2024/05/01 | v1.1, Tabular | Also used in [8th](https://www.kaggle.com/competitions/playground-series-s4e5/discussion/509410) and [9th](https://www.kaggle.com/competitions/playground-series-s4e5/discussion/509042) place solutions! |
| :1st_place_medal: Rank 1/2606 | [Regression with an Abalone Dataset](https://www.kaggle.com/competitions/playground-series-s4e4/discussion/499174) | [Johannes Heller](https://www.kaggle.com/stopwhispering) | 2024/04/30 | v1.0, Tabular | Kaggle Playground Series S4E4. Also used in :2nd_place_medal: [2nd](https://www.kaggle.com/competitions/playground-series-s4e4/discussion/499698), :3rd_place_medal: [3rd](https://www.kaggle.com/competitions/playground-series-s4e4/discussion/499747), [4th](https://www.kaggle.com/competitions/playground-series-s4e4/discussion/499341), and [8th](https://www.kaggle.com/competitions/playground-series-s4e4/discussion/499258) place solutions! |
| :3rd_place_medal: Rank 3/2303 (Top 0.2%) | [Steel Plate Defect Prediction](https://www.kaggle.com/competitions/playground-series-s4e3/discussion/488127) | [Samvel Kocharyan](https://github.com/samvelkoch) | 2024/03/31 | v1.0, Tabular | Kaggle Playground Series S4E3 |
| :2nd_place_medal: Rank 2/93 (Top 2%) | [Prediction Interval Competition I: Birth Weight](https://www.kaggle.com/competitions/prediction-interval-competition-i-birth-weight/discussion/496813) | [Oleksandr Shchur](https://shchur.github.io/) | 2024/03/21 | v1.0, Tabular | |
| :2nd_place_medal: Rank 2/1542 (Top 0.2%) | [WiDS Datathon 2024 Challenge #1](https://www.kaggle.com/competitions/widsdatathon2024-challenge1/discussion/482285) | [lazy_panda](https://www.kaggle.com/byteliberator) | 2024/03/01 | v1.0, Tabular | |
| :2nd_place_medal: Rank 2/3746 (Top 0.1%) | [Multi-Class Prediction of Obesity Risk](https://www.kaggle.com/competitions/playground-series-s4e2/discussion/480939) | [Kirderf](https://twitter.com/kirderf9) | 2024/02/29 | v1.0, Tabular | Kaggle Playground Series S4E2 |
| :2nd_place_medal: Rank 2/3777 (Top 0.1%) | [Binary Classification with a Bank Churn Dataset](https://www.kaggle.com/competitions/playground-series-s4e1/discussion/472496) | [lukaszl](https://www.kaggle.com/lukaszl) | 2024/01/31 | v1.0, Tabular | Kaggle Playground Series S4E1 |
#### Older Results
| Placement | Competition Solution | Author | Date | AutoGluon Details | Notes |
|:----------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------------|:-----------|:------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Rank 4/1718 (Top 0.2%) | [Multi-Class Prediction of Cirrhosis Outcomes](https://www.kaggle.com/competitions/playground-series-s3e26/discussion/464863) | [Kirderf](https://twitter.com/kirderf9) | 2023/12/31 | v1.0, Tabular | Kaggle Playground Series S3E26 |
| :2nd_place_medal: Rank 2/58 (Top 4%) | [ML Olympiad - Water Quality Prediction](https://www.kaggle.com/competitions/ml-olympiad-waterqualityprediction/discussion/393393) | [Chris X](https://www.kaggle.com/docxian) | 2023/03/11 | v0.6.2, Tabular | |
| Rank 6/734 (Top 1%) | [Tabular Regression with a Gemstone Price Dataset](https://www.kaggle.com/competitions/playground-series-s3e8/discussion/392820) | [Kirderf](https://twitter.com/kirderf9) | 2023/03/06 | v0.6.2, Tabular | Kaggle Playground Series S3E8 |
| Rank 9/703 (Top 1.3%) | [Tabular Regression with a Paris Housing Price Dataset](https://www.kaggle.com/competitions/playground-series-s3e6/discussion/389151) | [Brendan Moore](https://www.kaggle.com/brendanmoore14) | 2023/02/20 | v0.6.2, Tabular | Kaggle Playground Series S3E6 |
| :1st_place_medal: Rank 1/689 | [Tabular Regression with the California Housing Dataset](https://www.kaggle.com/competitions/playground-series-s3e1/discussion/377137) | [Kirderf](https://twitter.com/kirderf9) | 2023/01/09 | v0.6.1, Tabular | Kaggle Playground Series S3E1 |
## Research Papers
To view a list of all AutoGluon research papers, please refer to our [citation guide](CITING.md).
## AutoML Benchmarks using AutoGluon
### [AMLB: An AutoML Benchmark](https://openml.github.io/automlbenchmark/) (JMLR 2024)
* For a thorough comparison of AutoGluon and other modern AutoML systems, please refer to the 2024 JMLR paper ["AMLB: An AutoML Benchmark"](https://www.jmlr.org/papers/volume25/22-0493/22-0493.pdf) and the [2022 edition](https://arxiv.org/abs/2207.12560) where AutoGluon is shown to be the state-of-the-art among AutoML systems on tabular data.
* We encourage all users to benchmark AutoGluon & other AutoML frameworks on AMLB.
* This is our preferred benchmark as it is widely accepted and trusted within the AutoML community.
### [AutoML Benchmark with Shorter Time Constraints and Early Stopping](https://arxiv.org/pdf/2504.01222) (ICLR 2025)
The [AutoML Benchmark 2025](https://arxiv.org/pdf/2504.01222), an independent large-scale evaluation of tabular AutoML frameworks, showcases AutoGluon 1.2 as the state of the art AutoML framework. Highlights include:
- AutoGluon's rank statistically significantly outperforms all AutoML systems via the Nemenyi post-hoc test across all time constraints.
- AutoGluon with a 5 minute training budget outperforms all other AutoML systems with a 1 hour training budget.
- AutoGluon is pareto efficient in quality and speed across all evaluated presets and time constraints.
- AutoGluon with `presets="high", infer_limit=0.0001` (HQIL in the figures) achieves >10,000 samples/second inference throughput while outperforming all methods.
- AutoGluon is the most stable AutoML system. For "best" and "high" presets, AutoGluon has 0 failures on all time budgets >5 minutes.
<p float="left">
<img src="https://raw.githubusercontent.com/Innixma/autogluon-doc-utils/refs/heads/main/docs/whats_new/v1.3.0/amlb2025_fig3a.png" width="40%"/>
<img src="https://raw.githubusercontent.com/Innixma/autogluon-doc-utils/refs/heads/main/docs/whats_new/v1.3.0/amlb2025_fig10d.png" width="35%"/>
</p>
<img src="https://raw.githubusercontent.com/Innixma/autogluon-doc-utils/refs/heads/main/docs/whats_new/v1.3.0/amlb2025_fig1.png" width="100%"/>
## Papers using AutoGluon
Below is a sampling of some interesting papers that have cited AutoGluon.
* (2023/04/28) [Benchmarking Automated Machine Learning Methods for Price Forecasting Applications](https://arxiv.org/abs/2304.14735)
* This paper compares various traditional and AutoML methods for price forecasting problems, with AutoGluon achieving the strongest results.
================================================
FILE: CI/batch/cancel-job.py
================================================
import argparse
import boto3
import re
parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument('--profile', help='profile name of aws account.', type=str,
default=None)
parser.add_argument('--region', help='Default region when creating new connections', type=str,
default='us-east-1')
parser.add_argument('--name', help='name of the job to be cancelled.', type=str,
default='')
parser.add_argument('--job-type', help='name of the job to be cancelled.', type=str,
default='CI-CPU')
parser.add_argument('--reason', help='reason to cancel the job.', type=str,
default='Canelling because new commits related to same PR is pushed')
args = parser.parse_args()
profile = args.profile
region = args.region
job_name = re.sub('[^A-Za-z0-9_\-]', '', args.name)[:128] # Enforce AWS Batch jobName rules
job_type = args.job_type
reason = args.reason
session = boto3.Session(profile_name=profile, region_name=region)
batch = session.client(service_name='batch')
def main():
# Find all jobs with job_name that are running or about to run and terminate them all.
list_args = {
"jobQueue": job_type,
"filters": [{"name": "JOB_NAME", "values": [job_name]}],
}
try:
response = batch.list_jobs(**list_args)
for job in response["jobSummaryList"]:
if job["status"] in ["SUBMITTED", "PENDING", "RUNNABLE", "STARTING", "RUNNING"]:
print(f'Terminate previous job {job["jobId"]}')
batch.terminate_job(jobId=job["jobId"], reason="New job submitted")
except Exception as e:
print(f'Failed to terminate the job because of exception: {e}')
if __name__ == "__main__":
main()
================================================
FILE: CI/batch/docker/Dockerfile.cpu
================================================
FROM 763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-training:2.8.0-cpu-py312-ubuntu22.04-ec2
RUN apt-get update \
&& apt-get -y upgrade \
&& apt-get install -y --no-install-recommends \
pandoc \
python3.11-venv \
graphviz \
graphviz-dev \
&& apt-get autoremove -y \
&& apt-get clean
RUN adduser --disabled-password --disabled-login ci
WORKDIR /home/ci
# add autogluon_job script
ADD autogluon_job.sh .
RUN chmod +x autogluon_job.sh; chown ci autogluon_job.sh
USER ci
ENV VIRTUAL_ENV=/home/ci/opt/venv
RUN python3 -m venv $VIRTUAL_ENV
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
CMD ["/bin/bash"]
================================================
FILE: CI/batch/docker/Dockerfile.gpu
================================================
FROM 763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-training:2.8.0-gpu-py312-cu129-ubuntu22.04-ec2
RUN apt-get update \
&& apt-get -y upgrade \
&& apt-get install -y --no-install-recommends \
pandoc \
python3.11-venv \
graphviz \
graphviz-dev \
&& apt-get autoremove -y \
&& apt-get clean
RUN apt install tesseract-ocr -y
RUN adduser --disabled-password --disabled-login ci
WORKDIR /home/ci
# add autogluon_job script
ADD autogluon_job.sh .
RUN chmod +x autogluon_job.sh; chown ci autogluon_job.sh
USER ci
ENV VIRTUAL_ENV=/home/ci/opt/venv
RUN python3 -m venv $VIRTUAL_ENV
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
CMD ["/bin/bash"]
================================================
FILE: CI/batch/docker/Dockerfile.pyodide
================================================
FROM pyodide/pyodide-env:20221102-chrome107-firefox106
WORKDIR /src
# compile pyodide
RUN git clone --depth 1 --branch 0.22.0 https://github.com/pyodide/pyodide.git \
&& cd pyodide \
&& pip install -r requirements.txt \
&& make \
&& PYODIDE_PACKAGES='*,!bcrypt,!sparseqr,!cryptography,!libmpfr,!pyerfa' make \
&& cd pyodide-build && pip install -e '.[test]' && cd .. \
&& pip install 'playwright<1.23.0' && python3 -m playwright install \
&& cd ..
WORKDIR /src/pyodide
# add autogluon_job script
ADD autogluon_job.sh .
RUN chmod +x autogluon_job.sh
RUN python3 -m pip install numpy pandas scikit-learn
CMD ["/bin/bash"]
================================================
FILE: CI/batch/docker/README.md
================================================
# Updating the Docker Image for AWS Batch
This is for AutoGluon Devs to update the CI docker environment.
**IMPORTANT**:
Please push the changes to our github repository if you updated the docker file and pushed the new docker image to our ECR.
The new docker image will take effect even you didn't push the changes to our github repository.
This helps to make sure everyone sees the changes you made and build on top.
To update the docker:
- Update the Dockerfile
- Log into the AWS account that holds the ECR repo on your dev machine.
- Export the AWS account credentials as environment variables
- CD to the same folder as the Dockerfile and execute the following:
```shell
# First export your ecr repo address as a environment variable
export AWS_ECR_REPO=${your_repo}
# Following script will build, tag, and push the image
# For cpu
./docker_deploy.sh cpu
# For gpu
./docker_deploy.sh gpu
```
================================================
FILE: CI/batch/docker/autogluon_job.sh
================================================
#!/bin/bash
date
echo "Args: $@"
env
echo "jobId: $AWS_BATCH_JOB_ID"
echo "jobQueue: $AWS_BATCH_JQ_NAME"
echo "computeEnvironment: $AWS_BATCH_CE_NAME"
SOURCE_REF=$1
WORK_DIR=$2
COMMAND=$3
SAVED_OUTPUT=$4
SAVE_PATH=$5
REMOTE=$6
SAFE_TO_USE_SCRIPT=$7
# Copy the workflow from master branch
git clone https://github.com/autogluon/autogluon.git
WORKFLOW_SCRIPTS=autogluon/.github/workflow_scripts
if [ -d "$WORKFLOW_SCRIPTS" ]; then
cp -R autogluon/.github/workflow_scripts .
fi
cd autogluon
if [ ! -z $REMOTE ]; then
git remote set-url origin $REMOTE
fi
git fetch origin $SOURCE_REF:working
git checkout working
# If not safe to use script, we overwrite with the script from master branch
TRUE=true
if [[ ${SAFE_TO_USE_SCRIPT,,} != ${TRUE,,} ]]; then
if [ -d ../workflow_scripts ]; then
rm -rf .github/workflow_scripts
mv ../workflow_scripts .github/
else
echo Not safe to use user provided script, and could not find script from master branches
exit 1
fi
fi
cd $WORK_DIR
/bin/bash -o pipefail -c "eval $COMMAND"
COMMAND_EXIT_CODE=$?
exit $COMMAND_EXIT_CODE
================================================
FILE: CI/batch/docker/docker_deploy.sh
================================================
#!/bin/bash
TYPE=$1
# This executes a command that logs into ECR for both our CI repo and the AutoGluon DLC container repo.
aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 369469875935.dkr.ecr.us-east-1.amazonaws.com
aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 763104351884.dkr.ecr.us-east-1.amazonaws.com
if [ -z $TYPE ]; then
echo "No type detected. Choices: cpu, gpu"
exit 1
fi;
if [ $TYPE == cpu ] || [ $TYPE == CPU ]; then
docker build -f Dockerfile.cpu -t autogluon-ci:cpu-latest .
docker tag autogluon-ci:cpu-latest $AWS_ECR_REPO:cpu-latest
docker push $AWS_ECR_REPO:cpu-latest
elif [ $TYPE == gpu ] || [ $TYPE == GPU ]; then
docker build -f Dockerfile.gpu -t autogluon-ci:gpu-latest .
docker tag autogluon-ci:gpu-latest $AWS_ECR_REPO:gpu-latest
docker push $AWS_ECR_REPO:gpu-latest
else
echo "Invalid type detected. Choices: cpu, gpu"
exit 1
fi;
================================================
FILE: CI/batch/submit-job.py
================================================
import argparse
import random
import re
import sys
import time
from datetime import datetime, timezone
import boto3
from botocore.compat import total_seconds
from botocore.config import Config
job_type_info = {
'CI-CPU': {
'job_definition': 'autogluon-ci-cpu:3',
'job_queue': 'CI-CPU'
},
'CI-GPU': {
'job_definition': 'autogluon-ci-gpu:3',
'job_queue': 'CI-GPU'
},
'CI-WASM': {
'job_definition': 'autogluon-ci-wasm:1',
'job_queue': 'CI-CPU'
},
'CI-MULTI-GPU': {
'job_definition': 'autogluon-ci-multi-gpu:6',
'job_queue': 'CI-MULTI-GPU'
},
'CI-CPU-PUSH': {
'job_definition': 'autogluon-ci-cpu-push:3',
'job_queue': 'CI-CPU'
},
'CI-GPU-PUSH': {
'job_definition': 'autogluon-ci-gpu-push:4',
'job_queue': 'CI-GPU'
},
'CI-WASM-PUSH': {
'job_definition': 'autogluon-ci-wasm-push:2',
'job_queue': 'CI-CPU'
},
'CI-MULTI-GPU-PUSH': {
'job_definition': 'autogluon-ci-multi-gpu-push:2',
'job_queue': 'CI-MULTI-GPU'
},
}
parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument('--profile', help='profile name of aws account.', type=str,
default=None)
parser.add_argument('--region', help='Default region when creating new connections', type=str,
default='us-east-1')
parser.add_argument('--name', help='name of the job', type=str, default='dummy')
parser.add_argument('--job-type', help='type of job to submit.', type=str,
choices=job_type_info.keys(), default='CI-CPU')
parser.add_argument('--source-ref',
help='ref in AutoGluon main github. e.g. master, refs/pull/500/head',
type=str, default='master')
parser.add_argument('--work-dir',
help='working directory inside the repo. e.g. scripts/preprocess',
type=str, default='scripts/preprocess')
parser.add_argument('--saved-output',
help='output to be saved, relative to working directory. '
'it can be either a single file or a directory',
type=str, default='None')
parser.add_argument('--save-path',
help='s3 path where files are saved.',
type=str, default='batch/temp/{}'.format(datetime.now().isoformat()))
parser.add_argument('--command', help='command to run', type=str,
default='git rev-parse HEAD | tee stdout.log')
parser.add_argument('--remote',
help='git repo address. https://github.com/autogluon/autogluon',
type=str, default="https://github.com/autogluon/autogluon")
parser.add_argument('--safe-to-use-script',
help='whether the script changes from the actor is safe. We assume it is safe if the actor has write permission to our repo',
action='store_true')
parser.add_argument('--wait', help='block wait until the job completes. '
'Non-zero exit code if job fails.', action='store_true')
parser.add_argument('--timeout', help='job timeout in seconds', default=None, type=int)
args = parser.parse_args()
session = boto3.Session(profile_name=args.profile, region_name=args.region)
config = Config(
retries = dict(
max_attempts = 20
)
)
batch, cloudwatch = [session.client(service_name=sn, config=config) for sn in ['batch', 'logs']]
def printLogs(logGroupName, logStreamName, startTime):
kwargs = {'logGroupName': logGroupName,
'logStreamName': logStreamName,
'startTime': startTime,
'startFromHead': True}
lastTimestamp = startTime - 1
while True:
logEvents = cloudwatch.get_log_events(**kwargs)
for event in logEvents['events']:
lastTimestamp = event['timestamp']
timestamp = datetime.fromtimestamp(lastTimestamp / 1000.0, timezone.utc).isoformat()
print('[{}] {}'.format((timestamp + '.000')[:23] + 'Z', event['message']))
nextToken = logEvents['nextForwardToken']
if nextToken and kwargs.get('nextToken') != nextToken:
kwargs['nextToken'] = nextToken
else:
break
return lastTimestamp
def nowInMillis():
endTime = int(total_seconds(datetime.now(timezone.utc).replace(tzinfo=None) - datetime(1970, 1, 1))) * 1000
return endTime
def main():
spin = ['-', '/', '|', '\\', '-', '/', '|', '\\']
logGroupName = '/aws/batch/job'
jobName = re.sub('[^A-Za-z0-9_\-]', '', args.name)[:128] # Enforce AWS Batch jobName rules
jobType = args.job_type
jobQueue = job_type_info[jobType]['job_queue']
jobDefinition = job_type_info[jobType]['job_definition']
wait = args.wait
safe_to_use_script = 'False'
if args.safe_to_use_script:
safe_to_use_script = 'True'
parameters = {
'SOURCE_REF': args.source_ref,
'WORK_DIR': args.work_dir,
'SAVED_OUTPUT': args.saved_output,
'SAVE_PATH': args.save_path,
'COMMAND': f"\"{args.command}\"", # wrap command with double quotation mark, so that batch can treat it as a single command
'REMOTE': args.remote,
'SAFE_TO_USE_SCRIPT': safe_to_use_script,
}
kwargs = dict(
jobName=jobName,
jobQueue=jobQueue,
jobDefinition=jobDefinition,
parameters=parameters,
)
if args.timeout is not None:
kwargs['timeout'] = {'attemptDurationSeconds': args.timeout}
submitJobResponse = batch.submit_job(**kwargs)
jobId = submitJobResponse['jobId']
print('Submitted job [{} - {}] to the job queue [{}]'.format(jobName, jobId, jobQueue))
spinner = 0
running = False
status_set = set()
startTime = 0
logStreamName = None
while wait:
time.sleep(random.randint(5, 10))
describeJobsResponse = batch.describe_jobs(jobs=[jobId])
status = describeJobsResponse['jobs'][0]['status']
if status == 'SUCCEEDED' or status == 'FAILED':
if logStreamName:
startTime = printLogs(logGroupName, logStreamName, startTime) + 1
print('=' * 80)
print('Job [{} - {}] {}'.format(jobName, jobId, status))
sys.exit(status == 'FAILED')
elif status == 'RUNNING':
logStreamName = describeJobsResponse['jobs'][0]['container']['logStreamName']
if not running:
running = True
print('\rJob [{}, {}] is RUNNING.'.format(jobName, jobId))
if logStreamName:
print('Output [{}]:\n {}'.format(logStreamName, '=' * 80))
if logStreamName:
startTime = printLogs(logGroupName, logStreamName, startTime) + 1
elif status not in status_set:
status_set.add(status)
print('\rJob [%s - %s] is %-9s... %s' % (jobName, jobId, status, spin[spinner % len(spin)]),)
sys.stdout.flush()
spinner += 1
if __name__ == '__main__':
main()
================================================
FILE: CI/bench/evaluate.py
================================================
import argparse
import os
import subprocess
from datetime import datetime
import pandas as pd
import yaml
def process_results(eval_flag: bool):
try:
paths = []
frameworks = []
for file in os.listdir("./results"):
if file.endswith(".csv") and not file.endswith("_min.csv"):
file = os.path.join("./results", file)
df = pd.read_csv(file)
paths.append(os.path.basename(file))
frameworks += list(df["framework"].unique())
modified_list_paths = []
modified_list_frameworks = []
for path in paths:
modified_list_paths.append('--paths')
modified_list_paths.append(path)
for framework in frameworks:
modified_list_frameworks.append('--frameworks-run')
modified_list_frameworks.append(framework)
paths = modified_list_paths
frameworks = modified_list_frameworks
subprocess.run(
[
"agbench",
"evaluate-amlb-results",
*frameworks,
"--results-dir-input",
"./results/",
*paths,
f"--results-dir-output",
f"./evaluate",
"--no-clean-data",
],
check=True
)
unique_framework = {}
# Renaming the frameworks for dashboard f
gitextract_t6hqhpy5/
├── .gitattributes
├── .github/
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug_report.md
│ │ ├── config.yml
│ │ ├── doc_improvement.yml
│ │ └── feature_request.md
│ ├── PULL_REQUEST_TEMPLATE.md
│ ├── actions/
│ │ ├── free-disk-space/
│ │ │ └── action.yml
│ │ ├── setup-env-vars/
│ │ │ └── action.yml
│ │ ├── submit-job/
│ │ │ └── action.yml
│ │ └── test-cloud/
│ │ └── action.yml
│ ├── workflow_scripts/
│ │ ├── build_all_docs.sh
│ │ ├── build_cloud_fit_deploy_tutorial.sh
│ │ ├── build_doc.sh
│ │ ├── build_eda_tutorial.sh
│ │ ├── build_multimodal_tutorial.sh
│ │ ├── build_tabular_prediction_tutorial.sh
│ │ ├── build_timeseries_tutorial.sh
│ │ ├── copy_docs.sh
│ │ ├── env_setup.sh
│ │ ├── lint_check.sh
│ │ ├── run_benchmark.sh
│ │ ├── setup_hf_model_mirror.py
│ │ ├── setup_mmcv.sh
│ │ ├── test_common.sh
│ │ ├── test_core.sh
│ │ ├── test_eda.sh
│ │ ├── test_features.sh
│ │ ├── test_install.sh
│ │ ├── test_install_windows.sh
│ │ ├── test_multimodal.sh
│ │ ├── test_multimodal_others.sh
│ │ ├── test_multimodal_others_2.sh
│ │ ├── test_multimodal_predictor.sh
│ │ ├── test_tabular.sh
│ │ ├── test_timeseries.sh
│ │ ├── version_diff.sh
│ │ └── write_to_s3.sh
│ ├── workflows/
│ │ ├── README.md
│ │ ├── benchmark-command.yml
│ │ ├── benchmark_master.yml
│ │ ├── build_latest_image.yml
│ │ ├── check_hf_model_list.yml
│ │ ├── codeguru-reviewer.yml
│ │ ├── codeql.yml
│ │ ├── codespell.yml
│ │ ├── continuous_integration.yml
│ │ ├── continuous_integration_multigpu.yaml
│ │ ├── platform_tests-command.yml
│ │ ├── pypi_release.yml
│ │ ├── pythonpublish.yml
│ │ ├── pythonpublish_testpypi.yml
│ │ ├── slash_command_dispatch.yml
│ │ └── update-pre-commit.yml
│ └── workflows_env/
│ └── unittest_env.yml
├── .gitignore
├── .pre-commit-config.yaml
├── AWESOME.md
├── CI/
│ ├── batch/
│ │ ├── cancel-job.py
│ │ ├── docker/
│ │ │ ├── Dockerfile.cpu
│ │ │ ├── Dockerfile.gpu
│ │ │ ├── Dockerfile.pyodide
│ │ │ ├── README.md
│ │ │ ├── autogluon_job.sh
│ │ │ └── docker_deploy.sh
│ │ └── submit-job.py
│ ├── bench/
│ │ ├── evaluate.py
│ │ ├── generate_amlb_user_dir.sh
│ │ ├── generate_bench_config.sh
│ │ ├── generate_framework.py
│ │ ├── multimodal/
│ │ │ └── custom_user_dir/
│ │ │ ├── multimodal_constraints.yaml
│ │ │ └── multimodal_frameworks_template.yaml
│ │ ├── tabular/
│ │ │ └── amlb_user_dir/
│ │ │ ├── benchmarks/
│ │ │ │ ├── tabular_full.yaml
│ │ │ │ ├── tabular_small.yaml
│ │ │ │ └── tabular_test.yaml
│ │ │ ├── config.yaml
│ │ │ ├── constraints.yaml
│ │ │ ├── frameworks_template.yaml
│ │ │ └── setup_hf_cache.py
│ │ └── timeseries/
│ │ └── amlb_user_dir/
│ │ ├── benchmarks/
│ │ │ └── timeseries_small.yaml
│ │ ├── config.yaml
│ │ ├── constraints.yaml
│ │ └── frameworks_template.yaml
│ ├── docker/
│ │ ├── Dockerfile.cpu-inference
│ │ ├── Dockerfile.cpu-training
│ │ ├── Dockerfile.gpu-inference
│ │ ├── Dockerfile.gpu-training
│ │ ├── full_install_image.sh
│ │ └── login_ecr.sh
│ └── hf_mirror/
│ ├── Dockerfile
│ ├── deploy.sh
│ ├── download_hf_models.py
│ └── download_hf_models.sh
├── CITING.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── NOTICE
├── README.md
├── SECURITY.md
├── VERSION
├── autogluon/
│ ├── setup.py
│ └── src/
│ └── autogluon/
│ └── _internal_/
│ └── __init__.py
├── common/
│ ├── setup.py
│ ├── src/
│ │ └── autogluon/
│ │ └── common/
│ │ ├── __init__.py
│ │ ├── dataset.py
│ │ ├── features/
│ │ │ ├── __init__.py
│ │ │ ├── feature_metadata.py
│ │ │ ├── infer_types.py
│ │ │ └── types.py
│ │ ├── loaders/
│ │ │ ├── __init__.py
│ │ │ ├── _utils.py
│ │ │ ├── load_json.py
│ │ │ ├── load_pd.py
│ │ │ ├── load_pkl.py
│ │ │ ├── load_s3.py
│ │ │ ├── load_str.py
│ │ │ └── load_zip.py
│ │ ├── model_filter/
│ │ │ ├── __init__.py
│ │ │ └── _model_filter.py
│ │ ├── savers/
│ │ │ ├── __init__.py
│ │ │ ├── save_json.py
│ │ │ ├── save_pd.py
│ │ │ ├── save_pkl.py
│ │ │ └── save_str.py
│ │ ├── space.py
│ │ └── utils/
│ │ ├── __init__.py
│ │ ├── cache_presets_to_yaml.py
│ │ ├── compression_utils.py
│ │ ├── context.py
│ │ ├── cpu_utils.py
│ │ ├── cv_splitter.py
│ │ ├── decorators.py
│ │ ├── deprecated_utils.py
│ │ ├── distribute_utils.py
│ │ ├── file_utils.py
│ │ ├── hyperparameter_utils.py
│ │ ├── lite.py
│ │ ├── log_utils.py
│ │ ├── multiprocessing_utils.py
│ │ ├── nvutil.py
│ │ ├── pandas_utils.py
│ │ ├── path_converter.py
│ │ ├── presets_io.py
│ │ ├── resource_utils.py
│ │ ├── s3_utils.py
│ │ ├── simulation_utils.py
│ │ ├── system_info.py
│ │ ├── try_import.py
│ │ ├── utils.py
│ │ └── warning_filter.py
│ └── tests/
│ ├── __init__.py
│ ├── conftest.py
│ ├── test_check_style.py
│ └── unittests/
│ ├── __init__.py
│ ├── test_compression_utils.py
│ ├── test_dataset.py
│ ├── test_deprecated_utils.py
│ ├── test_hash_pandas_df.py
│ ├── test_import_version.py
│ ├── test_infer_types.py
│ ├── test_log_utils.py
│ ├── test_memory_limit.py
│ ├── test_model_filter.py
│ ├── test_path_converter.py
│ ├── test_s3_utils.py
│ ├── test_setup_outputdir.py
│ ├── test_version.py
│ └── utils/
│ ├── __init__.py
│ ├── test_compare_autogluon_metadata.py
│ ├── test_cpu_detection.py
│ ├── test_get_package_versions.py
│ ├── test_pandas_utils.py
│ └── test_presets_yaml_loading.py
├── core/
│ ├── setup.py
│ ├── src/
│ │ └── autogluon/
│ │ └── core/
│ │ ├── __init__.py
│ │ ├── _setup_utils.py
│ │ ├── augmentation/
│ │ │ ├── __init__.py
│ │ │ └── distill_utils.py
│ │ ├── calibrate/
│ │ │ ├── __init__.py
│ │ │ ├── _decision_threshold.py
│ │ │ ├── conformity_score.py
│ │ │ └── temperature_scaling.py
│ │ ├── callbacks/
│ │ │ ├── __init__.py
│ │ │ ├── _abstract_callback.py
│ │ │ ├── _early_stopping_callback.py
│ │ │ ├── _early_stopping_count_callback.py
│ │ │ ├── _early_stopping_ensemble_callback.py
│ │ │ ├── _example_callback.py
│ │ │ └── _smooth_count.py
│ │ ├── constants.py
│ │ ├── data/
│ │ │ ├── __init__.py
│ │ │ ├── cleaner.py
│ │ │ └── label_cleaner.py
│ │ ├── hpo/
│ │ │ ├── __init__.py
│ │ │ ├── constants.py
│ │ │ ├── exceptions.py
│ │ │ ├── executors.py
│ │ │ ├── ray_hpo.py
│ │ │ ├── ray_tune_constants.py
│ │ │ ├── ray_tune_scheduler.py
│ │ │ ├── ray_tune_scheduler_factory.py
│ │ │ ├── ray_tune_searcher_factory.py
│ │ │ └── space_converter.py
│ │ ├── learner/
│ │ │ ├── __init__.py
│ │ │ └── abstract_learner.py
│ │ ├── learning_curves/
│ │ │ └── plot_curves.py
│ │ ├── metrics/
│ │ │ ├── __init__.py
│ │ │ ├── classification_metrics.py
│ │ │ ├── quantile_metrics.py
│ │ │ ├── score_func.py
│ │ │ └── softclass_metrics.py
│ │ ├── models/
│ │ │ ├── __init__.py
│ │ │ ├── _utils.py
│ │ │ ├── abstract/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── _tags.py
│ │ │ │ ├── abstract_model.py
│ │ │ │ ├── abstract_nn_model.py
│ │ │ │ └── model_trial.py
│ │ │ ├── dummy/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── _dummy_quantile_regressor.py
│ │ │ │ └── dummy_model.py
│ │ │ ├── ensemble/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── bagged_ensemble_model.py
│ │ │ │ ├── fold_fitting_strategy.py
│ │ │ │ ├── ray_parallel_fold_fitting_strategy.py
│ │ │ │ ├── stacker_ensemble_model.py
│ │ │ │ └── weighted_ensemble_model.py
│ │ │ └── greedy_ensemble/
│ │ │ ├── __init__.py
│ │ │ ├── ensemble_selection.py
│ │ │ └── greedy_weighted_ensemble_model.py
│ │ ├── problem_type.py
│ │ ├── pseudolabeling/
│ │ │ ├── __init__.py
│ │ │ └── pseudolabeling.py
│ │ ├── ray/
│ │ │ ├── __init__.py
│ │ │ ├── distributed_jobs_managers.py
│ │ │ └── resources_calculator.py
│ │ ├── scheduler/
│ │ │ ├── __init__.py
│ │ │ ├── reporter.py
│ │ │ ├── scheduler_factory.py
│ │ │ └── seq_scheduler.py
│ │ ├── searcher/
│ │ │ ├── __init__.py
│ │ │ ├── dummy_searcher.py
│ │ │ ├── exceptions.py
│ │ │ ├── local_grid_searcher.py
│ │ │ ├── local_random_searcher.py
│ │ │ ├── local_searcher.py
│ │ │ └── searcher_factory.py
│ │ ├── stacked_overfitting/
│ │ │ └── utils.py
│ │ ├── testing/
│ │ │ ├── __init__.py
│ │ │ └── global_context_snapshot.py
│ │ ├── trainer/
│ │ │ ├── __init__.py
│ │ │ ├── abstract_trainer.py
│ │ │ └── utils.py
│ │ └── utils/
│ │ ├── __init__.py
│ │ ├── early_stopping.py
│ │ ├── exceptions.py
│ │ ├── feature_selection.py
│ │ ├── files.py
│ │ ├── infer_utils.py
│ │ ├── loaders/
│ │ │ └── __init__.py
│ │ ├── plots.py
│ │ ├── savers/
│ │ │ └── __init__.py
│ │ ├── time.py
│ │ ├── utils.py
│ │ └── version_utils.py
│ └── tests/
│ ├── __init__.py
│ ├── conftest.py
│ ├── test_check_style.py
│ └── unittests/
│ ├── __init__.py
│ ├── calibrate/
│ │ ├── __init__.py
│ │ └── test_decision_threshold.py
│ ├── core/
│ │ ├── __init__.py
│ │ └── scheduler/
│ │ ├── __init__.py
│ │ └── test_scheduler_factory.py
│ ├── hpo/
│ │ ├── __init__.py
│ │ ├── test_ray_hpo.py
│ │ └── test_space_converter.py
│ ├── metrics/
│ │ ├── __init__.py
│ │ ├── test_classification_metrics.py
│ │ ├── test_metric_kwargs.py
│ │ ├── test_metrics.py
│ │ └── test_quantile_metrics.py
│ ├── models/
│ │ ├── __init__.py
│ │ ├── abstract_model/
│ │ │ ├── __init__.py
│ │ │ └── test_init_user_params.py
│ │ └── test_bagged_ensemble_model.py
│ ├── ray/
│ │ ├── __init__.py
│ │ └── test_resource_calculator.py
│ ├── scheduler/
│ │ ├── __init__.py
│ │ ├── test_scheduler.py
│ │ └── test_seq_scheduler.py
│ ├── searcher/
│ │ ├── __init__.py
│ │ ├── test_local_grid_searcher.py
│ │ ├── test_local_random_searcher.py
│ │ └── test_local_searcher.py
│ ├── test_feature_selection.py
│ ├── test_import_version.py
│ ├── test_parallel_local_folding.py
│ ├── test_search_space.py
│ └── utils/
│ ├── __init__.py
│ ├── decorators/
│ │ ├── __init__.py
│ │ └── test_presets.py
│ ├── test_augment_rare_classes.py
│ ├── test_time.py
│ ├── test_utils.py
│ └── test_version_utils.py
├── docs/
│ ├── .gitignore
│ ├── LICENSE
│ ├── README.md
│ ├── _static/
│ │ ├── custom.css
│ │ └── custom.js
│ ├── _templates/
│ │ ├── autosummary/
│ │ │ ├── base.rst
│ │ │ ├── class.rst
│ │ │ └── module.rst
│ │ └── custom_class.rst
│ ├── api/
│ │ ├── autogluon.common.space.rst
│ │ ├── autogluon.features.rst
│ │ └── autogluon.tabular.models.rst
│ ├── api.rst
│ ├── build.yml
│ ├── build_doc.sh
│ ├── build_pip_install.sh
│ ├── cheatsheet.md
│ ├── conf.py
│ ├── index.md
│ ├── install-conda-full.md
│ ├── install-cpu-pip.md
│ ├── install-cpu-source.md
│ ├── install-cpu-uv.md
│ ├── install-gpu-pip.md
│ ├── install-gpu-source.md
│ ├── install-gpu-uv.md
│ ├── install-linux-conda-gpu.md
│ ├── install-mac-conda.md
│ ├── install-mac-cpu-source.md
│ ├── install-mac-cpu.md
│ ├── install-mac-libomp.md
│ ├── install-mac-nogpu.md
│ ├── install-modules.md
│ ├── install-windows-conda-gpu.md
│ ├── install-windows-cpu.md
│ ├── install-windows-generic.md
│ ├── install-windows-gpu.md
│ ├── install.md
│ ├── requirements_doc.txt
│ ├── static/
│ │ └── managed_solutions.html
│ ├── tutorials/
│ │ ├── cloud_fit_deploy/
│ │ │ ├── autogluon-cloud.md
│ │ │ ├── autopilot-autogluon.ipynb
│ │ │ ├── cloud-aws-lambda-deployment.ipynb
│ │ │ ├── cloud-aws-sagemaker-train-deploy.ipynb
│ │ │ └── index.md
│ │ ├── eda/
│ │ │ ├── components/
│ │ │ │ ├── autogluon.eda.anomaly.md
│ │ │ │ ├── autogluon.eda.dataset.md
│ │ │ │ ├── autogluon.eda.explain.md
│ │ │ │ ├── autogluon.eda.interaction.md
│ │ │ │ ├── autogluon.eda.missing.md
│ │ │ │ ├── autogluon.eda.model.md
│ │ │ │ ├── autogluon.eda.shift.md
│ │ │ │ ├── autogluon.eda.transform.md
│ │ │ │ └── index.md
│ │ │ ├── eda-auto-analyze-interaction.ipynb
│ │ │ ├── eda-auto-anomaly-detection.ipynb
│ │ │ ├── eda-auto-covariate-shift.ipynb
│ │ │ ├── eda-auto-dataset-overview.ipynb
│ │ │ ├── eda-auto-quick-fit.ipynb
│ │ │ ├── eda-auto-target-analysis.ipynb
│ │ │ ├── index.md
│ │ │ └── references/
│ │ │ ├── autogluon.eda.auto.md
│ │ │ ├── autogluon.eda.base-apis.md
│ │ │ └── index.md
│ │ ├── multimodal/
│ │ │ ├── advanced_topics/
│ │ │ │ ├── continuous_training.ipynb
│ │ │ │ ├── customization.ipynb
│ │ │ │ ├── efficient_finetuning_basic.ipynb
│ │ │ │ ├── few_shot_learning.ipynb
│ │ │ │ ├── focal_loss.ipynb
│ │ │ │ ├── hyperparameter_optimization.ipynb
│ │ │ │ ├── index.md
│ │ │ │ ├── model_distillation.ipynb
│ │ │ │ ├── multiple_label_columns.ipynb
│ │ │ │ ├── presets.ipynb
│ │ │ │ ├── problem_types_and_metrics.ipynb
│ │ │ │ └── tensorrt.ipynb
│ │ │ ├── document_prediction/
│ │ │ │ ├── document_classification.ipynb
│ │ │ │ ├── index.md
│ │ │ │ └── pdf_classification.ipynb
│ │ │ ├── image_prediction/
│ │ │ │ ├── beginner_image_cls.ipynb
│ │ │ │ ├── clip_zeroshot.ipynb
│ │ │ │ └── index.md
│ │ │ ├── image_segmentation/
│ │ │ │ ├── beginner_semantic_seg.ipynb
│ │ │ │ └── index.md
│ │ │ ├── index.md
│ │ │ ├── multimodal-faq.md
│ │ │ ├── multimodal_prediction/
│ │ │ │ ├── beginner_multimodal.ipynb
│ │ │ │ ├── index.md
│ │ │ │ ├── multimodal-quick-start.ipynb
│ │ │ │ ├── multimodal_ner.ipynb
│ │ │ │ └── multimodal_text_tabular.ipynb
│ │ │ ├── object_detection/
│ │ │ │ ├── advanced/
│ │ │ │ │ ├── finetune_coco.ipynb
│ │ │ │ │ └── index.md
│ │ │ │ ├── data_preparation/
│ │ │ │ │ ├── convert_data_to_coco_format.ipynb
│ │ │ │ │ ├── index.md
│ │ │ │ │ ├── object_detection_with_dataframe.ipynb
│ │ │ │ │ ├── prepare_coco17.ipynb
│ │ │ │ │ ├── prepare_pothole.ipynb
│ │ │ │ │ ├── prepare_voc.ipynb
│ │ │ │ │ ├── prepare_watercolor.ipynb
│ │ │ │ │ └── voc_to_coco.ipynb
│ │ │ │ ├── index.md
│ │ │ │ └── quick_start/
│ │ │ │ ├── index.md
│ │ │ │ └── quick_start_coco.ipynb
│ │ │ ├── semantic_matching/
│ │ │ │ ├── image2image_matching.ipynb
│ │ │ │ ├── image_text_matching.ipynb
│ │ │ │ ├── index.md
│ │ │ │ ├── text2text_matching.ipynb
│ │ │ │ ├── text_semantic_search.ipynb
│ │ │ │ └── zero_shot_img_txt_matching.ipynb
│ │ │ └── text_prediction/
│ │ │ ├── beginner_text.ipynb
│ │ │ ├── chinese_ner.ipynb
│ │ │ ├── index.md
│ │ │ ├── multilingual_text.ipynb
│ │ │ └── ner.ipynb
│ │ ├── tabular/
│ │ │ ├── advanced/
│ │ │ │ ├── index.md
│ │ │ │ ├── tabular-custom-metric.ipynb
│ │ │ │ ├── tabular-custom-model-advanced.ipynb
│ │ │ │ ├── tabular-custom-model.ipynb
│ │ │ │ ├── tabular-deployment.ipynb
│ │ │ │ ├── tabular-gpu.ipynb
│ │ │ │ ├── tabular-hpo.ipynb
│ │ │ │ ├── tabular-kaggle.ipynb
│ │ │ │ └── tabular-multilabel.ipynb
│ │ │ ├── how-it-works.md
│ │ │ ├── index.md
│ │ │ ├── tabular-essentials.ipynb
│ │ │ ├── tabular-faq.md
│ │ │ ├── tabular-feature-engineering.ipynb
│ │ │ ├── tabular-foundational-models.ipynb
│ │ │ ├── tabular-indepth.ipynb
│ │ │ ├── tabular-multimodal.ipynb
│ │ │ └── tabular-quick-start.ipynb
│ │ └── timeseries/
│ │ ├── advanced/
│ │ │ ├── forecasting-custom-model.ipynb
│ │ │ └── index.md
│ │ ├── forecasting-chronos.ipynb
│ │ ├── forecasting-ensembles.md
│ │ ├── forecasting-faq.md
│ │ ├── forecasting-indepth.ipynb
│ │ ├── forecasting-metrics.md
│ │ ├── forecasting-model-zoo.md
│ │ ├── forecasting-quick-start.ipynb
│ │ ├── index.md
│ │ └── model_zoo/
│ │ └── index.md
│ ├── versions.rst
│ └── whats_new/
│ ├── index.md
│ ├── v0.4.0.md
│ ├── v0.4.1.md
│ ├── v0.4.2.md
│ ├── v0.4.3.md
│ ├── v0.5.1.md
│ ├── v0.5.2.md
│ ├── v0.6.0.md
│ ├── v0.6.1.md
│ ├── v0.6.2.md
│ ├── v0.7.0.md
│ ├── v0.8.0.md
│ ├── v0.8.1.md
│ ├── v0.8.2.md
│ ├── v0.8.3.md
│ ├── v1.0.0.md
│ ├── v1.1.0.md
│ ├── v1.1.1.md
│ ├── v1.2.0.md
│ ├── v1.3.0.md
│ ├── v1.3.1.md
│ ├── v1.4.0.md
│ └── v1.5.0.md
├── eda/
│ ├── setup.cfg
│ ├── setup.py
│ ├── src/
│ │ └── autogluon/
│ │ └── eda/
│ │ ├── __init__.py
│ │ ├── analysis/
│ │ │ ├── __init__.py
│ │ │ ├── anomaly.py
│ │ │ ├── base.py
│ │ │ ├── dataset.py
│ │ │ ├── explain.py
│ │ │ ├── interaction.py
│ │ │ ├── missing.py
│ │ │ ├── model.py
│ │ │ ├── shift.py
│ │ │ └── transform.py
│ │ ├── auto/
│ │ │ ├── __init__.py
│ │ │ └── simple.py
│ │ ├── state.py
│ │ ├── utils/
│ │ │ ├── __init__.py
│ │ │ ├── common.py
│ │ │ └── defaults.py
│ │ └── visualization/
│ │ ├── __init__.py
│ │ ├── anomaly.py
│ │ ├── base.py
│ │ ├── dataset.py
│ │ ├── explain.py
│ │ ├── interaction.py
│ │ ├── jupyter.py
│ │ ├── layouts.py
│ │ ├── missing.py
│ │ ├── model.py
│ │ └── shift.py
│ └── tests/
│ ├── __init__.py
│ ├── conftest.py
│ ├── test_check_style.py
│ └── unittests/
│ ├── __init__.py
│ ├── analysis/
│ │ ├── __init__.py
│ │ ├── test_anomaly.py
│ │ ├── test_base.py
│ │ ├── test_dataset.py
│ │ ├── test_explain.py
│ │ ├── test_interaction.py
│ │ ├── test_missing.py
│ │ ├── test_model.py
│ │ └── test_transform.py
│ ├── auto/
│ │ ├── __init__.py
│ │ └── test_simple.py
│ ├── resources/
│ │ ├── adult/
│ │ │ ├── test_data.csv
│ │ │ └── train_data.csv
│ │ └── houses/
│ │ ├── test_data.csv
│ │ └── train_data.csv
│ ├── test_shift.py
│ ├── test_state.py
│ └── visualization/
│ ├── __init__.py
│ ├── test_anomaly.py
│ ├── test_base.py
│ ├── test_dataset.py
│ ├── test_explain.py
│ ├── test_interaction.py
│ ├── test_layouts.py
│ ├── test_missing.py
│ └── test_model.py
├── examples/
│ ├── automm/
│ │ ├── Conv-LoRA/
│ │ │ ├── README.md
│ │ │ ├── prepare_semantic_segmentation_datasets.py
│ │ │ └── run_semantic_segmentation.py
│ │ ├── TCGA_cancer_survival/
│ │ │ ├── README.md
│ │ │ └── example_cancer_survival.py
│ │ ├── distillation/
│ │ │ ├── README.md
│ │ │ ├── automm_distillation_glue.py
│ │ │ ├── automm_distillation_pawsx.py
│ │ │ └── eval_pawsx.py
│ │ ├── kaggle_california_house_price/
│ │ │ ├── README.md
│ │ │ └── example_kaggle_house.py
│ │ ├── kaggle_feedback_prize/
│ │ │ ├── README.md
│ │ │ ├── kaggle_feedback_prize_preprocess.py
│ │ │ ├── kaggle_feedback_prize_submit.py
│ │ │ └── kaggle_feedback_prize_train.py
│ │ ├── kaggle_pawpularity/
│ │ │ ├── README.md
│ │ │ ├── kaggle_pawpularity_submit.py
│ │ │ └── kaggle_pawpularity_train.py
│ │ ├── label_studio_export_reader/
│ │ │ └── LabelStudio_export_file_reader.md
│ │ ├── memory_bank/
│ │ │ ├── README.md
│ │ │ ├── memory_bank.py
│ │ │ └── utils.py
│ │ ├── object_detection/
│ │ │ ├── benchmarking.py
│ │ │ ├── detection_eval.py
│ │ │ ├── detection_inference.py
│ │ │ ├── detection_load.py
│ │ │ ├── detection_train.py
│ │ │ ├── download_coco17.sh
│ │ │ ├── download_voc07.sh
│ │ │ ├── download_voc0712.sh
│ │ │ ├── download_voc12.sh
│ │ │ ├── download_watercolor.sh
│ │ │ ├── eval_pretrained_coco_format.py
│ │ │ ├── eval_pretrained_voc_format.py
│ │ │ ├── finetune_coco_format.py
│ │ │ ├── finetune_on_pothole_dataset.py
│ │ │ ├── inference_pretrained_coco_format.py
│ │ │ ├── inference_pretrained_voc_format.py
│ │ │ ├── load_predictor.py
│ │ │ ├── pretrain_objects365.py
│ │ │ ├── quick_start_on_a_tiny_dataset.py
│ │ │ └── visualize_results.py
│ │ ├── pipeline/
│ │ │ └── feature_extraction_example.py
│ │ ├── production/
│ │ │ └── onnx_text.py
│ │ ├── tabular_dl/
│ │ │ ├── README.md
│ │ │ ├── dataset.py
│ │ │ ├── example_tabular.py
│ │ │ └── run_all.sh
│ │ └── text_prediction/
│ │ ├── README.md
│ │ ├── generate_submission.py
│ │ ├── prepare_data_scientist_salary.sh
│ │ ├── prepare_glue.py
│ │ ├── prepare_mercari_kaggle.sh
│ │ ├── prepare_price_of_books.sh
│ │ ├── run_competition.py
│ │ ├── run_glue.sh
│ │ ├── run_text_prediction.py
│ │ └── url_checksums/
│ │ ├── glue.txt
│ │ └── superglue.txt
│ ├── image_regression/
│ │ └── demo.py
│ └── tabular/
│ ├── distill/
│ │ └── example_distill_binary.py
│ ├── example_advanced_tabular.py
│ ├── example_custom_feature_generator.py
│ ├── example_custom_model_tabular.py
│ ├── example_mitra.py
│ ├── example_quantile_regression.py
│ ├── example_simple_tabular.py
│ └── interpret/
│ ├── SHAP with AutoGluon-Tabular Census income classification.ipynb
│ ├── SHAP with AutoGluon-Tabular Diabetes regression.ipynb
│ └── SHAP with AutoGluon-Tabular.ipynb
├── features/
│ ├── setup.py
│ ├── src/
│ │ └── autogluon/
│ │ └── features/
│ │ ├── __init__.py
│ │ ├── binning.py
│ │ ├── generators/
│ │ │ ├── __init__.py
│ │ │ ├── abstract.py
│ │ │ ├── arithmetic/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── _numba_opt.py
│ │ │ │ ├── canonical_key.py
│ │ │ │ ├── combinations.py
│ │ │ │ ├── combinations_lite.py
│ │ │ │ ├── filtering.py
│ │ │ │ ├── memory.py
│ │ │ │ ├── operation.py
│ │ │ │ └── preprocessor.py
│ │ │ ├── astype.py
│ │ │ ├── auto_ml_pipeline.py
│ │ │ ├── binned.py
│ │ │ ├── bulk.py
│ │ │ ├── cat_as_num.py
│ │ │ ├── cat_int.py
│ │ │ ├── category.py
│ │ │ ├── datetime.py
│ │ │ ├── drop_duplicates.py
│ │ │ ├── drop_unique.py
│ │ │ ├── dummy.py
│ │ │ ├── fillna.py
│ │ │ ├── frequency.py
│ │ │ ├── groupby.py
│ │ │ ├── identity.py
│ │ │ ├── isnan.py
│ │ │ ├── label_encoder.py
│ │ │ ├── memory_minimize.py
│ │ │ ├── one_hot_encoder.py
│ │ │ ├── oof_target_encoder.py
│ │ │ ├── pipeline.py
│ │ │ ├── rename.py
│ │ │ ├── rsfc.py
│ │ │ ├── selection.py
│ │ │ ├── skrub/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── _sklearn_compat.py
│ │ │ │ └── _squashing_scaler.py
│ │ │ ├── text_ngram.py
│ │ │ └── text_special.py
│ │ ├── registry/
│ │ │ ├── __init__.py
│ │ │ ├── _ag_feature_generator_registry.py
│ │ │ ├── _feature_generator_registry.py
│ │ │ └── parse_custom_generator.py
│ │ ├── utils.py
│ │ └── vectorizers.py
│ └── tests/
│ ├── __init__.py
│ ├── conftest.py
│ ├── features/
│ │ ├── __init__.py
│ │ ├── conftest.py
│ │ ├── generators/
│ │ │ ├── __init__.py
│ │ │ ├── arithmetic/
│ │ │ │ ├── __init__.py
│ │ │ │ └── test_operation.py
│ │ │ ├── test_astype.py
│ │ │ ├── test_auto_ml_pipeline.py
│ │ │ ├── test_bulk.py
│ │ │ ├── test_category.py
│ │ │ ├── test_datetime.py
│ │ │ ├── test_drop_duplicates.py
│ │ │ ├── test_dummy.py
│ │ │ ├── test_fillna.py
│ │ │ ├── test_identity.py
│ │ │ ├── test_isnan.py
│ │ │ ├── test_label_encoder.py
│ │ │ ├── test_one_hot_encoder.py
│ │ │ ├── test_oof_target_encoder.py
│ │ │ ├── test_pipeline.py
│ │ │ ├── test_rename.py
│ │ │ ├── test_text_ngram.py
│ │ │ └── test_text_special.py
│ │ ├── test_feature_metadata.py
│ │ └── test_utils.py
│ └── test_check_style.py
├── full_install.bat
├── full_install.sh
├── multimodal/
│ ├── setup.py
│ ├── src/
│ │ └── autogluon/
│ │ └── multimodal/
│ │ ├── __init__.py
│ │ ├── cli/
│ │ │ ├── __init__.py
│ │ │ ├── prepare_detection_dataset.py
│ │ │ └── voc2coco.py
│ │ ├── configs/
│ │ │ ├── __init__.py
│ │ │ ├── data/
│ │ │ │ └── default.yaml
│ │ │ ├── distiller/
│ │ │ │ └── default.yaml
│ │ │ ├── matcher/
│ │ │ │ └── default.yaml
│ │ │ ├── model/
│ │ │ │ └── default.yaml
│ │ │ ├── optim/
│ │ │ │ └── default.yaml
│ │ │ └── pretrain/
│ │ │ ├── __init__.py
│ │ │ └── detection/
│ │ │ ├── __init__.py
│ │ │ ├── coco_detection.py
│ │ │ ├── default_runtime.py
│ │ │ ├── dino/
│ │ │ │ ├── dino-4scale_r50_8xb2-12e_coco.py
│ │ │ │ ├── dino-5scale_swin-l_8xb2-12e_coco.py
│ │ │ │ ├── dino-5scale_swin-l_8xb2-36e_coco.py
│ │ │ │ ├── dino_swinl_tta.py
│ │ │ │ └── dino_tta.py
│ │ │ ├── faster_rcnn/
│ │ │ │ ├── __init__.py
│ │ │ │ └── faster_rcnn_r50_fpn.py
│ │ │ ├── schedule_1x.py
│ │ │ ├── voc/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── faster_rcnn_r50_fpn_1x_voc0712.py
│ │ │ │ └── voc0712.py
│ │ │ └── yolox/
│ │ │ ├── __init__.py
│ │ │ ├── yolox_l_8xb8-300e_coco.py
│ │ │ ├── yolox_m_8xb8-300e_coco.py
│ │ │ ├── yolox_nano_8xb8-300e_coco.py
│ │ │ ├── yolox_s_8xb8-300e_coco.py
│ │ │ ├── yolox_tiny_8xb8-300e_coco.py
│ │ │ ├── yolox_tta.py
│ │ │ └── yolox_x_8xb8-300e_coco.py
│ │ ├── constants.py
│ │ ├── data/
│ │ │ ├── __init__.py
│ │ │ ├── collator.py
│ │ │ ├── datamodule.py
│ │ │ ├── dataset.py
│ │ │ ├── dataset_mmlab/
│ │ │ │ ├── __init__.py
│ │ │ │ └── multi_image_mix_dataset.py
│ │ │ ├── infer_types.py
│ │ │ ├── label_encoder.py
│ │ │ ├── mixup.py
│ │ │ ├── nlpaug.py
│ │ │ ├── preprocess_dataframe.py
│ │ │ ├── process_categorical.py
│ │ │ ├── process_document.py
│ │ │ ├── process_image.py
│ │ │ ├── process_label.py
│ │ │ ├── process_mmlab/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── process_mmdet.py
│ │ │ │ ├── process_mmlab_base.py
│ │ │ │ └── process_mmocr.py
│ │ │ ├── process_ner.py
│ │ │ ├── process_numerical.py
│ │ │ ├── process_semantic_seg_img.py
│ │ │ ├── process_text.py
│ │ │ ├── randaug.py
│ │ │ ├── template_engine.py
│ │ │ ├── templates.py
│ │ │ ├── trivial_augmenter.py
│ │ │ └── utils.py
│ │ ├── learners/
│ │ │ ├── __init__.py
│ │ │ ├── base.py
│ │ │ ├── ensemble.py
│ │ │ ├── few_shot_svm.py
│ │ │ ├── matching.py
│ │ │ ├── ner.py
│ │ │ ├── object_detection.py
│ │ │ └── semantic_segmentation.py
│ │ ├── models/
│ │ │ ├── __init__.py
│ │ │ ├── adaptation_layers.py
│ │ │ ├── augmenter.py
│ │ │ ├── categorical_mlp.py
│ │ │ ├── clip.py
│ │ │ ├── custom_hf_models/
│ │ │ │ └── modeling_sam_for_conv_lora.py
│ │ │ ├── custom_transformer.py
│ │ │ ├── document_transformer.py
│ │ │ ├── ft_transformer.py
│ │ │ ├── fusion/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── base.py
│ │ │ │ ├── fusion_mlp.py
│ │ │ │ ├── fusion_ner.py
│ │ │ │ └── fusion_transformer.py
│ │ │ ├── hf_text.py
│ │ │ ├── meta_transformer.py
│ │ │ ├── mlp.py
│ │ │ ├── mmdet_image.py
│ │ │ ├── mmocr_text_detection.py
│ │ │ ├── mmocr_text_recognition.py
│ │ │ ├── ner_text.py
│ │ │ ├── numerical_mlp.py
│ │ │ ├── sam.py
│ │ │ ├── t_few.py
│ │ │ ├── timm_image.py
│ │ │ └── utils.py
│ │ ├── optim/
│ │ │ ├── __init__.py
│ │ │ ├── deepspeed.py
│ │ │ ├── lit_distiller.py
│ │ │ ├── lit_matcher.py
│ │ │ ├── lit_mmdet.py
│ │ │ ├── lit_module.py
│ │ │ ├── lit_ner.py
│ │ │ ├── lit_semantic_seg.py
│ │ │ ├── losses/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── bce_loss.py
│ │ │ │ ├── focal_loss.py
│ │ │ │ ├── lemda_loss.py
│ │ │ │ ├── rkd_loss.py
│ │ │ │ ├── softmax_losses.py
│ │ │ │ ├── structure_loss.py
│ │ │ │ └── utils.py
│ │ │ ├── lr/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── lr_schedulers.py
│ │ │ │ └── utils.py
│ │ │ ├── metrics/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── coverage_metrics.py
│ │ │ │ ├── hit_rate_metrics.py
│ │ │ │ ├── ranking_metrics.py
│ │ │ │ ├── semantic_seg_metrics.py
│ │ │ │ └── utils.py
│ │ │ └── utils.py
│ │ ├── predictor.py
│ │ └── utils/
│ │ ├── __init__.py
│ │ ├── cache.py
│ │ ├── checkpoint.py
│ │ ├── colormap.py
│ │ ├── config.py
│ │ ├── device.py
│ │ ├── distillation.py
│ │ ├── download.py
│ │ ├── env.py
│ │ ├── export.py
│ │ ├── hpo.py
│ │ ├── inference.py
│ │ ├── install.py
│ │ ├── label_studio.py
│ │ ├── load.py
│ │ ├── log.py
│ │ ├── matcher.py
│ │ ├── misc.py
│ │ ├── mmcv.py
│ │ ├── object_detection.py
│ │ ├── onnx.py
│ │ ├── path.py
│ │ ├── precision.py
│ │ ├── presets.py
│ │ ├── problem_types.py
│ │ ├── registry.py
│ │ ├── save.py
│ │ ├── strategy.py
│ │ └── visualizer.py
│ └── tests/
│ ├── README.md
│ ├── __init__.py
│ ├── conftest.py
│ ├── hf_dataset_list.yaml
│ ├── hf_model_list.yaml
│ ├── test_check_style.py
│ └── unittests/
│ ├── __init__.py
│ ├── others/
│ │ ├── __init__.py
│ │ ├── test_backbones.py
│ │ ├── test_data_collators.py
│ │ ├── test_deployment_onnx.py
│ │ ├── test_dump_model.py
│ │ ├── test_ensemble.py
│ │ ├── test_extract_features.py
│ │ ├── test_load.py
│ │ ├── test_losses.py
│ │ ├── test_matcher.py
│ │ ├── test_metrics.py
│ │ ├── test_ner.py
│ │ ├── test_object_detection.py
│ │ ├── test_preprocess_data.py
│ │ ├── test_presets.py
│ │ ├── test_process_images.py
│ │ ├── test_process_multimodal.py
│ │ ├── test_process_text.py
│ │ ├── test_registry.py
│ │ ├── test_save.py
│ │ └── test_semantic_segmentation.py
│ ├── others_2/
│ │ ├── __init__.py
│ │ ├── test_classify_doc.py
│ │ ├── test_config.py
│ │ ├── test_custom_hparams.py
│ │ ├── test_custom_training.py
│ │ ├── test_distiller.py
│ │ ├── test_few_shot.py
│ │ ├── test_hpo.py
│ │ ├── test_image_formats.py
│ │ ├── test_ner_chinese.py
│ │ ├── test_problem_types.py
│ │ ├── test_text_detection.py
│ │ ├── test_text_recognition.py
│ │ ├── test_tokenizers.py
│ │ └── test_zero_shot.py
│ ├── predictor/
│ │ ├── __init__.py
│ │ └── test_predictor.py
│ └── utils/
│ ├── __init__.py
│ ├── unittest_datasets.py
│ └── utils.py
├── pyproject.toml
├── release_instructions/
│ ├── ReleaseInstructions.md
│ ├── add_links_to_release_notes.py
│ ├── autogluon-conda-upgrade/
│ │ └── SKILL.md
│ └── update-conda-recipes.md
├── setup.cfg
├── tabular/
│ ├── setup.py
│ ├── src/
│ │ └── autogluon/
│ │ └── tabular/
│ │ ├── __init__.py
│ │ ├── configs/
│ │ │ ├── __init__.py
│ │ │ ├── config_helper.py
│ │ │ ├── feature_generator_presets.py
│ │ │ ├── hyperparameter_configs.py
│ │ │ ├── pipeline_presets.py
│ │ │ ├── presets_configs.py
│ │ │ └── zeroshot/
│ │ │ ├── __init__.py
│ │ │ ├── zeroshot_portfolio_2023.py
│ │ │ ├── zeroshot_portfolio_2025.py
│ │ │ ├── zeroshot_portfolio_cpu_2025_12_18.py
│ │ │ └── zeroshot_portfolio_gpu_2025_12_18.py
│ │ ├── experimental/
│ │ │ ├── __init__.py
│ │ │ ├── _scikit_mixin.py
│ │ │ ├── _tabular_classifier.py
│ │ │ ├── _tabular_regressor.py
│ │ │ └── plot_leaderboard.py
│ │ ├── learner/
│ │ │ ├── __init__.py
│ │ │ ├── abstract_learner.py
│ │ │ └── default_learner.py
│ │ ├── models/
│ │ │ ├── __init__.py
│ │ │ ├── _utils/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── rapids_utils.py
│ │ │ │ └── torch_utils.py
│ │ │ ├── abstract/
│ │ │ │ ├── __init__.py
│ │ │ │ └── abstract_torch_model.py
│ │ │ ├── automm/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── automm_model.py
│ │ │ │ └── ft_transformer.py
│ │ │ ├── catboost/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── callbacks.py
│ │ │ │ ├── catboost_model.py
│ │ │ │ ├── catboost_softclass_utils.py
│ │ │ │ ├── catboost_utils.py
│ │ │ │ └── hyperparameters/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── parameters.py
│ │ │ │ └── searchspaces.py
│ │ │ ├── ebm/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── ebm_model.py
│ │ │ │ └── hyperparameters/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── parameters.py
│ │ │ │ └── searchspaces.py
│ │ │ ├── fastainn/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── callbacks.py
│ │ │ │ ├── fastai_helpers.py
│ │ │ │ ├── hyperparameters/
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── parameters.py
│ │ │ │ │ └── searchspaces.py
│ │ │ │ ├── imports_helper.py
│ │ │ │ ├── quantile_helpers.py
│ │ │ │ └── tabular_nn_fastai.py
│ │ │ ├── image_prediction/
│ │ │ │ ├── __init__.py
│ │ │ │ └── image_predictor.py
│ │ │ ├── imodels/
│ │ │ │ ├── __init__.py
│ │ │ │ └── imodels_models.py
│ │ │ ├── knn/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── _knn_loo_variants.py
│ │ │ │ ├── knn_model.py
│ │ │ │ ├── knn_rapids_model.py
│ │ │ │ └── knn_utils.py
│ │ │ ├── lgb/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── callbacks.py
│ │ │ │ ├── hyperparameters/
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── parameters.py
│ │ │ │ │ └── searchspaces.py
│ │ │ │ ├── lgb_model.py
│ │ │ │ └── lgb_utils.py
│ │ │ ├── lr/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── hyperparameters/
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── parameters.py
│ │ │ │ │ └── searchspaces.py
│ │ │ │ ├── lr_model.py
│ │ │ │ ├── lr_preprocessing_utils.py
│ │ │ │ └── lr_rapids_model.py
│ │ │ ├── mitra/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── _internal/
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── config/
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ ├── config_pretrain.py
│ │ │ │ │ │ ├── config_run.py
│ │ │ │ │ │ ├── enums.py
│ │ │ │ │ │ └── tab2d.yaml
│ │ │ │ │ ├── core/
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ ├── callbacks.py
│ │ │ │ │ │ ├── get_loss.py
│ │ │ │ │ │ ├── get_optimizer.py
│ │ │ │ │ │ ├── get_scheduler.py
│ │ │ │ │ │ ├── prediction_metrics.py
│ │ │ │ │ │ └── trainer_finetune.py
│ │ │ │ │ ├── data/
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ ├── collator.py
│ │ │ │ │ │ ├── dataset_finetune.py
│ │ │ │ │ │ ├── dataset_split.py
│ │ │ │ │ │ └── preprocessor.py
│ │ │ │ │ ├── models/
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ ├── base.py
│ │ │ │ │ │ ├── embedding.py
│ │ │ │ │ │ └── tab2d.py
│ │ │ │ │ └── utils/
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ └── set_seed.py
│ │ │ │ ├── mitra_model.py
│ │ │ │ └── sklearn_interface.py
│ │ │ ├── realmlp/
│ │ │ │ ├── __init__.py
│ │ │ │ └── realmlp_model.py
│ │ │ ├── rf/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── compilers/
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── native.py
│ │ │ │ │ └── onnx.py
│ │ │ │ ├── rf_model.py
│ │ │ │ ├── rf_quantile.py
│ │ │ │ └── rf_rapids_model.py
│ │ │ ├── tabdpt/
│ │ │ │ ├── __init__.py
│ │ │ │ └── tabdpt_model.py
│ │ │ ├── tabicl/
│ │ │ │ ├── __init__.py
│ │ │ │ └── tabicl_model.py
│ │ │ ├── tabm/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── _tabm_internal.py
│ │ │ │ ├── rtdl_num_embeddings.py
│ │ │ │ ├── tabm_model.py
│ │ │ │ └── tabm_reference.py
│ │ │ ├── tabpfnmix/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── _internal/
│ │ │ │ │ ├── LICENSE
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── config/
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ └── config_run.py
│ │ │ │ │ ├── core/
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ ├── callbacks.py
│ │ │ │ │ │ ├── collator.py
│ │ │ │ │ │ ├── dataset_split.py
│ │ │ │ │ │ ├── enums.py
│ │ │ │ │ │ ├── get_loss.py
│ │ │ │ │ │ ├── get_optimizer.py
│ │ │ │ │ │ ├── get_scheduler.py
│ │ │ │ │ │ ├── trainer_finetune.py
│ │ │ │ │ │ └── y_transformer.py
│ │ │ │ │ ├── data/
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ ├── dataset_finetune.py
│ │ │ │ │ │ └── preprocessor.py
│ │ │ │ │ ├── models/
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ └── foundation/
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ ├── embedding.py
│ │ │ │ │ │ └── foundation_transformer.py
│ │ │ │ │ ├── results/
│ │ │ │ │ │ ├── __init__.py
│ │ │ │ │ │ └── prediction_metrics.py
│ │ │ │ │ ├── tabpfnmix_classifier.py
│ │ │ │ │ └── tabpfnmix_regressor.py
│ │ │ │ └── tabpfnmix_model.py
│ │ │ ├── tabpfnv2/
│ │ │ │ ├── __init__.py
│ │ │ │ └── tabpfnv2_5_model.py
│ │ │ ├── tabprep/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── prep_lgb_model.py
│ │ │ │ └── prep_mixin.py
│ │ │ ├── tabular_nn/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── compilers/
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── native.py
│ │ │ │ │ └── onnx.py
│ │ │ │ ├── hyperparameters/
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── parameters.py
│ │ │ │ │ └── searchspaces.py
│ │ │ │ ├── torch/
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── tabular_nn_torch.py
│ │ │ │ │ ├── tabular_torch_dataset.py
│ │ │ │ │ └── torch_network_modules.py
│ │ │ │ └── utils/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── categorical_encoders.py
│ │ │ │ ├── data_preprocessor.py
│ │ │ │ └── nn_architecture_utils.py
│ │ │ ├── text_prediction/
│ │ │ │ ├── __init__.py
│ │ │ │ └── text_prediction_v1_model.py
│ │ │ ├── xgboost/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── callbacks.py
│ │ │ │ ├── hyperparameters/
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── parameters.py
│ │ │ │ │ └── searchspaces.py
│ │ │ │ ├── xgboost_model.py
│ │ │ │ └── xgboost_utils.py
│ │ │ └── xt/
│ │ │ ├── __init__.py
│ │ │ └── xt_model.py
│ │ ├── predictor/
│ │ │ ├── __init__.py
│ │ │ ├── interpretable_predictor.py
│ │ │ └── predictor.py
│ │ ├── registry/
│ │ │ ├── __init__.py
│ │ │ ├── _ag_model_registry.py
│ │ │ └── _model_registry.py
│ │ ├── testing/
│ │ │ ├── __init__.py
│ │ │ ├── fit_helper.py
│ │ │ ├── generate_datasets.py
│ │ │ └── model_fit_helper.py
│ │ ├── trainer/
│ │ │ ├── __init__.py
│ │ │ ├── abstract_trainer.py
│ │ │ ├── auto_trainer.py
│ │ │ └── model_presets/
│ │ │ ├── __init__.py
│ │ │ ├── presets.py
│ │ │ └── presets_distill.py
│ │ └── tuning/
│ │ ├── __init__.py
│ │ └── feature_pruner.py
│ └── tests/
│ ├── __init__.py
│ ├── conftest.py
│ ├── regressiontests/
│ │ ├── __init__.py
│ │ ├── test_tabular_lite.py
│ │ ├── test_tabular_regression.py
│ │ └── utils.py
│ ├── test_check_style.py
│ └── unittests/
│ ├── __init__.py
│ ├── calibrate/
│ │ ├── __init__.py
│ │ └── test_calibrate.py
│ ├── callbacks/
│ │ ├── __init__.py
│ │ └── test_callbacks.py
│ ├── configs/
│ │ ├── __init__.py
│ │ ├── test_config_helper.py
│ │ ├── test_pipline_presets.py
│ │ └── test_presets.py
│ ├── data/
│ │ ├── __init__.py
│ │ ├── test_label_cleaner.py
│ │ └── test_learning_curves.py
│ ├── dynamic_stacking/
│ │ ├── __init__.py
│ │ └── test_dynamic_stacking.py
│ ├── edgecases/
│ │ ├── __init__.py
│ │ └── test_edgecases.py
│ ├── experimental/
│ │ ├── __init__.py
│ │ └── test_scikit_api.py
│ ├── models/
│ │ ├── __init__.py
│ │ ├── advanced/
│ │ │ ├── __init__.py
│ │ │ ├── test_bagged_deterministic.py
│ │ │ ├── test_model_random_seed.py
│ │ │ ├── test_refit_full.py
│ │ │ └── test_stack_feature_usage.py
│ │ ├── test_advanced.py
│ │ ├── test_automm.py
│ │ ├── test_catboost.py
│ │ ├── test_dummy.py
│ │ ├── test_ebm.py
│ │ ├── test_image_predictor.py
│ │ ├── test_knn.py
│ │ ├── test_lightgbm.py
│ │ ├── test_lightgbm_prep.py
│ │ ├── test_linear.py
│ │ ├── test_mitra.py
│ │ ├── test_realmlp.py
│ │ ├── test_rf.py
│ │ ├── test_tabdpt.py
│ │ ├── test_tabicl.py
│ │ ├── test_tabm.py
│ │ ├── test_tabpfnv2.py
│ │ ├── test_tabular_nn.py
│ │ ├── test_tabular_nn_fastai.py
│ │ ├── test_text_prediction_v1_model.py
│ │ ├── test_xgboost.py
│ │ └── test_xt.py
│ ├── pseudolabel/
│ │ ├── __init__.py
│ │ └── pseudo_filter.py
│ ├── registry/
│ │ ├── __init__.py
│ │ └── test_model_registry.py
│ ├── resource_allocation/
│ │ ├── __init__.py
│ │ ├── test_bagging_resource_allocation.py
│ │ ├── test_custom_memory_limit.py
│ │ ├── test_gpu_assignment.py
│ │ ├── test_hpo_resource_allocation.py
│ │ ├── test_resource_allocation_combined.py
│ │ ├── test_resources_mocking.py
│ │ └── test_total_resource_allocation.py
│ └── test_tabular.py
└── timeseries/
├── setup.py
├── src/
│ └── autogluon/
│ └── timeseries/
│ ├── __init__.py
│ ├── configs/
│ │ ├── __init__.py
│ │ ├── hyperparameter_presets.py
│ │ └── predictor_presets.py
│ ├── dataset/
│ │ ├── __init__.py
│ │ └── ts_dataframe.py
│ ├── learner.py
│ ├── metrics/
│ │ ├── __init__.py
│ │ ├── abstract.py
│ │ ├── point.py
│ │ ├── quantile.py
│ │ └── utils.py
│ ├── models/
│ │ ├── __init__.py
│ │ ├── abstract/
│ │ │ ├── __init__.py
│ │ │ ├── abstract_timeseries_model.py
│ │ │ ├── model_trial.py
│ │ │ └── tunable.py
│ │ ├── autogluon_tabular/
│ │ │ ├── __init__.py
│ │ │ ├── mlforecast.py
│ │ │ ├── per_step.py
│ │ │ ├── transforms.py
│ │ │ └── utils.py
│ │ ├── chronos/
│ │ │ ├── __init__.py
│ │ │ ├── chronos2.py
│ │ │ ├── model.py
│ │ │ └── utils.py
│ │ ├── ensemble/
│ │ │ ├── __init__.py
│ │ │ ├── abstract.py
│ │ │ ├── array_based/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── abstract.py
│ │ │ │ ├── models.py
│ │ │ │ └── regressor/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── abstract.py
│ │ │ │ ├── linear_stacker.py
│ │ │ │ ├── per_quantile_tabular.py
│ │ │ │ └── tabular.py
│ │ │ ├── ensemble_selection.py
│ │ │ ├── per_item_greedy.py
│ │ │ └── weighted/
│ │ │ ├── __init__.py
│ │ │ ├── abstract.py
│ │ │ ├── basic.py
│ │ │ └── greedy.py
│ │ ├── gluonts/
│ │ │ ├── __init__.py
│ │ │ ├── abstract.py
│ │ │ ├── dataset.py
│ │ │ └── models.py
│ │ ├── local/
│ │ │ ├── __init__.py
│ │ │ ├── abstract_local_model.py
│ │ │ ├── naive.py
│ │ │ ├── npts.py
│ │ │ └── statsforecast.py
│ │ ├── multi_window/
│ │ │ ├── __init__.py
│ │ │ └── multi_window_model.py
│ │ ├── registry.py
│ │ └── toto/
│ │ ├── __init__.py
│ │ ├── _internal/
│ │ │ ├── LICENSE
│ │ │ ├── README.txt
│ │ │ ├── __init__.py
│ │ │ ├── backbone/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── attention.py
│ │ │ │ ├── backbone.py
│ │ │ │ ├── distribution.py
│ │ │ │ ├── kvcache.py
│ │ │ │ ├── rope.py
│ │ │ │ ├── rotary_embedding_torch.py
│ │ │ │ ├── scaler.py
│ │ │ │ └── transformer.py
│ │ │ ├── dataset.py
│ │ │ └── forecaster.py
│ │ ├── dataloader.py
│ │ ├── hf_pretrained_model.py
│ │ └── model.py
│ ├── predictor.py
│ ├── regressor.py
│ ├── splitter.py
│ ├── trainer/
│ │ ├── __init__.py
│ │ ├── ensemble_composer.py
│ │ ├── model_set_builder.py
│ │ ├── prediction_cache.py
│ │ ├── trainer.py
│ │ └── utils.py
│ ├── transforms/
│ │ ├── __init__.py
│ │ ├── covariate_scaler.py
│ │ └── target_scaler.py
│ └── utils/
│ ├── __init__.py
│ ├── constants.py
│ ├── datetime/
│ │ ├── __init__.py
│ │ ├── base.py
│ │ ├── lags.py
│ │ ├── seasonality.py
│ │ └── time_features.py
│ ├── features.py
│ ├── forecast.py
│ ├── timer.py
│ └── warning_filters.py
└── tests/
├── __init__.py
├── conftest.py
├── smoketests/
│ ├── __init__.py
│ └── test_all_models.py
└── unittests/
├── __init__.py
├── common.py
├── conftest.py
├── models/
│ ├── __init__.py
│ ├── chronos/
│ │ ├── __init__.py
│ │ ├── test_chronos2.py
│ │ ├── test_model.py
│ │ └── test_utils.py
│ ├── common.py
│ ├── conftest.py
│ ├── ensemble/
│ │ ├── __init__.py
│ │ ├── array_based/
│ │ │ ├── __init__.py
│ │ │ ├── conftest.py
│ │ │ ├── test_abstract.py
│ │ │ ├── test_linear_stacker.py
│ │ │ ├── test_models.py
│ │ │ └── test_tabular.py
│ │ ├── conftest.py
│ │ ├── test_abstract.py
│ │ ├── test_per_item_greedy.py
│ │ └── test_weighted.py
│ ├── test_abstract.py
│ ├── test_gluonts.py
│ ├── test_local.py
│ ├── test_mlforecast.py
│ ├── test_models.py
│ ├── test_multi_window_model.py
│ ├── test_per_step_tabular.py
│ ├── test_registry.py
│ └── test_toto.py
├── test_learner.py
├── test_metrics.py
├── test_predictor.py
├── test_regressor.py
├── test_splitter.py
├── test_transforms.py
├── test_ts_dataset.py
├── trainer/
│ ├── __init__.py
│ ├── test_ensemble_composer.py
│ ├── test_model_set_builder.py
│ ├── test_prediction_cache.py
│ └── test_trainer.py
└── utils/
├── __init__.py
├── test_features.py
├── test_timer.py
└── test_utils.py
Showing preview only (783K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (8050 symbols across 743 files)
FILE: CI/batch/cancel-job.py
function main (line 29) | def main():
FILE: CI/batch/submit-job.py
function printLogs (line 94) | def printLogs(logGroupName, logStreamName, startTime):
function nowInMillis (line 117) | def nowInMillis():
function main (line 122) | def main():
FILE: CI/bench/evaluate.py
function process_results (line 9) | def process_results(eval_flag: bool):
function main (line 91) | def main():
FILE: CI/bench/tabular/amlb_user_dir/setup_hf_cache.py
function setup_hf_cache (line 11) | def setup_hf_cache():
FILE: common/src/autogluon/common/dataset.py
class TabularDataset (line 13) | class TabularDataset:
method __new__ (line 38) | def __new__(cls, data, **kwargs) -> pd.DataFrame:
method load (line 44) | def load(cls, path: str | Path, **kwargs) -> pd.DataFrame:
method save (line 48) | def save(cls, path: str | Path, df: pd.DataFrame, **kwargs):
FILE: common/src/autogluon/common/features/feature_metadata.py
class FeatureMetadata (line 13) | class FeatureMetadata:
method __init__ (line 38) | def __init__(
method __eq__ (line 59) | def __eq__(self, other) -> bool:
method _validate (line 73) | def _validate(self):
method get_features (line 90) | def get_features(
method get_feature_type_raw (line 203) | def get_feature_type_raw(self, feature: str) -> str:
method get_feature_types_special (line 206) | def get_feature_types_special(self, feature: str) -> list:
method get_type_map_special (line 211) | def get_type_map_special(self) -> dict:
method get_type_group_map_special_from_type_map_special (line 215) | def get_type_group_map_special_from_type_map_special(type_map_special:...
method get_type_group_map_raw (line 222) | def get_type_group_map_raw(self):
method remove_features (line 228) | def remove_features(self, features: list, inplace=False):
method keep_features (line 243) | def keep_features(self, features: list, inplace=False):
method add_special_types (line 253) | def add_special_types(self, type_map_special: Dict[str, List[str]], in...
method _remove_features_from_type_group_map (line 291) | def _remove_features_from_type_group_map(d, features):
method _remove_features_from_type_map (line 296) | def _remove_features_from_type_map(d, features):
method rename_features (line 301) | def rename_features(self, rename_map: dict, inplace=False):
method join_metadata (line 321) | def join_metadata(self, metadata, shared_raw_features="error"):
method _add_type_group_map_special (line 372) | def _add_type_group_map_special(type_group_map_special_lst: List[dict]...
method _get_feature_types (line 388) | def _get_feature_types(feature: str, feature_types_dict: dict) -> list:
method join_metadatas (line 398) | def join_metadatas(metadata_list, shared_raw_features="error"):
method to_dict (line 404) | def to_dict(self, inverse=False) -> dict:
method print_feature_metadata_full (line 423) | def print_feature_metadata_full(
method from_df (line 475) | def from_df(cls, df: pd.DataFrame):
method verify_data (line 492) | def verify_data(self, df: pd.DataFrame) -> bool:
method verify_data_subset (line 502) | def verify_data_subset(self, df: pd.DataFrame) -> bool:
method verify_data_superset (line 512) | def verify_data_superset(self, df: pd.DataFrame) -> bool:
method _verify_data_type_raw (line 524) | def _verify_data_type_raw(self, type_map_raw: dict) -> bool:
method __str__ (line 531) | def __str__(self):
FILE: common/src/autogluon/common/features/infer_types.py
function get_type_family_raw (line 12) | def get_type_family_raw(dtype) -> str:
function get_type_map_real (line 43) | def get_type_map_real(df: DataFrame) -> dict:
function get_type_map_raw (line 49) | def get_type_map_raw(df: DataFrame) -> dict:
function get_type_map_special (line 54) | def get_type_map_special(X: DataFrame) -> dict:
function get_types_special (line 63) | def get_types_special(X: Series) -> List[str]:
function get_type_group_map (line 74) | def get_type_group_map(type_map: dict) -> defaultdict:
function get_type_group_map_real (line 85) | def get_type_group_map_real(df: DataFrame) -> defaultdict:
function get_type_group_map_raw (line 90) | def get_type_group_map_raw(df: DataFrame) -> defaultdict:
function get_type_group_map_special (line 95) | def get_type_group_map_special(df: DataFrame) -> defaultdict:
function check_if_datetime_as_object_feature (line 103) | def check_if_datetime_as_object_feature(X: Series) -> bool:
function check_if_nlp_feature (line 131) | def check_if_nlp_feature(X: Series) -> bool:
function get_bool_true_val (line 154) | def get_bool_true_val(uniques):
FILE: common/src/autogluon/common/loaders/_utils.py
function replace_file (line 25) | def replace_file(src, dst):
function _str_to_unicode (line 55) | def _str_to_unicode(x):
function _handle_errors (line 61) | def _handle_errors(rv, src):
function replace_file (line 73) | def replace_file(src, dst):
function sha1sum (line 90) | def sha1sum(filename):
function download (line 108) | def download(
function path_expander (line 248) | def path_expander(path, base_folder):
function protected_zip_extraction (line 253) | def protected_zip_extraction(zipfile_path, sha1_hash, folder):
FILE: common/src/autogluon/common/loaders/load_json.py
function load (line 11) | def load(path: str, *, verbose=True) -> dict | list:
FILE: common/src/autogluon/common/loaders/load_pd.py
function load (line 20) | def load(
function _load_multipart_child (line 152) | def _load_multipart_child(chunk):
function _load_multipart (line 186) | def _load_multipart(
function _load_multipart_s3 (line 246) | def _load_multipart_s3(
FILE: common/src/autogluon/common/loaders/load_pkl.py
function load (line 16) | def load(path: str, format: str | None = None, verbose: bool = True, **k...
function _is_web_url (line 80) | def _is_web_url(path: str) -> bool:
function _load_pickle_from_url (line 88) | def _load_pickle_from_url(url: str):
function load_with_fn (line 94) | def load_with_fn(path, pickle_fn, format=None, verbose=True):
FILE: common/src/autogluon/common/loaders/load_s3.py
function list_bucket_s3 (line 9) | def list_bucket_s3(bucket):
function download (line 23) | def download(input_bucket, input_prefix, local_path):
function list_bucket_prefix_suffix_contains_s3 (line 39) | def list_bucket_prefix_suffix_contains_s3(
FILE: common/src/autogluon/common/loaders/load_str.py
function load (line 8) | def load(path: str) -> str:
FILE: common/src/autogluon/common/loaders/load_zip.py
function unzip (line 7) | def unzip(path, sha1sum=None, unzip_dir=None):
FILE: common/src/autogluon/common/model_filter/_model_filter.py
class ModelFilter (line 7) | class ModelFilter:
method include_models (line 11) | def include_models(
method exclude_models (line 48) | def exclude_models(
method filter_models (line 79) | def filter_models(
FILE: common/src/autogluon/common/savers/save_json.py
function save (line 12) | def save(path, obj, sanitize=True):
function sanitize_object_to_primitives (line 32) | def sanitize_object_to_primitives(obj):
FILE: common/src/autogluon/common/savers/save_pd.py
function save (line 24) | def save(
function _save_multipart_child (line 150) | def _save_multipart_child(chunk):
function _save_multipart (line 164) | def _save_multipart(path, df, index=False, verbose=True, type=None, sep=...
FILE: common/src/autogluon/common/savers/save_pkl.py
function save (line 15) | def save(path, object, format=None, verbose=True, **kwargs):
function save_with_fn (line 40) | def save_with_fn(path, object, pickle_fn, format=None, verbose=True, com...
function save_s3 (line 60) | def save_s3(path: str, obj, pickle_fn, verbose=True):
FILE: common/src/autogluon/common/savers/save_str.py
function save (line 9) | def save(path, data: str, verbose=True):
FILE: common/src/autogluon/common/space.py
class Space (line 4) | class Space(object):
method default (line 8) | def default(self):
class SimpleSpace (line 13) | class SimpleSpace(Space):
method __init__ (line 14) | def __init__(self, default):
method __repr__ (line 19) | def __repr__(self):
method default (line 28) | def default(self):
method default (line 33) | def default(self, value):
class DiscreteSpace (line 38) | class DiscreteSpace(SimpleSpace):
method __len__ (line 43) | def __len__(self) -> int:
class Categorical (line 48) | class Categorical(DiscreteSpace):
method __init__ (line 62) | def __init__(self, *data):
method __iter__ (line 66) | def __iter__(self):
method __getitem__ (line 70) | def __getitem__(self, index):
method __setitem__ (line 73) | def __setitem__(self, index, data):
method __len__ (line 76) | def __len__(self):
method convert_to_sklearn (line 79) | def convert_to_sklearn(self):
method __repr__ (line 82) | def __repr__(self):
class Real (line 87) | class Real(SimpleSpace):
method __init__ (line 107) | def __init__(self, lower, upper, default=None, log=False):
method convert_to_sklearn (line 119) | def convert_to_sklearn(self):
class Int (line 129) | class Int(DiscreteSpace):
method __init__ (line 147) | def __init__(self, lower, upper, default=None):
method convert_to_sklearn (line 154) | def convert_to_sklearn(self):
method __len__ (line 159) | def __len__(self):
class Bool (line 163) | class Bool(Int):
method __init__ (line 172) | def __init__(self):
FILE: common/src/autogluon/common/utils/cache_presets_to_yaml.py
function _is_s3_uri (line 8) | def _is_s3_uri(path: str) -> bool:
function _parse_s3_uri (line 12) | def _parse_s3_uri(uri: str) -> tuple[str, str]:
function _s3_put_text (line 23) | def _s3_put_text(
function presets_to_yaml_files (line 47) | def presets_to_yaml_files(
FILE: common/src/autogluon/common/utils/compression_utils.py
function _gzip_open (line 1) | def _gzip_open(*args, **kwargs):
function _bz2_open (line 7) | def _bz2_open(*args, **kwargs):
function _lzma_open (line 15) | def _lzma_open(*args, **kwargs):
function get_validated_path (line 41) | def get_validated_path(filename, compression_fn=None):
function get_compression_map (line 49) | def get_compression_map():
FILE: common/src/autogluon/common/utils/context.py
function set_torch_num_threads (line 5) | def set_torch_num_threads(num_cpus):
FILE: common/src/autogluon/common/utils/cpu_utils.py
function get_available_cpu_count (line 15) | def get_available_cpu_count(only_physical_cores: bool = False) -> int:
FILE: common/src/autogluon/common/utils/cv_splitter.py
class CVSplitter (line 23) | class CVSplitter:
method __init__ (line 24) | def __init__(
method _get_splitter_cls (line 77) | def _get_splitter_cls(self):
method _get_splitter (line 93) | def _get_splitter(self, splitter_cls) -> BaseCrossValidator:
method split (line 104) | def split(self, X: pd.DataFrame | None, y: pd.Series | np.ndarray) -> ...
FILE: common/src/autogluon/common/utils/decorators.py
function unpack (line 11) | def unpack(g, *other_args):
function _looks_like_preset_location (line 41) | def _looks_like_preset_location(s: str) -> bool:
function _resolve_preset_str (line 62) | def _resolve_preset_str(
function _apply_presets (line 97) | def _apply_presets(preset_dict: Dict[str, dict], presets_alias: Dict[str...
function apply_presets (line 151) | def apply_presets(preset_dict: Dict[str, dict], presets_alias: Dict[str,...
FILE: common/src/autogluon/common/utils/deprecated_utils.py
function _deprecation_warning (line 11) | def _deprecation_warning(
function Deprecated (line 34) | def Deprecated(
function _rename_kwargs (line 137) | def _rename_kwargs(
function Deprecated_args (line 165) | def Deprecated_args(
function construct_deprecated_wrapper (line 242) | def construct_deprecated_wrapper(ag_version) -> Callable:
function construct_deprecated_args_wrapper (line 251) | def construct_deprecated_args_wrapper(ag_version) -> Callable:
FILE: common/src/autogluon/common/utils/distribute_utils.py
class DistributedContext (line 4) | class DistributedContext:
method get_util_path (line 28) | def get_util_path() -> str:
method get_model_sync_path (line 33) | def get_model_sync_path() -> str:
method is_distributed_mode (line 38) | def is_distributed_mode() -> bool:
method is_shared_network_file_system (line 43) | def is_shared_network_file_system() -> bool:
FILE: common/src/autogluon/common/utils/file_utils.py
function get_directory_size (line 6) | def get_directory_size(path: str) -> int:
function get_directory_size_per_file (line 20) | def get_directory_size_per_file(path: str, *, sort_by: str = "size", inc...
FILE: common/src/autogluon/common/utils/hyperparameter_utils.py
function is_advanced_hyperparameter_format (line 1) | def is_advanced_hyperparameter_format(hyperparameters: dict) -> bool:
function get_hyperparameter_str_deprecation_msg (line 36) | def get_hyperparameter_str_deprecation_msg() -> str:
function get_deprecated_lightgbm_large_hyperparameters (line 53) | def get_deprecated_lightgbm_large_hyperparameters() -> dict:
FILE: common/src/autogluon/common/utils/lite.py
function disable_if_lite_mode (line 4) | def disable_if_lite_mode(ret=None):
FILE: common/src/autogluon/common/utils/log_utils.py
class DuplicateFilter (line 7) | class DuplicateFilter(object):
method __init__ (line 22) | def __init__(self, filter_targets=None):
method filter (line 28) | def filter(self, record):
method attach_filter_targets (line 34) | def attach_filter_targets(self, filter_targets):
method clear_filter_targets (line 40) | def clear_filter_targets(self):
function verbosity2loglevel (line 45) | def verbosity2loglevel(verbosity):
function set_logger_verbosity (line 62) | def set_logger_verbosity(verbosity: int, logger=None):
function add_log_to_file (line 72) | def add_log_to_file(file_path: str, logger: Optional[logging.Logger] = N...
function _check_if_kaggle (line 90) | def _check_if_kaggle() -> bool:
function _add_stream_handler (line 101) | def _add_stream_handler():
function fix_logging_if_kaggle (line 118) | def fix_logging_if_kaggle():
function fix_sklearnex_logging_if_kaggle (line 130) | def fix_sklearnex_logging_if_kaggle():
function convert_time_in_s_to_log_friendly (line 147) | def convert_time_in_s_to_log_friendly(time_in_sec: float, min_value: flo...
function reset_logger_for_remote_call (line 179) | def reset_logger_for_remote_call(verbosity: int):
function warn_if_mlflow_autologging_is_enabled (line 200) | def warn_if_mlflow_autologging_is_enabled(logger: Optional[logging.Logge...
FILE: common/src/autogluon/common/utils/multiprocessing_utils.py
function execute_multiprocessing (line 9) | def execute_multiprocessing(workers_count, transformer, chunks, multipro...
FILE: common/src/autogluon/common/utils/nvutil.py
function cudaInit (line 20) | def cudaInit():
function cudaDeviceGetCount (line 43) | def cudaDeviceGetCount():
function _LoadNvmlLibrary (line 51) | def _LoadNvmlLibrary():
function cudaSystemGetNVMLVersion (line 88) | def cudaSystemGetNVMLVersion():
function _cudaGetFunctionPointer (line 100) | def _cudaGetFunctionPointer(name):
function _cudaCheckReturn (line 121) | def _cudaCheckReturn(ret):
class NVMLError (line 127) | class NVMLError(Exception):
method __new__ (line 135) | def __new__(typ, value):
method __str__ (line 146) | def __str__(self):
method __eq__ (line 154) | def __eq__(self, other):
function cudaShutdown (line 158) | def cudaShutdown():
FILE: common/src/autogluon/common/utils/pandas_utils.py
function _suspend_logging_for_package (line 13) | def _suspend_logging_for_package(package_name):
function get_approximate_df_mem_usage (line 34) | def get_approximate_df_mem_usage(df: DataFrame, sample_ratio=0.2):
FILE: common/src/autogluon/common/utils/path_converter.py
class PathConverter (line 6) | class PathConverter:
method _is_windows (line 10) | def _is_windows():
method _is_absolute (line 14) | def _is_absolute(path: str) -> bool:
method _validate_path (line 18) | def _validate_path(path: str):
method to_windows (line 24) | def to_windows(path: str) -> str:
method _to_windows (line 29) | def _to_windows(path: str) -> PureWindowsPath:
method to_posix (line 33) | def to_posix(path: str) -> str:
method _to_posix (line 38) | def _to_posix(path: str) -> PurePosixPath:
method to_current (line 42) | def to_current(path: str) -> str:
method os_path_sep (line 46) | def os_path_sep() -> str:
method to_relative (line 52) | def to_relative(path: str) -> str:
method to_absolute (line 65) | def to_absolute(path: str) -> str:
FILE: common/src/autogluon/common/utils/presets_io.py
function _read_bytes_from_s3 (line 8) | def _read_bytes_from_s3(uri: str) -> bytes:
function _read_bytes_from_http (line 21) | def _read_bytes_from_http(uri: str, *, timeout_s: float = 30.0) -> bytes:
function load_preset_dict_from_location (line 29) | def load_preset_dict_from_location(location: str) -> dict:
FILE: common/src/autogluon/common/utils/resource_utils.py
class ResourceManager (line 17) | class ResourceManager:
method get_cpu_count (line 21) | def get_cpu_count(only_physical_cores: bool = False) -> int:
method get_cpu_count_psutil (line 41) | def get_cpu_count_psutil(logical=True):
method get_gpu_count (line 48) | def get_gpu_count() -> int:
method get_gpu_count_torch (line 55) | def get_gpu_count_torch(cuda_only: bool = False) -> int:
method get_gpu_free_memory (line 91) | def get_gpu_free_memory():
method get_memory_size (line 110) | def get_memory_size(format: str = "B") -> float:
method get_memory_rss (line 126) | def get_memory_rss(format: str = "B") -> float:
method get_available_virtual_mem (line 131) | def get_available_virtual_mem(format: str = "B") -> float:
method bytes_converter (line 136) | def bytes_converter(value: float, format_in: str, format_out: str) -> ...
method get_process (line 167) | def get_process(pid=None):
method get_available_disk_size (line 173) | def get_available_disk_size():
method get_disk_usage (line 185) | def get_disk_usage(path: str):
method _get_gpu_count_cuda (line 194) | def _get_gpu_count_cuda():
method _get_custom_memory_size (line 206) | def _get_custom_memory_size():
method _get_memory_size (line 217) | def _get_memory_size() -> float:
method _get_memory_rss (line 227) | def _get_memory_rss() -> float:
method _get_available_virtual_mem (line 232) | def _get_available_virtual_mem() -> float:
class RayResourceManager (line 243) | class RayResourceManager:
method _init_ray (line 247) | def _init_ray():
method _get_cluster_resources (line 260) | def _get_cluster_resources(key: str, default_val: Union[int, float] = 0):
method get_cpu_count (line 278) | def get_cpu_count() -> int:
method get_gpu_count (line 283) | def get_gpu_count() -> int:
method get_available_virtual_mem (line 288) | def get_available_virtual_mem(format: str = "B") -> float:
function get_resource_manager (line 293) | def get_resource_manager():
FILE: common/src/autogluon/common/utils/s3_utils.py
function is_s3_url (line 14) | def is_s3_url(path: str) -> bool:
function s3_path_to_bucket_prefix (line 32) | def s3_path_to_bucket_prefix(s3_path: str) -> Tuple[str, str]:
function s3_bucket_prefix_to_path (line 54) | def s3_bucket_prefix_to_path(bucket: str, prefix: str, version: str = "s...
function delete_s3_prefix (line 60) | def delete_s3_prefix(bucket: str, prefix: str):
function upload_file (line 73) | def upload_file(*, file_name: str, bucket: str, prefix: Optional[str] = ...
function upload_s3_folder (line 104) | def upload_s3_folder(
function download_s3_folder (line 173) | def download_s3_folder(
function get_s3_to_local_tuple_list_from_s3_folder (line 249) | def get_s3_to_local_tuple_list_from_s3_folder(
function get_s3_to_local_tuple_list (line 286) | def get_s3_to_local_tuple_list(
function download_s3_file (line 320) | def download_s3_file(
function copy_s3_file (line 383) | def copy_s3_file(origin_path: str, destination_path: str) -> None:
function download_s3_files (line 405) | def download_s3_files(*, s3_to_local_tuple_list: List[Tuple[str, str]], ...
function _get_local_objs_to_upload_and_s3_prefix (line 417) | def _get_local_objs_to_upload_and_s3_prefix(folder_to_upload: str) -> Li...
function _get_local_path_to_download_objs (line 440) | def _get_local_path_to_download_objs(s3_objs: List[str], prefix: str, lo...
FILE: common/src/autogluon/common/utils/simulation_utils.py
function _recursive_dd (line 8) | def _recursive_dd():
function _dd_to_dict (line 12) | def _dd_to_dict(dd):
function convert_simulation_artifacts_to_tabular_predictions_dict (line 20) | def convert_simulation_artifacts_to_tabular_predictions_dict(
FILE: common/src/autogluon/common/utils/system_info.py
function get_ag_system_info_disk_space (line 9) | def get_ag_system_info_disk_space(path: str) -> Tuple[str, int]:
function get_ag_system_info (line 43) | def get_ag_system_info(*, path: str = None, include_gpu_count=False, inc...
FILE: common/src/autogluon/common/utils/try_import.py
function try_import_mxboard (line 26) | def try_import_mxboard():
function try_import_ray (line 33) | def try_import_ray() -> ModuleType:
function try_import_catboost (line 66) | def try_import_catboost():
function try_import_lightgbm (line 89) | def try_import_lightgbm():
function try_import_xgboost (line 104) | def try_import_xgboost():
function try_import_interpret (line 121) | def try_import_interpret():
function try_import_faiss (line 131) | def try_import_faiss():
function try_import_fastai (line 138) | def try_import_fastai():
function try_import_torch (line 156) | def try_import_torch():
function try_import_autogluon_multimodal (line 167) | def try_import_autogluon_multimodal():
function try_import_rapids_cuml (line 177) | def try_import_rapids_cuml():
function try_import_imodels (line 190) | def try_import_imodels():
FILE: common/src/autogluon/common/utils/utils.py
function setup_outputdir (line 28) | def setup_outputdir(
function get_python_version (line 124) | def get_python_version(include_micro=True) -> str:
function get_package_versions (line 131) | def get_package_versions(*, strict: bool = False) -> tuple[dict[str, str...
function get_autogluon_metadata (line 182) | def get_autogluon_metadata() -> dict[str, Any]:
function compare_autogluon_metadata (line 196) | def compare_autogluon_metadata(*, original: dict, current: dict, check_p...
function bytes_to_mega_bytes (line 238) | def bytes_to_mega_bytes(memory_amount: int) -> int:
function check_saved_predictor_version (line 243) | def check_saved_predictor_version(
function hash_pandas_df (line 275) | def hash_pandas_df(df: Optional[pd.DataFrame]) -> str:
function seed_everything (line 288) | def seed_everything(seed: int) -> None:
FILE: common/src/autogluon/common/utils/warning_filter.py
class warning_filter (line 6) | class warning_filter(warnings.catch_warnings):
method __enter__ (line 7) | def __enter__(self):
FILE: common/tests/conftest.py
function pytest_addoption (line 4) | def pytest_addoption(parser):
function pytest_configure (line 8) | def pytest_configure(config):
function pytest_collection_modifyitems (line 14) | def pytest_collection_modifyitems(config, items):
FILE: common/tests/test_check_style.py
function test_check_style (line 8) | def test_check_style():
FILE: common/tests/unittests/test_compression_utils.py
function test_get_validated_path_no_compression_fn (line 4) | def test_get_validated_path_no_compression_fn():
function test_get_validated_path_with_compression_fn (line 15) | def test_get_validated_path_with_compression_fn():
function test_get_compression_map (line 72) | def test_get_compression_map():
FILE: common/tests/unittests/test_dataset.py
function test_tabular_dataset (line 6) | def test_tabular_dataset():
FILE: common/tests/unittests/test_deprecated_utils.py
function test_should_deprecate_warning (line 13) | def test_should_deprecate_warning(mock_version):
function test_should_raise_deprecate_error (line 51) | def test_should_raise_deprecate_error(mock_version):
function test_should_not_deprecate (line 83) | def test_should_not_deprecate(mock_version):
function test_should_raise_if_both_new_and_deprecated_args_passed (line 106) | def test_should_raise_if_both_new_and_deprecated_args_passed():
FILE: common/tests/unittests/test_hash_pandas_df.py
function _get_pandas_df (line 12) | def _get_pandas_df(num_rows=20):
function test_when_df_saved_and_loaded_from_disk_then_hash_is_unchanged (line 22) | def test_when_df_saved_and_loaded_from_disk_then_hash_is_unchanged():
function test_when_df_copied_then_hash_is_unchanged (line 31) | def test_when_df_copied_then_hash_is_unchanged():
function test_when_df_columns_permuted_then_hash_is_unchanged (line 38) | def test_when_df_columns_permuted_then_hash_is_unchanged():
FILE: common/tests/unittests/test_import_version.py
function test_import_version (line 4) | def test_import_version():
FILE: common/tests/unittests/test_infer_types.py
function test_when_sortable_uniques_then_returns_sorted_second_value (line 17) | def test_when_sortable_uniques_then_returns_sorted_second_value(uniques,...
function test_when_numpy_array_with_nan_then_nan_not_chosen_as_true (line 21) | def test_when_numpy_array_with_nan_then_nan_not_chosen_as_true():
function test_when_pandas_categorical_then_no_attribute_error (line 33) | def test_when_pandas_categorical_then_no_attribute_error(series):
FILE: common/tests/unittests/test_log_utils.py
function test_convert_time_in_s_to_log_friendly (line 9) | def test_convert_time_in_s_to_log_friendly():
function test_when_mlflow_autolog_is_disabled_then_no_warning_is_logged (line 74) | def test_when_mlflow_autolog_is_disabled_then_no_warning_is_logged(caplog):
FILE: common/tests/unittests/test_memory_limit.py
function get_and_assert_max_memory (line 5) | def get_and_assert_max_memory():
function test_memory_mocking (line 32) | def test_memory_mocking():
function test_custom_memory_soft_limit_envar (line 47) | def test_custom_memory_soft_limit_envar(get_and_assert_max_memory):
FILE: common/tests/unittests/test_model_filter.py
function test_filter_model (line 36) | def test_filter_model(models, included_model_types, excluded_model_types...
FILE: common/tests/unittests/test_path_converter.py
function test_to_windows (line 9) | def test_to_windows(og_path, expected_path):
function test_to_posix (line 20) | def test_to_posix(og_path, expected_path):
function test_to_current (line 33) | def test_to_current(og_path, expected_path, mock_system):
function test_should_raise_on_absolute_path (line 39) | def test_should_raise_on_absolute_path(path):
FILE: common/tests/unittests/test_s3_utils.py
function test_get_local_path_to_download_objs (line 31) | def test_get_local_path_to_download_objs(s3_objs, prefix, local_path, ex...
function test_get_s3_to_local_tuple_list (line 75) | def test_get_s3_to_local_tuple_list(s3_bucket, s3_prefix, local_path, s3...
function test_get_s3_to_local_tuple_list_raises (line 90) | def test_get_s3_to_local_tuple_list_raises(s3_bucket, s3_prefix, local_p...
function test_get_local_objs_to_upload_and_s3_prefix (line 97) | def test_get_local_objs_to_upload_and_s3_prefix():
function test_get_local_objs_to_upload_and_s3_prefix_empty (line 125) | def test_get_local_objs_to_upload_and_s3_prefix_empty():
FILE: common/tests/unittests/test_setup_outputdir.py
class SetupOutputDirTestCase (line 14) | class SetupOutputDirTestCase(unittest.TestCase):
method test_os_path (line 15) | def test_os_path(self):
method test_s3_path (line 54) | def test_s3_path(self):
FILE: common/tests/unittests/test_version.py
function test_version_has_major_minor_micro (line 6) | def test_version_has_major_minor_micro():
FILE: common/tests/unittests/utils/test_compare_autogluon_metadata.py
class CompareAutoGluonMetadataTestCase (line 7) | class CompareAutoGluonMetadataTestCase(unittest.TestCase):
method test_no_warnings (line 8) | def test_no_warnings(self):
method test_version_mismatch (line 13) | def test_version_mismatch(self):
method test_py_version_mismatch (line 20) | def test_py_version_mismatch(self):
method test_py_version_micro_mismatch (line 27) | def test_py_version_micro_mismatch(self):
method test_py_version_both_mismatch (line 34) | def test_py_version_both_mismatch(self):
method test_system_mismatch (line 42) | def test_system_mismatch(self):
method test_combined_mismatch (line 49) | def test_combined_mismatch(self):
method test_new_key (line 58) | def test_new_key(self):
method test_package_mismatch (line 65) | def test_package_mismatch(self):
FILE: common/tests/unittests/utils/test_cpu_detection.py
function test_get_cpu_count_matches_available_count (line 8) | def test_get_cpu_count_matches_available_count():
function test_get_cpu_count_matches_available_count_physical_cores (line 13) | def test_get_cpu_count_matches_available_count_physical_cores():
function test_ag_cpu_count_environment_variable (line 19) | def test_ag_cpu_count_environment_variable():
function test_ag_cpu_count_environment_variable_overrides_physical_cores (line 25) | def test_ag_cpu_count_environment_variable_overrides_physical_cores():
function test_slurm_cpus_per_task_environment_variable (line 31) | def test_slurm_cpus_per_task_environment_variable():
function test_ag_cpu_count_takes_precedence (line 37) | def test_ag_cpu_count_takes_precedence():
function test_loky_logical_cores_detection (line 44) | def test_loky_logical_cores_detection(mock_loky_cpu_count):
function test_loky_physical_cores_detection (line 56) | def test_loky_physical_cores_detection(mock_loky_cpu_count):
function test_minimum_cpu_count_is_one (line 68) | def test_minimum_cpu_count_is_one(mock_loky_cpu_count):
function test_normal_operation (line 78) | def test_normal_operation():
FILE: common/tests/unittests/utils/test_get_package_versions.py
class _FakeDist (line 8) | class _FakeDist:
method __init__ (line 9) | def __init__(self, *, name=None, version="1.0", metadata=None, raise_o...
method metadata (line 16) | def metadata(self):
function test_get_package_versions_happy_path (line 29) | def test_get_package_versions_happy_path(monkeypatch):
function test_get_package_versions_name_is_none_falls_back_to_dist_name (line 43) | def test_get_package_versions_name_is_none_falls_back_to_dist_name(monke...
function test_get_package_versions_missing_name_and_no_dist_name_is_skipped (line 56) | def test_get_package_versions_missing_name_and_no_dist_name_is_skipped(m...
function test_get_package_versions_weird_metadata_does_not_crash (line 70) | def test_get_package_versions_weird_metadata_does_not_crash(monkeypatch):
function test_get_package_versions_strict_raises (line 85) | def test_get_package_versions_strict_raises(monkeypatch):
FILE: common/tests/unittests/utils/test_pandas_utils.py
function test_sample_ratio_ge_1_returns_deep_memory_usage (line 10) | def test_sample_ratio_ge_1_returns_deep_memory_usage(monkeypatch):
function test_numeric_columns_sampling_returns_shallow_memory_usage (line 30) | def test_numeric_columns_sampling_returns_shallow_memory_usage(monkeypat...
function test_category_column_estimate_matches_formula (line 50) | def test_category_column_estimate_matches_formula(monkeypatch):
function test_inexact_object_column_uses_head_deep_scaled (line 80) | def test_inexact_object_column_uses_head_deep_scaled(monkeypatch):
FILE: common/tests/unittests/utils/test_presets_yaml_loading.py
class _FakeHTTPResponse (line 9) | class _FakeHTTPResponse:
method __init__ (line 10) | def __init__(self, payload: bytes):
method read (line 13) | def read(self) -> bytes:
method __enter__ (line 16) | def __enter__(self):
method __exit__ (line 19) | def __exit__(self, exc_type, exc, tb):
function test_load_https_with_fragment_selects_named_preset (line 26) | def test_load_https_with_fragment_selects_named_preset(monkeypatch):
function test_load_https_without_fragment_returns_top_level_dict (line 52) | def test_load_https_without_fragment_returns_top_level_dict(monkeypatch):
function test_load_fragment_missing_key_raises (line 75) | def test_load_fragment_missing_key_raises(monkeypatch):
function test_unknown_preset_name_raises_original_valid_presets_error (line 96) | def test_unknown_preset_name_raises_original_valid_presets_error(monkeyp...
function test_unknown_yaml_like_string_attempts_loading (line 128) | def test_unknown_yaml_like_string_attempts_loading(monkeypatch):
FILE: core/src/autogluon/core/_setup_utils.py
function load_version_file (line 57) | def load_version_file():
function get_dependency_version_ranges (line 63) | def get_dependency_version_ranges(packages: list) -> list:
function update_version (line 67) | def update_version(version, use_file_if_exists=True, create_file=False):
function create_version_file (line 93) | def create_version_file(*, version, submodule):
function default_setup_args (line 105) | def default_setup_args(*, version, submodule):
FILE: core/src/autogluon/core/augmentation/distill_utils.py
function format_distillation_labels (line 17) | def format_distillation_labels(y, problem_type, num_classes=None, eps_la...
function augment_data (line 33) | def augment_data(
function postprocess_augmented (line 61) | def postprocess_augmented(X_aug, X):
function spunge_augment (line 70) | def spunge_augment(
function munge_augment (line 158) | def munge_augment(
FILE: core/src/autogluon/core/calibrate/_decision_threshold.py
function calibrate_decision_threshold (line 18) | def calibrate_decision_threshold(
FILE: core/src/autogluon/core/calibrate/conformity_score.py
function compute_conformity_score (line 5) | def compute_conformity_score(y_val_pred: np.ndarray, y_val: np.ndarray, ...
FILE: core/src/autogluon/core/calibrate/temperature_scaling.py
function tune_temperature_scaling (line 9) | def tune_temperature_scaling(
function custom_softmax (line 78) | def custom_softmax(logits: np.ndarray) -> np.ndarray:
function apply_temperature_scaling (line 85) | def apply_temperature_scaling(
FILE: core/src/autogluon/core/callbacks/_abstract_callback.py
class AbstractCallback (line 15) | class AbstractCallback(object, metaclass=ABCMeta):
method __init__ (line 47) | def __init__(self):
method before_trainer_fit (line 50) | def before_trainer_fit(self, trainer: AbstractTrainer, **kwargs):
method after_trainer_fit (line 68) | def after_trainer_fit(self, trainer: AbstractTrainer):
method before_model_fit (line 76) | def before_model_fit(
method _before_model_fit (line 131) | def _before_model_fit(
method after_model_fit (line 146) | def after_model_fit(
method _after_model_fit (line 197) | def _after_model_fit(
FILE: core/src/autogluon/core/callbacks/_early_stopping_callback.py
class EarlyStoppingCallback (line 13) | class EarlyStoppingCallback(AbstractCallback):
method __init__ (line 37) | def __init__(self, patience: int = 10, patience_per_level: bool = True...
method before_trainer_fit (line 51) | def before_trainer_fit(self, trainer: AbstractTrainer, **kwargs):
method _before_model_fit (line 54) | def _before_model_fit(
method _after_model_fit (line 78) | def _after_model_fit(self, trainer: AbstractTrainer, **kwargs) -> bool:
method calc_new_best (line 91) | def calc_new_best(self, trainer: AbstractTrainer, **kwargs):
method _calc_new_best (line 97) | def _calc_new_best(self, trainer: AbstractTrainer):
method _cur_best (line 108) | def _cur_best(self, trainer: AbstractTrainer) -> tuple[str, float]:
method _early_stop (line 134) | def _early_stop(self):
method _log (line 140) | def _log(self, logger: Logger, level, msg: str):
FILE: core/src/autogluon/core/callbacks/_early_stopping_count_callback.py
class EarlyStoppingCountCallback (line 14) | class EarlyStoppingCountCallback(AbstractCallback):
method __init__ (line 34) | def __init__(self, patience: int | list | None = 10, patience_per_leve...
method before_trainer_fit (line 43) | def before_trainer_fit(self, trainer: AbstractTrainer, **kwargs):
method _before_model_fit (line 57) | def _before_model_fit(
method _after_model_fit (line 78) | def _after_model_fit(
method _early_stop (line 90) | def _early_stop(self):
method _log (line 96) | def _log(self, logger: Logger, level, msg: str):
FILE: core/src/autogluon/core/callbacks/_early_stopping_ensemble_callback.py
class EarlyStoppingEnsembleCallback (line 12) | class EarlyStoppingEnsembleCallback(EarlyStoppingCallback):
method __init__ (line 18) | def __init__(self, **kwargs):
method before_trainer_fit (line 24) | def before_trainer_fit(self, trainer: AbstractTrainer, **kwargs):
method calc_new_best (line 28) | def calc_new_best(self, trainer: AbstractTrainer, **kwargs):
method _fit_weighted_ensemble (line 34) | def _fit_weighted_ensemble(self, trainer: AbstractTrainer):
FILE: core/src/autogluon/core/callbacks/_example_callback.py
class ExampleCallback (line 16) | class ExampleCallback(AbstractCallback):
method _before_model_fit (line 21) | def _before_model_fit(
method _after_model_fit (line 57) | def _after_model_fit(
method before_trainer_fit (line 66) | def before_trainer_fit(self, trainer: AbstractTrainer, **kwargs):
method after_trainer_fit (line 71) | def after_trainer_fit(self, trainer: AbstractTrainer):
FILE: core/src/autogluon/core/callbacks/_smooth_count.py
function _interp_loglog (line 10) | def _interp_loglog(n: float, n0: float, y0: float, n1: float, y1: float)...
function _parse_points_spec (line 26) | def _parse_points_spec(points: PointsSpec) -> tuple[list[Point], bool]:
function max_models_from_num_samples_val (line 60) | def max_models_from_num_samples_val(
FILE: core/src/autogluon/core/data/cleaner.py
class Cleaner (line 11) | class Cleaner:
method construct (line 13) | def construct(problem_type: str, label: str, threshold: int):
method fit (line 23) | def fit(self, X: DataFrame) -> DataFrame:
method fit_transform (line 26) | def fit_transform(self, X: DataFrame) -> DataFrame:
method transform (line 30) | def transform(self, X: DataFrame) -> DataFrame:
class CleanerDummy (line 34) | class CleanerDummy(Cleaner):
method __init__ (line 35) | def __init__(self):
method fit (line 38) | def fit(self, X: DataFrame) -> DataFrame:
method transform (line 41) | def transform(self, X: DataFrame) -> DataFrame:
class CleanerMulticlass (line 45) | class CleanerMulticlass(Cleaner):
method __init__ (line 46) | def __init__(self, label: str, threshold: int):
method fit (line 51) | def fit(self, X: DataFrame):
method transform (line 54) | def transform(self, X: DataFrame) -> DataFrame:
method get_valid_classes (line 58) | def get_valid_classes(X, label, threshold):
method remove_classes (line 81) | def remove_classes(X, label, valid_classes):
FILE: core/src/autogluon/core/data/label_cleaner.py
class LabelCleaner (line 15) | class LabelCleaner:
method __init__ (line 23) | def __init__(self, y: Union[Series, np.ndarray, list, DataFrame]):
method construct (line 28) | def construct(
method transformed_dtype (line 55) | def transformed_dtype(self):
method to_transformed_dtype (line 61) | def to_transformed_dtype(self, y: Union[Series, np.ndarray, list]) -> ...
method to_original_dtype (line 66) | def to_original_dtype(self, y: Union[Series, np.ndarray, list]) -> Ser...
method transform (line 71) | def transform(self, y: Union[Series, np.ndarray, list]) -> Series:
method inverse_transform (line 76) | def inverse_transform(self, y: Union[Series, np.ndarray, list]) -> Ser...
method _transform (line 81) | def _transform(self, y: Series) -> Series:
method _inverse_transform (line 84) | def _inverse_transform(self, y: Series) -> Series:
method transform_proba (line 87) | def transform_proba(self, y: Union[DataFrame, Series, np.ndarray], as_...
method inverse_transform_proba (line 90) | def inverse_transform_proba(self, y, as_pandas=False, as_pred=False):
method _convert_to_valid_series (line 94) | def _convert_to_valid_series(y: Union[Series, np.ndarray, list]) -> Se...
class LabelCleanerMulticlass (line 102) | class LabelCleanerMulticlass(LabelCleaner):
method __init__ (line 103) | def __init__(self, y: Series, y_uncleaned: Series):
method _transform (line 125) | def _transform(self, y: Series) -> Series:
method _inverse_transform (line 129) | def _inverse_transform(self, y: Series) -> Series:
method transform_pred_uncleaned (line 133) | def transform_pred_uncleaned(self, y: Union[Series, np.ndarray]) -> Se...
method inverse_transform_pred_uncleaned (line 141) | def inverse_transform_pred_uncleaned(self, y: Union[Series, np.ndarray...
method transform_proba (line 150) | def transform_proba(self, y: Union[DataFrame, np.ndarray], as_pandas=F...
method inverse_transform_proba (line 168) | def inverse_transform_proba(self, y, as_pandas=False, as_pred=False):
method _generate_categorical_mapping (line 191) | def _generate_categorical_mapping(y: Series) -> dict:
class LabelCleanerBinary (line 198) | class LabelCleanerBinary(LabelCleaner):
method __init__ (line 199) | def __init__(self, y: Series, positive_class=None):
method inverse_transform_proba (line 248) | def inverse_transform_proba(self, y, as_pandas=False, as_pred=False):
method _transform (line 269) | def _transform(self, y: Series) -> Series:
method _inverse_transform (line 273) | def _inverse_transform(self, y: Series) -> Series:
method transform_proba (line 276) | def transform_proba(self, y: Union[DataFrame, Series, np.ndarray], as_...
class LabelCleanerMulticlassToBinary (line 285) | class LabelCleanerMulticlassToBinary(LabelCleanerMulticlass):
method __init__ (line 286) | def __init__(self, y: Series, y_uncleaned: Series):
method _transform (line 291) | def _transform(self, y: Series) -> Series:
method inverse_transform_proba (line 296) | def inverse_transform_proba(self, y, as_pandas=False, as_pred=False):
method convert_binary_proba_to_multiclass_proba (line 302) | def convert_binary_proba_to_multiclass_proba(y, as_pandas=False):
class LabelCleanerSoftclass (line 315) | class LabelCleanerSoftclass(LabelCleaner):
method __init__ (line 316) | def __init__(self, y: DataFrame):
method transform (line 320) | def transform(self, y: Union[Series, np.ndarray, list]) -> Series:
method inverse_transform (line 324) | def inverse_transform(self, y: Union[Series, np.ndarray, list]) -> Ser...
method _transform (line 328) | def _transform(self, y: DataFrame) -> DataFrame:
method _inverse_transform (line 331) | def _inverse_transform(self, y: DataFrame) -> DataFrame:
method _convert_to_valid_series (line 335) | def _convert_to_valid_series(y: DataFrame) -> DataFrame:
class LabelCleanerDummy (line 339) | class LabelCleanerDummy(LabelCleaner):
method __init__ (line 340) | def __init__(self, problem_type=REGRESSION):
method transform (line 343) | def transform(self, y: Union[Series, np.ndarray, list]) -> Series:
method inverse_transform (line 347) | def inverse_transform(self, y: Union[Series, np.ndarray, list]) -> Ser...
method _transform (line 351) | def _transform(self, y: Union[Series, DataFrame]) -> Union[Series, Dat...
method _inverse_transform (line 354) | def _inverse_transform(self, y: Union[Series, DataFrame]) -> Union[Ser...
method to_transformed_dtype (line 357) | def to_transformed_dtype(self, y: Union[Series, np.ndarray, list]) -> ...
method to_original_dtype (line 360) | def to_original_dtype(self, y: Union[Series, np.ndarray, list]) -> Ser...
FILE: core/src/autogluon/core/hpo/exceptions.py
class EmptySearchSpace (line 1) | class EmptySearchSpace(Exception):
FILE: core/src/autogluon/core/hpo/executors.py
class HpoExecutor (line 29) | class HpoExecutor(ABC):
method __init__ (line 32) | def __init__(self):
method executor_type (line 40) | def executor_type(self):
method time_limit (line 45) | def time_limit(self):
method time_limit (line 50) | def time_limit(self, value):
method initialize (line 54) | def initialize(
method register_resources (line 75) | def register_resources(
method validate_search_space (line 272) | def validate_search_space(
method prepare_data (line 289) | def prepare_data(
method execute (line 331) | def execute(self, **kwargs):
method report (line 336) | def report(self, reporter: "LocalReporter", **kwargs):
method get_hpo_results (line 341) | def get_hpo_results(self, model_name: str, model_path_root: str, **kwa...
class RayHpoExecutor (line 355) | class RayHpoExecutor(HpoExecutor):
method __init__ (line 375) | def __init__(self):
method executor_type (line 380) | def executor_type(self):
method initialize (line 383) | def initialize(self, hyperparameter_tune_kwargs, default_num_trials=No...
method validate_search_space (line 399) | def validate_search_space(self, search_space, model_name):
method execute (line 414) | def execute(
method report (line 485) | def report(self, reporter, **kwargs):
method get_hpo_results (line 490) | def get_hpo_results(self, model_name, model_path_root, **kwargs):
class CustomHpoExecutor (line 514) | class CustomHpoExecutor(HpoExecutor):
method __init__ (line 517) | def __init__(self):
method executor_type (line 523) | def executor_type(self):
method time_limit (line 527) | def time_limit(self):
method time_limit (line 531) | def time_limit(self, value):
method initialize (line 536) | def initialize(self, hyperparameter_tune_kwargs, default_num_trials=No...
method register_resources (line 556) | def register_resources(self, initialized_model, **kwargs):
method validate_search_space (line 566) | def validate_search_space(self, search_space, model_name):
method execute (line 579) | def execute(self, model_trial, train_fn_kwargs, **kwargs):
method report (line 593) | def report(self, reporter, **kwargs):
method get_hpo_results (line 597) | def get_hpo_results(self, model_name, model_path_root, time_start, **k...
class HpoExecutorFactory (line 639) | class HpoExecutorFactory:
method get_hpo_executor (line 648) | def get_hpo_executor(hpo_executor: str) -> HpoExecutor:
FILE: core/src/autogluon/core/hpo/ray_hpo.py
class RayTuneAdapter (line 34) | class RayTuneAdapter(ABC):
method __init__ (line 48) | def __init__(self):
method adapter_type (line 56) | def adapter_type(self):
method get_supported_searchers (line 59) | def get_supported_searchers(self) -> list:
method get_supported_schedulers (line 67) | def get_supported_schedulers(self) -> list:
method check_user_provided_resources_per_trial (line 75) | def check_user_provided_resources_per_trial(self, resources_per_trial:...
method get_resource_calculator (line 80) | def get_resource_calculator(self, **kwargs) -> ResourceCalculator:
method update_resource_info (line 84) | def update_resource_info(self, resources_info: dict):
method get_resources_per_trial (line 91) | def get_resources_per_trial(
method trainable_args_update_method (line 136) | def trainable_args_update_method(trainable_args: dict) -> dict:
function run (line 144) | def run(
function cleanup_trials (line 302) | def cleanup_trials(save_dir: str, trials_to_keep: Optional[List[str]]):
function cleanup_checkpoints (line 322) | def cleanup_checkpoints(save_dir):
function _trial_name_creator (line 341) | def _trial_name_creator(trial):
function _trial_dirname_creator (line 345) | def _trial_dirname_creator(trial):
function _validate_resources_per_trial (line 349) | def _validate_resources_per_trial(resources_per_trial):
function _convert_search_space (line 358) | def _convert_search_space(search_space: dict):
function _get_searcher (line 377) | def _get_searcher(
function _get_scheduler (line 413) | def _get_scheduler(hyperparameter_tune_kwargs: dict, supported_scheduler...
class TabularRayTuneAdapter (line 442) | class TabularRayTuneAdapter(RayTuneAdapter):
method adapter_type (line 447) | def adapter_type(self):
method get_resource_calculator (line 450) | def get_resource_calculator(self, num_gpus, **kwargs) -> ResourceCalcu...
method trainable_args_update_method (line 453) | def trainable_args_update_method(self, trainable_args: dict) -> dict:
class AutommRayTuneAdapter (line 465) | class AutommRayTuneAdapter(RayTuneAdapter):
method __init__ (line 469) | def __init__(self):
method adapter_type (line 473) | def adapter_type(self):
method check_user_provided_resources_per_trial (line 476) | def check_user_provided_resources_per_trial(self, resources_per_trial:...
method get_resource_calculator (line 485) | def get_resource_calculator(self, num_gpus: float):
method trainable_args_update_method (line 490) | def trainable_args_update_method(self, trainable_args: dict) -> dict:
class TimeSeriesRayTuneAdapter (line 497) | class TimeSeriesRayTuneAdapter(TabularRayTuneAdapter):
method adapter_type (line 502) | def adapter_type(self):
class RayTuneAdapterFactory (line 506) | class RayTuneAdapterFactory:
method get_adapter (line 516) | def get_adapter(adapter_type: str) -> RayTuneAdapter:
FILE: core/src/autogluon/core/hpo/ray_tune_scheduler.py
class AvgEarlyStopFIFOScheduler (line 6) | class AvgEarlyStopFIFOScheduler(FIFOScheduler):
method __init__ (line 7) | def __init__(self, time_limit=None, **kwargs):
method on_trial_complete (line 14) | def on_trial_complete(self, trial_runner, trial, result):
method choose_trial_to_run (line 20) | def choose_trial_to_run(self, trial_runner):
method avg_time (line 29) | def avg_time(self):
FILE: core/src/autogluon/core/hpo/ray_tune_scheduler_factory.py
class SchedulerFactory (line 4) | class SchedulerFactory:
method get_scheduler (line 29) | def get_scheduler(scheduler_name: str, user_init_args, **kwargs):
FILE: core/src/autogluon/core/hpo/ray_tune_searcher_factory.py
class SearcherFactory (line 5) | class SearcherFactory:
method get_searcher (line 27) | def get_searcher(searcher_name: str, user_init_args, **kwargs):
FILE: core/src/autogluon/core/hpo/space_converter.py
class RaySpaceConverter (line 8) | class RaySpaceConverter(ABC):
method space_type (line 11) | def space_type(self):
method convert (line 17) | def convert(space):
class RayCategoricalSpaceConverter (line 22) | class RayCategoricalSpaceConverter(RaySpaceConverter):
method space_type (line 24) | def space_type(self):
method convert (line 28) | def convert(space):
class RayRealSpaceConverter (line 33) | class RayRealSpaceConverter(RaySpaceConverter):
method space_type (line 35) | def space_type(self):
method convert (line 39) | def convert(space):
class RayIntSpaceConverter (line 48) | class RayIntSpaceConverter(RaySpaceConverter):
method space_type (line 50) | def space_type(self):
method convert (line 54) | def convert(space):
class RayBoolSpaceConverter (line 59) | class RayBoolSpaceConverter(RayIntSpaceConverter):
method space_type (line 61) | def space_type(self):
class RaySpaceConverterFactory (line 65) | class RaySpaceConverterFactory:
method get_space_converter (line 76) | def get_space_converter(converter_type: str) -> RaySpaceConverter:
FILE: core/src/autogluon/core/learner/abstract_learner.py
class AbstractLearner (line 11) | class AbstractLearner:
method __init__ (line 23) | def __init__(self, path_context: str, random_state: int = 0, **kwargs):
method create_contexts (line 47) | def create_contexts(self, path_context: str):
method set_contexts (line 59) | def set_contexts(self, path_context: str):
method is_fit (line 65) | def is_fit(self):
method fit (line 68) | def fit(self, *args, **kwargs):
method predict (line 71) | def predict(self, *args, **kwargs):
method score (line 74) | def score(self, *args, **kwargs):
method leaderboard (line 77) | def leaderboard(self, *args, **kwargs):
method save (line 80) | def save(self):
method load (line 91) | def load(cls, path_context, reset_paths=True):
method save_trainer (line 105) | def save_trainer(self, trainer):
method load_trainer (line 113) | def load_trainer(self) -> AbstractTrainer:
method load_info (line 127) | def load_info(cls, path, reset_paths=True, load_model_if_required=True):
method save_info (line 138) | def save_info(self, include_model_info=False):
method get_info (line 145) | def get_info(self, **kwargs):
FILE: core/src/autogluon/core/learning_curves/plot_curves.py
function plot_curves (line 10) | def plot_curves(learning_curves: tuple[dict, dict], model: str, metric: ...
FILE: core/src/autogluon/core/metrics/__init__.py
class Scorer (line 23) | class Scorer(object, metaclass=ABCMeta):
method __init__ (line 56) | def __init__(
method __call__ (line 78) | def __call__(self, y_true, y_pred, sample_weight=None, **kwargs) -> fl...
method error (line 113) | def error(self, *args, **kwargs) -> float:
method convert_score_to_error (line 123) | def convert_score_to_error(self, score: float) -> float:
method convert_error_to_score (line 131) | def convert_error_to_score(self, error: float) -> float:
method optimum (line 140) | def optimum(self) -> float:
method _score (line 147) | def _score(self, y_true, y_pred, **kwargs) -> float:
method add_alias (line 151) | def add_alias(self, alias):
method greater_is_better (line 159) | def greater_is_better(self) -> bool:
method greater_is_better_internal (line 172) | def greater_is_better_internal(self) -> bool:
method convert_score_to_original (line 186) | def convert_score_to_original(self, score: float) -> float:
method _preprocess (line 191) | def _preprocess(self, y_true, y_pred, **kwargs):
method __repr__ (line 194) | def __repr__(self) -> str:
method needs_pred (line 199) | def needs_pred(self) -> bool:
method needs_proba (line 205) | def needs_proba(self) -> bool:
method needs_class (line 211) | def needs_class(self) -> bool:
method needs_threshold (line 217) | def needs_threshold(self) -> bool:
method needs_quantile (line 223) | def needs_quantile(self) -> bool:
method needs_pos_label (line 228) | def needs_pos_label(self) -> bool:
class _PredictScorer (line 239) | class _PredictScorer(Scorer):
method _preprocess (line 240) | def _preprocess(self, y_true, y_pred, **kwargs):
method needs_pred (line 262) | def needs_pred(self):
method needs_proba (line 266) | def needs_proba(self):
method needs_class (line 270) | def needs_class(self) -> bool:
method needs_threshold (line 274) | def needs_threshold(self):
method needs_quantile (line 278) | def needs_quantile(self):
class _ClassScorer (line 282) | class _ClassScorer(Scorer):
method _preprocess (line 283) | def _preprocess(self, y_true, y_pred, **kwargs):
method needs_pred (line 303) | def needs_pred(self):
method needs_proba (line 307) | def needs_proba(self):
method needs_class (line 311) | def needs_class(self) -> bool:
method needs_threshold (line 315) | def needs_threshold(self):
method needs_quantile (line 319) | def needs_quantile(self):
class _ProbaScorer (line 323) | class _ProbaScorer(Scorer):
method _preprocess (line 324) | def _preprocess(self, y_true, y_pred, **kwargs):
method needs_pred (line 328) | def needs_pred(self):
method needs_proba (line 332) | def needs_proba(self):
method needs_class (line 336) | def needs_class(self) -> bool:
method needs_threshold (line 340) | def needs_threshold(self):
method needs_quantile (line 344) | def needs_quantile(self):
class _ThresholdScorer (line 348) | class _ThresholdScorer(Scorer):
method _preprocess (line 349) | def _preprocess(self, y_true, y_pred, **kwargs):
method needs_pred (line 366) | def needs_pred(self):
method needs_proba (line 370) | def needs_proba(self):
method needs_class (line 374) | def needs_class(self) -> bool:
method needs_threshold (line 378) | def needs_threshold(self):
method needs_quantile (line 382) | def needs_quantile(self):
class _QuantileScorer (line 386) | class _QuantileScorer(Scorer):
method _preprocess (line 387) | def _preprocess(self, y_true, y_pred, **kwargs):
method needs_pred (line 406) | def needs_pred(self):
method needs_proba (line 410) | def needs_proba(self):
method needs_class (line 414) | def needs_class(self) -> bool:
method needs_threshold (line 418) | def needs_threshold(self):
method needs_quantile (line 422) | def needs_quantile(self):
function _add_scorer_to_metric_dict (line 426) | def _add_scorer_to_metric_dict(metric_dict, scorer):
function make_scorer (line 441) | def make_scorer(
function smape_func (line 597) | def smape_func(y_true, y_pred) -> float:
function local_spearmanr (line 608) | def local_spearmanr(y_true, y_pred):
function local_pearsonr (line 615) | def local_pearsonr(y_true, y_pred):
function rmse_func (line 622) | def rmse_func(y_true, y_pred, **kwargs):
function customized_log_loss (line 662) | def customized_log_loss(y_true, y_pred, eps=1e-15):
function customized_roc_auc (line 693) | def customized_roc_auc(y_true, y_pred, **kwargs):
function _get_valid_metric_problem_types (line 793) | def _get_valid_metric_problem_types(metric: str):
function get_metric (line 801) | def get_metric(metric, problem_type: str = None, metric_type: str = None...
FILE: core/src/autogluon/core/metrics/classification_metrics.py
function balanced_accuracy (line 27) | def balanced_accuracy(solution, prediction):
function pac (line 87) | def pac(solution, prediction):
function confusion_matrix (line 274) | def confusion_matrix(solution, prediction, labels=None, weights=None, no...
function quadratic_kappa (line 351) | def quadratic_kappa(y_true, y_pred):
function customized_binary_roc_auc_score (line 390) | def customized_binary_roc_auc_score(
FILE: core/src/autogluon/core/metrics/quantile_metrics.py
function pinball_loss (line 10) | def pinball_loss(target_value, quantile_values, quantile_levels, sample_...
FILE: core/src/autogluon/core/metrics/score_func.py
function compute_metric (line 15) | def compute_metric(
FILE: core/src/autogluon/core/metrics/softclass_metrics.py
function _soft_log_loss (line 14) | def _soft_log_loss(true_probs, predicted_probs):
FILE: core/src/autogluon/core/models/_utils.py
function get_early_stopping_rounds (line 5) | def get_early_stopping_rounds(
FILE: core/src/autogluon/core/models/abstract/abstract_model.py
class Taggable (line 72) | class Taggable(ABC):
method _class_tags (line 74) | def _class_tags(cls) -> dict:
method _more_tags (line 77) | def _more_tags(self) -> dict:
method _get_tags (line 80) | def _get_tags(self) -> dict:
method _get_class_tags (line 98) | def _get_class_tags(cls) -> dict:
class Tunable (line 117) | class Tunable(ABC):
method estimate_memory_usage (line 118) | def estimate_memory_usage(self, *args, **kwargs) -> float | None:
method get_minimum_resources (line 124) | def get_minimum_resources(self, is_gpu_available: bool = False) -> dic...
method _get_model_base (line 131) | def _get_model_base(self) -> "Tunable":
method get_params (line 135) | def get_params(self) -> dict:
method hyperparameter_tune (line 142) | def hyperparameter_tune(self, *args, **kwargs) -> tuple:
class ModelBase (line 146) | class ModelBase(Taggable, ABC):
method __init__ (line 148) | def __init__(
method rename (line 158) | def rename(self, name: str) -> None:
method get_info (line 162) | def get_info(self, *args, **kwargs) -> dict[str, Any]:
method fit (line 166) | def fit(self, *args, **kwargs) -> Self:
method predict (line 170) | def predict(self, *args, **kwargs) -> Any:
method save (line 174) | def save(self, path: str | None = None, verbose: bool = True) -> str:
method load (line 179) | def load(cls, path: str, reset_paths: bool = True) -> Self:
class AbstractModel (line 184) | class AbstractModel(ModelBase, Tunable):
method __init__ (line 240) | def __init__(
method _init_user_params (line 324) | def _init_user_params(
method _init_params (line 395) | def _init_params(self):
method _init_params_aux (line 408) | def _init_params_aux(self):
method _get_params_aux (line 417) | def _get_params_aux(self) -> dict:
method _validate_params (line 426) | def _validate_params(self):
method _validate_params_aux (line 432) | def _validate_params_aux(self):
method path_suffix (line 442) | def path_suffix(self) -> str:
method is_valid (line 445) | def is_valid(self) -> bool:
method is_initialized (line 452) | def is_initialized(self) -> bool:
method can_infer (line 460) | def can_infer(self) -> bool:
method is_fit (line 464) | def is_fit(self) -> bool:
method can_fit (line 468) | def can_fit(self) -> bool:
method can_predict_proba (line 472) | def can_predict_proba(self) -> bool:
method can_estimate_memory_usage_static (line 477) | def can_estimate_memory_usage_static(self) -> bool:
method can_estimate_memory_usage_static_child (line 484) | def can_estimate_memory_usage_static_child(self) -> bool:
method can_estimate_memory_usage_static_lite (line 491) | def can_estimate_memory_usage_static_lite(self) -> bool:
method _set_default_params (line 499) | def _set_default_params(self):
method _set_default_auxiliary_params (line 502) | def _set_default_auxiliary_params(self):
method _get_default_auxiliary_params (line 513) | def _get_default_auxiliary_params(self) -> dict:
method _set_default_param_value (line 546) | def _set_default_param_value(self, param_name, param_value, params=None):
method _get_default_searchspace (line 552) | def _get_default_searchspace(self) -> dict:
method _get_search_space (line 562) | def _get_search_space(self):
method set_contexts (line 575) | def set_contexts(self, path_context):
method create_contexts (line 580) | def create_contexts(path_context: str) -> str:
method rename (line 584) | def rename(self, name: str):
method preprocess (line 592) | def preprocess(self, X, preprocess_nonadaptive: bool = True, preproces...
method _preprocess_align_features (line 607) | def _preprocess_align_features(self, X: pd.DataFrame, **kwargs):
method _preprocess_model_specific (line 613) | def _preprocess_model_specific(self, X: pd.DataFrame, **kwargs) -> pd....
method _preprocess (line 648) | def _preprocess(self, X: pd.DataFrame, **kwargs):
method _preprocess_nonadaptive (line 663) | def _preprocess_nonadaptive(self, X: pd.DataFrame, **kwargs) -> pd.Dat...
method _preprocess_set_features (line 677) | def _preprocess_set_features(self, X: pd.DataFrame, feature_metadata: ...
method _preprocess_set_features_internal (line 732) | def _preprocess_set_features_internal(self, X: pd.DataFrame, feature_m...
method _get_valid_features (line 766) | def _get_valid_features(self, feature_metadata: FeatureMetadata = None...
method _update_feature_metadata (line 792) | def _update_feature_metadata(self, X: pd.DataFrame, feature_metadata: ...
method _infer_feature_metadata (line 799) | def _infer_feature_metadata(self, X: pd.DataFrame) -> FeatureMetadata:
method _preprocess_fit_args (line 802) | def _preprocess_fit_args(self, **kwargs) -> dict:
method initialize (line 837) | def initialize(self, **kwargs) -> dict:
method _infer_problem_type (line 848) | def _infer_problem_type(cls, *, y: pd.Series, silent: bool = True) -> ...
method _infer_num_classes (line 853) | def _infer_num_classes(cls, *, y: pd.Series, problem_type: str = None)...
method _initialize (line 860) | def _initialize(self, X=None, y=None, feature_metadata=None, num_class...
method _init_misc (line 881) | def _init_misc(self, **kwargs):
method _process_user_provided_resource_requirement_to_calculate_total_resource_when_ensemble (line 905) | def _process_user_provided_resource_requirement_to_calculate_total_res...
method _calculate_total_resources (line 939) | def _calculate_total_resources(
method _preprocess_fit_resources (line 1086) | def _preprocess_fit_resources(
method _register_fit_metadata (line 1139) | def _register_fit_metadata(self, **kwargs):
method _compute_fit_metadata (line 1147) | def _compute_fit_metadata(
method get_fit_metadata (line 1165) | def get_fit_metadata(self) -> dict:
method _get_child_aux_val (line 1176) | def _get_child_aux_val(self, key: str, default=None):
method fit (line 1184) | def fit(
method validate_fit_args (line 1332) | def validate_fit_args(self, X: pd.DataFrame, feature_metadata: Feature...
method _post_fit (line 1399) | def _post_fit(self, **kwargs):
method get_features (line 1435) | def get_features(self) -> list[str]:
method _fit (line 1442) | def _fit(
method init_random_seed (line 1475) | def init_random_seed(self, random_seed: int | None | str, hyperparamet...
method _get_random_seed_from_hyperparameters (line 1520) | def _get_random_seed_from_hyperparameters(self, hyperparameters: dict)...
method _apply_temperature_scaling (line 1548) | def _apply_temperature_scaling(self, y_pred_proba: np.ndarray) -> np.n...
method _apply_conformalization (line 1555) | def _apply_conformalization(self, y_pred: np.ndarray) -> np.ndarray:
method predict (line 1564) | def predict(self, X, **kwargs) -> np.ndarray:
method predict_proba (line 1574) | def predict_proba(
method _predict_proba_batch (line 1617) | def _predict_proba_batch(
method _predict_proba_internal (line 1637) | def _predict_proba_internal(self, X, *, normalize: bool | None = None,...
method predict_from_proba (line 1646) | def predict_from_proba(self, y_pred_proba: np.ndarray) -> np.ndarray:
method _predict_proba (line 1670) | def _predict_proba(self, X, **kwargs) -> np.ndarray:
method _convert_proba_to_unified_form (line 1682) | def _convert_proba_to_unified_form(self, y_pred_proba: np.ndarray) -> ...
method score (line 1706) | def score(
method score_with_y_pred_proba (line 1735) | def score_with_y_pred_proba(
method save (line 1760) | def save(self, path: str | None = None, verbose: bool = True) -> str:
method load (line 1796) | def load(cls, path: str, reset_paths: bool = True, verbose: bool = True):
method save_learning_curves (line 1827) | def save_learning_curves(
method _make_learning_curves (line 1901) | def _make_learning_curves(
method load_learning_curves (line 1939) | def load_learning_curves(cls, path: str) -> list:
method compute_feature_importance (line 1969) | def compute_feature_importance(
method _compute_permutation_importance (line 2041) | def _compute_permutation_importance(
method can_compile (line 2073) | def can_compile(self, compiler_configs: dict = None) -> bool:
method compile (line 2099) | def compile(self, compiler_configs: dict = None):
method _compile (line 2126) | def _compile(self, **kwargs):
method _get_input_types (line 2133) | def _get_input_types(self, batch_size=None) -> list:
method _default_compiler (line 2156) | def _default_compiler(cls):
method _valid_compilers (line 2161) | def _valid_compilers(cls) -> list:
method _get_compiler (line 2165) | def _get_compiler(self, compiler: str = None, compiler_fallback_to_nat...
method get_compiler_name (line 2195) | def get_compiler_name(self) -> str:
method get_trained_params (line 2202) | def get_trained_params(self) -> dict:
method convert_to_refit_full_via_copy (line 2212) | def convert_to_refit_full_via_copy(self):
method get_params (line 2224) | def get_params(self) -> dict:
method get_hyperparameters_init (line 2242) | def get_hyperparameters_init(self) -> dict:
method convert_to_template (line 2256) | def convert_to_template(self):
method convert_to_refit_full_template (line 2267) | def convert_to_refit_full_template(self):
method hyperparameter_tune (line 2293) | def hyperparameter_tune(
method _hyperparameter_tune (line 2366) | def _hyperparameter_tune(
method _get_hpo_backend (line 2457) | def _get_hpo_backend(self) -> str:
method _get_default_hpo_executor (line 2463) | def _get_default_hpo_executor(self) -> HpoExecutor:
method _path_v2 (line 2479) | def _path_v2(self) -> str:
method reset_metrics (line 2484) | def reset_metrics(self):
method disk_usage (line 2495) | def disk_usage(self) -> int:
method get_memory_size (line 2503) | def get_memory_size(self, allow_exception: bool = False) -> int | None:
method _get_memory_size (line 2533) | def _get_memory_size(self) -> int:
method _estimate_dtypes_after_preprocessing_cheap (line 2538) | def _estimate_dtypes_after_preprocessing_cheap(
method estimate_memory_usage (line 2567) | def estimate_memory_usage(self, X: pd.DataFrame, **kwargs) -> int:
method estimate_memory_usage_static_lite (line 2619) | def estimate_memory_usage_static_lite(
method estimate_memory_usage_static (line 2638) | def estimate_memory_usage_static(
method estimate_memory_usage_child (line 2683) | def estimate_memory_usage_child(self, X: pd.DataFrame, **kwargs) -> int:
method estimate_memory_usage_static_child (line 2701) | def estimate_memory_usage_static_child(
method validate_fit_resources (line 2742) | def validate_fit_resources(self, num_cpus="auto", num_gpus="auto", tot...
method _validate_fit_resources (line 2752) | def _validate_fit_resources(self, **resources):
method get_minimum_resources (line 2772) | def get_minimum_resources(self, is_gpu_available: bool = False) -> dic...
method _estimate_memory_usage (line 2789) | def _estimate_memory_usage(self, X: pd.DataFrame, **kwargs) -> int:
method _estimate_memory_usage_static (line 2810) | def _estimate_memory_usage_static(
method _validate_fit_memory_usage (line 2821) | def _validate_fit_memory_usage(
method reduce_memory_size (line 2926) | def reduce_memory_size(
method delete_from_disk (line 2939) | def delete_from_disk(self, silent: bool = False):
method get_info (line 2955) | def get_info(self, include_feature_metadata: bool = True) -> dict:
method get_params_aux_info (line 2993) | def get_params_aux_info(self) -> dict:
method load_info (line 3009) | def load_info(cls, path: str, load_model_if_required: bool = True) -> ...
method save_info (line 3022) | def save_info(self) -> dict:
method predict_n_size (line 3031) | def predict_n_size(self) -> int | None:
method predict_n_time_per_row (line 3038) | def predict_n_time_per_row(self) -> float | None:
method record_predict_info (line 3047) | def record_predict_info(self, X: pd.DataFrame):
method _init_preprocessor (line 3059) | def _init_preprocessor(
method _recursive_init_preprocessors (line 3082) | def _recursive_init_preprocessors(self, prep_param: tuple | list[list ...
method get_preprocessor (line 3114) | def get_preprocessor(self, ag_params: dict | None = None) -> AbstractF...
method _get_maximum_resources (line 3150) | def _get_maximum_resources(self) -> dict[str, int | float]:
method _get_default_resources (line 3164) | def _get_default_resources(self) -> tuple[int, float]:
method _get_default_ag_args (line 3176) | def _get_default_ag_args(cls) -> dict:
method _get_default_ag_args_ensemble (line 3186) | def _get_default_ag_args_ensemble(cls, **kwargs) -> dict:
method supported_problem_types (line 3194) | def supported_problem_types(cls) -> list[str] | None:
method _get_default_stopping_metric (line 3202) | def _get_default_stopping_metric(self) -> Scorer:
method _get_params (line 3218) | def _get_params(self) -> dict:
method _get_ag_params (line 3222) | def _get_ag_params(self, params_aux: dict | None = None) -> dict:
method _get_model_params (line 3237) | def _get_model_params(self, convert_search_spaces_to_default: bool = F...
method _get_model_params_static (line 3258) | def _get_model_params_static(cls, hyperparameters: dict, convert_searc...
method _ag_params (line 3283) | def _ag_params(self) -> set[str]:
method _ag_params_common (line 3313) | def _ag_params_common(cls) -> set[str]:
method _features (line 3344) | def _features(self) -> list[str]:
method _get_model_base (line 3347) | def _get_model_base(self):
method fit_num_cpus (line 3351) | def fit_num_cpus(self) -> int:
method fit_num_gpus (line 3356) | def fit_num_gpus(self) -> float:
method fit_num_cpus_child (line 3361) | def fit_num_cpus_child(self) -> int:
method fit_num_gpus_child (line 3366) | def fit_num_gpus_child(self) -> float:
method get_ag_priority (line 3371) | def get_ag_priority(cls, problem_type: str | None = None) -> int:
method _class_tags (line 3382) | def _class_tags(cls) -> dict:
FILE: core/src/autogluon/core/models/abstract/abstract_nn_model.py
class AbstractNeuralNetworkModel (line 12) | class AbstractNeuralNetworkModel(AbstractModel):
method __init__ (line 13) | def __init__(self, **kwargs):
method _get_types_of_features (line 18) | def _get_types_of_features(
FILE: core/src/autogluon/core/models/abstract/model_trial.py
function model_trial (line 12) | def model_trial(
function init_model (line 66) | def init_model(args, model_cls, init_params, backend, is_bagged_model=Fa...
function fit_and_save_model (line 95) | def fit_and_save_model(model, fit_args, predict_proba_args, y_val, time_...
function skip_hpo (line 130) | def skip_hpo(model, X, y, X_val, y_val, time_limit=None, **kwargs):
FILE: core/src/autogluon/core/models/dummy/_dummy_quantile_regressor.py
class DummyQuantileRegressor (line 4) | class DummyQuantileRegressor:
method __init__ (line 7) | def __init__(self, quantile_levels: list):
method fit (line 11) | def fit(self, X, y):
method predict (line 19) | def predict(self, X):
FILE: core/src/autogluon/core/models/dummy/dummy_model.py
class DummyModel (line 10) | class DummyModel(AbstractModel):
method _get_model_type (line 19) | def _get_model_type(self):
method preprocess (line 31) | def preprocess(self, X: pd.DataFrame, **kwargs):
method _fit (line 34) | def _fit(self, X, y, **kwargs):
method supported_problem_types (line 48) | def supported_problem_types(cls) -> list[str] | None:
FILE: core/src/autogluon/core/models/ensemble/bagged_ensemble_model.py
class BaggedEnsembleModel (line 44) | class BaggedEnsembleModel(AbstractModel):
method __init__ (line 66) | def __init__(
method _set_default_params (line 114) | def _set_default_params(self):
method _get_default_auxiliary_params (line 131) | def _get_default_auxiliary_params(self) -> dict:
method is_valid (line 139) | def is_valid(self) -> bool:
method can_infer (line 142) | def can_infer(self) -> bool:
method is_stratified (line 145) | def is_stratified(self) -> bool:
method is_binned (line 161) | def is_binned(self) -> bool:
method is_fit (line 171) | def is_fit(self) -> bool:
method can_fit (line 174) | def can_fit(self) -> bool:
method can_estimate_memory_usage_static_child (line 185) | def can_estimate_memory_usage_static_child(self) -> bool:
method n_children (line 193) | def n_children(self) -> int:
method is_valid_oof (line 197) | def is_valid_oof(self) -> bool:
method predict_proba_oof (line 200) | def predict_proba_oof(self, **kwargs) -> np.array:
method _predict_proba_oof (line 205) | def _predict_proba_oof(oof_pred_proba, oof_pred_model_repeats, return_...
method _init_misc (line 211) | def _init_misc(self, **kwargs):
method preprocess (line 220) | def preprocess(self, X: pd.DataFrame, preprocess_nonadaptive: bool = T...
method _get_cv_splitter (line 231) | def _get_cv_splitter(self, n_splits: int, n_repeats: int, groups=None)...
method _fit (line 242) | def _fit(
method validate_fit_args (line 442) | def validate_fit_args(self, X: pd.DataFrame, **kwargs):
method _update_k_fold (line 447) | def _update_k_fold(self, k_fold: int, k_fold_end: int = None, verbose:...
method _get_child_aux_val (line 462) | def _get_child_aux_val(self, key: str, default=None):
method _validate_bag_kwargs (line 466) | def _validate_bag_kwargs(
method predict_proba_children (line 539) | def predict_proba_children(
method predict_children (line 583) | def predict_children(
method _predict_proba_internal (line 627) | def _predict_proba_internal(self, X, *, normalize: bool | None = None,...
method _predict_proba (line 637) | def _predict_proba(self, X, normalize=False, **kwargs) -> np.ndarray:
method score_with_oof (line 640) | def score_with_oof(self, y, sample_weight=None):
method _fit_single (line 649) | def _fit_single(
method _set_n_repeat_single (line 770) | def _set_n_repeat_single(self):
method _get_default_fold_fitting_strategy (line 777) | def _get_default_fold_fitting_strategy(self):
method _get_fold_fitting_strategy (line 791) | def _get_fold_fitting_strategy(self, model_base, num_gpus):
method _fit_folds (line 821) | def _fit_folds(
method _generate_fold_configs (line 963) | def _generate_fold_configs(
method estimate_memory_usage_child (line 1021) | def estimate_memory_usage_child(self, **kwargs) -> int:
method estimate_memory_usage_static_child (line 1031) | def estimate_memory_usage_static_child(self, **kwargs) -> int:
method compute_feature_importance (line 1043) | def compute_feature_importance(
method get_features (line 1160) | def get_features(self) -> list[str]:
method load_child (line 1164) | def load_child(self, model: AbstractModel | str, verbose: bool = False...
method add_child (line 1171) | def add_child(self, model: AbstractModel | str, add_child_times: bool ...
method save_child (line 1206) | def save_child(self, model: AbstractModel | str, path: str | None = No...
method can_compile (line 1214) | def can_compile(self, compiler_configs=None):
method compile (line 1220) | def compile(self, compiler_configs=None):
method get_compiler_name (line 1228) | def get_compiler_name(self) -> str:
method convert_to_refit_full_template (line 1233) | def convert_to_refit_full_template(self, name_suffix: str = REFIT_FULL...
method convert_to_refit_full_template_child (line 1256) | def convert_to_refit_full_template_child(self) -> AbstractModel:
method convert_to_refit_full_via_copy (line 1264) | def convert_to_refit_full_via_copy(self) -> AbstractModel:
method get_params (line 1287) | def get_params(self) -> dict:
method get_hyperparameters_init_child (line 1297) | def get_hyperparameters_init_child(
method convert_to_template_child (line 1321) | def convert_to_template_child(self):
method _get_compressed_params (line 1324) | def _get_compressed_params(self, model_params_list=None) -> dict:
method _get_compressed_params_trained (line 1349) | def _get_compressed_params_trained(self):
method _get_model_base (line 1353) | def _get_model_base(self) -> AbstractModel:
method _add_child_times_to_bag (line 1359) | def _add_child_times_to_bag(self, model: AbstractModel):
method _add_parallel_child_times (line 1366) | def _add_parallel_child_times(self, fit_time: float, predict_time: flo...
method _add_predict_n_size (line 1382) | def _add_predict_n_size(self, predict_n_size_lst: list[float]):
method _add_child_num_cpus (line 1387) | def _add_child_num_cpus(self, num_cpus: int):
method _add_child_num_gpus (line 1392) | def _add_child_num_gpus(self, num_gpus: float):
method fit_num_cpus_child (line 1398) | def fit_num_cpus_child(self) -> int:
method fit_num_gpus_child (line 1406) | def fit_num_gpus_child(self) -> float:
method predict_n_size (line 1414) | def predict_n_size(self) -> float | None:
method load (line 1422) | def load(
method load_oof (line 1433) | def load_oof(cls, path: str, verbose: bool = True) -> np.array:
method _load_oof (line 1445) | def _load_oof(self):
method persist_child_models (line 1453) | def persist_child_models(self, reset_paths: bool = True):
method unpersist_child_models (line 1460) | def unpersist_child_models(self):
method _get_child_model_names (line 1463) | def _get_child_model_names(self, models: list[str | AbstractModel]) ->...
method load_model_base (line 1472) | def load_model_base(self) -> AbstractModel:
method save_model_base (line 1475) | def save_model_base(self, model_base: AbstractModel):
method save (line 1478) | def save(self, path: str = None, verbose: bool = True, save_oof: bool ...
method reduce_memory_size (line 1506) | def reduce_memory_size(
method _model_names (line 1545) | def _model_names(self) -> list[str]:
method get_info (line 1548) | def get_info(self, include_feature_metadata: bool = True):
method get_memory_size (line 1603) | def get_memory_size(self, allow_exception: bool = False) -> int | None:
method validate_fit_resources (line 1610) | def validate_fit_resources(self, **kwargs):
method get_minimum_resources (line 1613) | def get_minimum_resources(self, **kwargs) -> dict[str, int]:
method _get_default_resources (line 1616) | def _get_default_resources(self):
method _validate_fit_memory_usage (line 1619) | def _validate_fit_memory_usage(self, **kwargs) -> tuple[int | None, in...
method _get_child_info (line 1623) | def _get_child_info(self, include_feature_metadata: bool = True) -> dict:
method _construct_empty_oof (line 1635) | def _construct_empty_oof(self, X: pd.DataFrame, y: pd.Series) -> tuple...
method _hyperparameter_tune (line 1647) | def _hyperparameter_tune(
method _more_tags (line 1751) | def _more_tags(self) -> dict:
method _get_tags_child (line 1757) | def _get_tags_child(self) -> dict:
FILE: core/src/autogluon/core/models/ensemble/fold_fitting_strategy.py
class AbstractFoldFittingStrategy (line 52) | class AbstractFoldFittingStrategy:
method schedule_fold_model_fit (line 54) | def schedule_fold_model_fit(self, fold_ctx):
method after_all_folds_scheduled (line 63) | def after_all_folds_scheduled(self):
method _fit (line 71) | def _fit(self, model_base, time_start_fold, time_limit_fold, fold_ctx,...
class FoldFittingStrategy (line 77) | class FoldFittingStrategy(AbstractFoldFittingStrategy):
method __init__ (line 138) | def __init__(
method schedule_fold_model_fit (line 182) | def schedule_fold_model_fit(self, fold_ctx):
method after_all_folds_scheduled (line 185) | def after_all_folds_scheduled(self):
method _validate_user_specified_resources (line 188) | def _validate_user_specified_resources(self):
method _get_fold_time_limit (line 248) | def _get_fold_time_limit(self, fold_ctx):
method _update_bagged_ensemble (line 266) | def _update_bagged_ensemble(self, fold_model, pred_proba, fold_ctx):
method _predict_oof (line 281) | def _predict_oof(self, fold_model: AbstractModel, fold_ctx) -> Tuple[A...
method _get_fold_properties (line 306) | def _get_fold_properties(fold_ctx):
class SequentialLocalFoldFittingStrategy (line 322) | class SequentialLocalFoldFittingStrategy(FoldFittingStrategy):
method __init__ (line 327) | def __init__(self, **kwargs):
method schedule_fold_model_fit (line 374) | def schedule_fold_model_fit(self, fold_ctx):
method after_all_folds_scheduled (line 377) | def after_all_folds_scheduled(self):
method _fit_fold_model (line 381) | def _fit_fold_model(self, fold_ctx):
method _fit (line 388) | def _fit(self, model_base, time_start_fold, time_limit_fold, fold_ctx,...
function _ray_fit (line 442) | def _ray_fit(
function _ray_predict_oof (line 563) | def _ray_predict_oof(
class ParallelFoldFittingStrategy (line 578) | class ParallelFoldFittingStrategy(FoldFittingStrategy):
method __init__ (line 617) | def __init__(
method mem_est_proportion_per_fold (line 655) | def mem_est_proportion_per_fold(self):
method folds_to_fit_in_parallel_with_mem (line 659) | def folds_to_fit_in_parallel_with_mem(self, user_specified_num_folds_p...
method _estimate_data_memory_usage (line 689) | def _estimate_data_memory_usage(self):
method schedule_fold_model_fit (line 694) | def schedule_fold_model_fit(self, fold_ctx):
method _get_ray_init_args (line 697) | def _get_ray_init_args(self) -> Dict[str, Any]:
method _process_fold_results (line 704) | def _process_fold_results(self, finished, unfinished, fold_ctx):
method _update_bagged_ensemble_times (line 767) | def _update_bagged_ensemble_times(self):
method _update_bagged_ensemble_child_resources (line 776) | def _update_bagged_ensemble_child_resources(self):
method _run_parallel (line 782) | def _run_parallel(self, X, y, X_pseudo, y_pseudo, model_base_ref, time...
method _run_pseudo_sequential (line 819) | def _run_pseudo_sequential(self, X, y, X_pseudo, y_pseudo, model_base_...
method _calculate_gpu_assignment (line 857) | def _calculate_gpu_assignment(self, task_id: int, gpus_per_task: int |...
method after_all_folds_scheduled (line 878) | def after_all_folds_scheduled(self):
method terminate_all_unfinished_tasks (line 901) | def terminate_all_unfinished_tasks(self, unfinished_tasks):
method _fit (line 918) | def _fit(
method _update_bagged_ensemble (line 982) | def _update_bagged_ensemble(
method _get_fold_time_limit (line 1022) | def _get_fold_time_limit(self):
method _get_resource_suggestions (line 1034) | def _get_resource_suggestions(
method _prepare_data (line 1100) | def _prepare_data(self, in_mem=True):
method _parse_ray_error (line 1125) | def _parse_ray_error(self, e):
method sync_model_artifact (line 1164) | def sync_model_artifact(self, local_path: str, model_sync_path: str):
method _sync_model_artifact (line 1178) | def _sync_model_artifact(self, **kwargs):
class ParallelLocalFoldFittingStrategy (line 1182) | class ParallelLocalFoldFittingStrategy(ParallelFoldFittingStrategy):
method _get_ray_init_args (line 1183) | def _get_ray_init_args(self):
class ParallelDistributedFoldFittingStrategy (line 1190) | class ParallelDistributedFoldFittingStrategy(ParallelFoldFittingStrategy):
method __init__ (line 1191) | def __init__(self, **kwargs):
method _sync_model_artifact (line 1200) | def _sync_model_artifact(self, local_path, model_sync_path):
function _json_safe (line 1209) | def _json_safe(x: Any) -> Any:
function encode_exception (line 1217) | def encode_exception(e: BaseException) -> dict[str, Any]:
class UnknownRemoteException (line 1227) | class UnknownRemoteException(RuntimeError):
method __init__ (line 1228) | def __init__(self, exc_type: str, message: str):
function decode_exception (line 1249) | def decode_exception(
FILE: core/src/autogluon/core/models/ensemble/ray_parallel_fold_fitting_strategy.py
function model_fit_task_ray (line 12) | def model_fit_task_ray(X_fold, X_val_fold, fold_model, kwargs_fold, time...
class RayParallelFitter (line 18) | class RayParallelFitter(SequentialLocalFoldFittingStrategy):
method __init__ (line 19) | def __init__(
method schedule_fold_model_fit (line 49) | def schedule_fold_model_fit(self, model_base, fold_ctx, kwargs):
method wait_for_completion (line 60) | def wait_for_completion(self):
FILE: core/src/autogluon/core/models/ensemble/stacker_ensemble_model.py
class StackerEnsembleModel (line 27) | class StackerEnsembleModel(BaggedEnsembleModel):
method __init__ (line 65) | def __init__(
method _update_feature_metadata (line 95) | def _update_feature_metadata(self, X: pd.DataFrame, feature_metadata: ...
method _validate_params (line 135) | def _validate_params(self):
method _get_dynamic_max_base_models_per_type (line 160) | def _get_dynamic_max_base_models_per_type(self, X: pd.DataFrame):
method _infer_feature_metadata (line 188) | def _infer_feature_metadata(self, X: pd.DataFrame) -> FeatureMetadata:
method limit_models_per_type (line 206) | def limit_models_per_type(models, model_types, model_scores, max_base_...
method limit_models (line 220) | def limit_models(self, models, model_scores, max_base_models):
method _set_default_params (line 226) | def _set_default_params(self):
method preprocess (line 237) | def preprocess(self, X, fit=False, compute_base_preds=True, infer=True...
method pred_probas_to_df (line 277) | def pred_probas_to_df(self, pred_proba: list, index=None) -> pd.DataFr...
method _fit (line 287) | def _fit(self, X, y, compute_base_preds=True, time_limit=None, **kwargs):
method set_stack_columns (line 295) | def set_stack_columns(self, stack_column_prefix_lst):
method _hyperparameter_tune (line 315) | def _hyperparameter_tune(self, X, y, k_fold, hpo_executor, compute_bas...
method get_params (line 324) | def get_params(self):
method load_base_model (line 336) | def load_base_model(self, model_name):
method get_info (line 345) | def get_info(self, **kwargs):
method _remove_unused_stack_in_feature_metadata (line 356) | def _remove_unused_stack_in_feature_metadata(self, feature_metadata: F...
FILE: core/src/autogluon/core/models/ensemble/weighted_ensemble_model.py
class WeightedEnsembleModel (line 17) | class WeightedEnsembleModel(StackerEnsembleModel):
method __init__ (line 24) | def __init__(self, **kwargs):
method _fit (line 28) | def _fit(self, X, y, **kwargs):
method _get_model_weights (line 53) | def _get_model_weights(self) -> dict:
method compute_feature_importance (line 66) | def compute_feature_importance(self, X, y, features=None, is_oof=True,...
method _set_default_params (line 87) | def _set_default_params(self):
method _more_tags (line 93) | def _more_tags(self):
FILE: core/src/autogluon/core/models/greedy_ensemble/ensemble_selection.py
class AbstractWeightedEnsemble (line 18) | class AbstractWeightedEnsemble:
method predict (line 19) | def predict(self, X):
method predict_proba (line 23) | def predict_proba(self, X):
method weight_pred_probas (line 27) | def weight_pred_probas(pred_probas, weights):
class EnsembleSelection (line 33) | class EnsembleSelection(AbstractWeightedEnsemble):
method __init__ (line 34) | def __init__(
method fit (line 62) | def fit(
method _fit (line 80) | def _fit(self, predictions: List[np.ndarray], labels: np.ndarray, time...
method _calculate_regret (line 217) | def _calculate_regret(
method _calculate_weights (line 236) | def _calculate_weights(self):
class SimpleWeightedEnsemble (line 249) | class SimpleWeightedEnsemble(AbstractWeightedEnsemble):
method __init__ (line 252) | def __init__(self, weights, problem_type, **kwargs):
method ensemble_size (line 257) | def ensemble_size(self):
FILE: core/src/autogluon/core/models/greedy_ensemble/greedy_weighted_ensemble_model.py
class GreedyWeightedEnsembleModel (line 14) | class GreedyWeightedEnsembleModel(AbstractModel):
method __init__ (line 18) | def __init__(self, base_model_names=None, model_base=EnsembleSelection...
method _set_default_params (line 25) | def _set_default_params(self):
method _get_default_auxiliary_params (line 33) | def _get_default_auxiliary_params(self) -> dict:
method _preprocess_nonadaptive (line 42) | def _preprocess_nonadaptive(self, X, **kwargs):
method _initialize (line 47) | def _initialize(self, **kwargs):
method _fit (line 59) | def _fit(self, X, y, X_val=None, y_val=None, time_limit=None, sample_w...
method convert_pred_probas_df_to_list (line 77) | def convert_pred_probas_df_to_list(self, pred_probas_df) -> list:
method remove_zero_weight_models (line 90) | def remove_zero_weight_models(base_model_names, base_model_weights):
method _set_stack_columns (line 99) | def _set_stack_columns(self, base_model_names):
method _infer_base_model_names (line 112) | def _infer_base_model_names(self):
method _get_model_weights (line 127) | def _get_model_weights(self) -> dict:
method get_info (line 132) | def get_info(self, **kwargs):
method _get_default_ag_args (line 138) | def _get_default_ag_args(cls) -> dict:
method supported_problem_types (line 145) | def supported_problem_types(cls) -> list[str] | None:
method _get_default_stopping_metric (line 148) | def _get_default_stopping_metric(self):
class SimpleWeightedEnsembleModel (line 152) | class SimpleWeightedEnsembleModel(GreedyWeightedEnsembleModel):
method __init__ (line 156) | def __init__(self, model_base=SimpleWeightedEnsemble, **kwargs):
method _fit (line 159) | def _fit(self, **kwargs):
FILE: core/src/autogluon/core/problem_type.py
class ProblemType (line 9) | class ProblemType:
method __init__ (line 26) | def __init__(self, can_predict: bool, can_predict_proba: bool, is_clas...
class ProblemTypeInfo (line 32) | class ProblemTypeInfo:
method __init__ (line 35) | def __init__(self, problem_type_dict: Dict[str, ProblemType]):
method list_problem_types (line 38) | def list_problem_types(self):
method can_predict (line 41) | def can_predict(self, problem_type: str) -> bool:
method can_predict_proba (line 44) | def can_predict_proba(self, problem_type: str) -> bool:
method is_classification (line 47) | def is_classification(self, problem_type: str) -> bool:
method _get_problem_type (line 50) | def _get_problem_type(self, problem_type: str) -> ProblemType:
method list_classification (line 53) | def list_classification(self) -> List[str]:
FILE: core/src/autogluon/core/pseudolabeling/pseudolabeling.py
function sample_bins_uniformly (line 11) | def sample_bins_uniformly(y_pred_proba: pd.DataFrame, df_indexes):
function filter_pseudo (line 58) | def filter_pseudo(
function filter_ensemble_pseudo (line 119) | def filter_ensemble_pseudo(predictor, unlabeled_data: pd.DataFrame, num_...
function filter_pseudo_std_regression (line 158) | def filter_pseudo_std_regression(
function filter_ensemble_classification (line 212) | def filter_ensemble_classification(
function assert_pseudo_column_match (line 260) | def assert_pseudo_column_match(X: pd.DataFrame, X_pseudo: pd.DataFrame):
FILE: core/src/autogluon/core/ray/distributed_jobs_managers.py
class ModelResources (line 21) | class ModelResources:
class ParallelFitManager (line 32) | class ParallelFitManager:
method __init__ (line 72) | def __init__(
method available_num_cpus_virtual (line 157) | def available_num_cpus_virtual(self) -> int:
method total_num_cpus_virtual (line 161) | def total_num_cpus_virtual(self) -> int:
method num_children_model (line 164) | def num_children_model(self, model: AbstractModel) -> int:
method max_mem_per_core (line 171) | def max_mem_per_core(self):
method total_mem_per_core (line 175) | def total_mem_per_core(self):
method schedule_jobs (line 184) | def schedule_jobs(self, *, models_to_fit: list[AbstractModel] | list[s...
method check_sufficient_resources (line 434) | def check_sufficient_resources(self, *, resources: ModelResources) -> ...
method get_resources_for_model (line 448) | def get_resources_for_model(self, *, model: AbstractModel | str) -> Mo...
method get_memory_estimate_for_model_child (line 458) | def get_memory_estimate_for_model_child(self, *, model: AbstractModel)...
method get_memory_estimate_for_model (line 500) | def get_memory_estimate_for_model(
method get_resources_for_model_refit (line 517) | def get_resources_for_model_refit(self, model: str) -> ModelResources:
method get_resources_for_model_fit (line 547) | def get_resources_for_model_fit(self, *, model: AbstractModel) -> Mode...
method allocate_resources (line 591) | def allocate_resources(
method deallocate_resources (line 603) | def deallocate_resources(self, *, job_ref: str) -> None:
method clean_unfinished_job_refs (line 614) | def clean_unfinished_job_refs(self, *, unfinished_job_refs: list[str] ...
method clean_job_state (line 624) | def clean_job_state(self, *, unfinished_job_refs: list[str] | None = N...
method clean_up_ray (line 636) | def clean_up_ray(self, *, unfinished_job_refs: list[str] | None = None...
function prepare_model_resources_for_fit (line 648) | def prepare_model_resources_for_fit(
FILE: core/src/autogluon/core/ray/resources_calculator.py
class ResourceCalculator (line 10) | class ResourceCalculator(ABC):
method calc_type (line 13) | def calc_type(self):
method get_resources_per_job (line 18) | def get_resources_per_job(self, **kwargs) -> dict:
method wrap_resources_per_job_into_placement_group (line 22) | def wrap_resources_per_job_into_placement_group(self, resources_per_job):
class CpuResourceCalculator (line 40) | class CpuResourceCalculator(ResourceCalculator):
method calc_type (line 42) | def calc_type(self):
method get_resources_per_job (line 45) | def get_resources_per_job(
class GpuResourceCalculator (line 106) | class GpuResourceCalculator(ResourceCalculator):
method calc_type (line 108) | def calc_type(self):
method get_resources_per_job (line 111) | def get_resources_per_job(
class NonParallelGpuResourceCalculator (line 173) | class NonParallelGpuResourceCalculator(ResourceCalculator):
method calc_type (line 179) | def calc_type(self):
method get_resources_per_job (line 182) | def get_resources_per_job(
class ResourceCalculatorFactory (line 226) | class ResourceCalculatorFactory:
method get_resource_calculator (line 235) | def get_resource_calculator(calculator_type: str) -> ResourceCalculator:
FILE: core/src/autogluon/core/scheduler/reporter.py
class FakeReporter (line 8) | class FakeReporter(object):
method __call__ (line 11) | def __call__(self, **kwargs):
FILE: core/src/autogluon/core/scheduler/scheduler_factory.py
function compile_scheduler_options (line 21) | def compile_scheduler_options(
function scheduler_factory (line 138) | def scheduler_factory(
function get_scheduler_from_preset (line 230) | def get_scheduler_from_preset(scheduler_cls):
function get_hyperparameter_tune_kwargs_preset (line 241) | def get_hyperparameter_tune_kwargs_preset(preset: str):
FILE: core/src/autogluon/core/scheduler/seq_scheduler.py
class LocalReporter (line 18) | class LocalReporter:
method __init__ (line 23) | def __init__(self, trial, searcher_config, training_history: dict, con...
method __call__ (line 33) | def __call__(self, *args, **kwargs):
method terminate (line 52) | def terminate(self):
class LocalSequentialScheduler (line 56) | class LocalSequentialScheduler(object):
method __init__ (line 89) | def __init__(
method init_limits_ (line 116) | def init_limits_(self, kwargs):
method get_searcher_ (line 124) | def get_searcher_(self, searcher, train_fn, search_space, **kwargs) ->...
method run (line 149) | def run(self, **kwargs):
method has_enough_time_for_trial_ (line 207) | def has_enough_time_for_trial_(
method get_average_trial_time_ (line 242) | def get_average_trial_time_(cls, i, avg_trial_run_time, trial_start_ti...
method run_trial (line 250) | def run_trial(self, task_id=0) -> Tuple[bool, dict]:
method run_job_ (line 275) | def run_job_(self, task_id, searcher_config, reporter):
method run_with_config (line 303) | def run_with_config(self, config):
method join_jobs (line 313) | def join_jobs(self, timeout=None):
method get_best_config (line 316) | def get_best_config(self):
method get_best_reward (line 323) | def get_best_reward(self):
method get_training_curves (line 327) | def get_training_curves(self, filename=None, plot=False, use_legend=Tr...
method __get_training_history_metric (line 354) | def __get_training_history_metric(self, metric, default=None):
method get_best_task_id (line 360) | def get_best_task_id(self):
FILE: core/src/autogluon/core/searcher/dummy_searcher.py
class DummySearcher (line 11) | class DummySearcher(LocalSearcher):
method __init__ (line 14) | def __init__(self, **kwargs):
method get_config (line 18) | def get_config(self, **kwargs) -> dict:
FILE: core/src/autogluon/core/searcher/exceptions.py
class ExhaustedSearchSpaceError (line 1) | class ExhaustedSearchSpaceError(Exception):
FILE: core/src/autogluon/core/searcher/local_grid_searcher.py
class LocalGridSearcher (line 16) | class LocalGridSearcher(LocalSearcher):
method __init__ (line 21) | def __init__(self, grid_numeric_spaces_points_number=4, grid_num_sampl...
method _get_params_space (line 39) | def _get_params_space(self) -> dict:
method _get_samples_number (line 58) | def _get_samples_number(self, key):
method __len__ (line 64) | def __len__(self):
method get_config (line 67) | def get_config(self):
FILE: core/src/autogluon/core/searcher/local_random_searcher.py
class LocalRandomSearcher (line 16) | class LocalRandomSearcher(LocalSearcher):
method __init__ (line 21) | def __init__(self, *, first_is_default=True, random_seed=0, **kwargs):
method _get_params_space (line 29) | def _get_params_space(self) -> dict:
method _get_num_configs (line 37) | def _get_num_configs(self) -> int:
method _sample_config (line 48) | def _sample_config(self) -> dict:
method get_config (line 57) | def get_config(self, **kwargs) -> dict:
FILE: core/src/autogluon/core/searcher/local_searcher.py
class LocalSearcher (line 12) | class LocalSearcher(object):
method __init__ (line 22) | def __init__(self, search_space: dict, reward_attribute: str = "reward...
method configure_scheduler (line 38) | def configure_scheduler(self, scheduler):
method _reward_while_pending (line 58) | def _reward_while_pending():
method get_config (line 62) | def get_config(self, **kwargs):
method update (line 75) | def update(self, config: dict, **kwargs):
method register_pending (line 84) | def register_pending(self, config, milestone=None):
method evaluation_failed (line 97) | def evaluation_failed(self, config, **kwargs):
method get_best_reward (line 105) | def get_best_reward(self):
method get_reward (line 113) | def get_reward(self, config):
method get_best_config (line 119) | def get_best_config(self):
method get_results (line 127) | def get_results(self, sort=True) -> list:
method _get_params_static (line 145) | def _get_params_static(self) -> dict:
method _get_params_default (line 155) | def _get_params_default(self, params_static: dict) -> dict:
method _get_params_cat_dict (line 166) | def _get_params_cat_dict(self) -> dict:
method _add_result (line 183) | def _add_result(self, config: dict, result: float):
method _pickle_config (line 190) | def _pickle_config(self, config: dict) -> bytes:
method _unpickle_config (line 221) | def _unpickle_config(self, config_pkl: bytes) -> dict:
FILE: core/src/autogluon/core/searcher/searcher_factory.py
function searcher_factory (line 16) | def searcher_factory(searcher_name, **kwargs):
FILE: core/src/autogluon/core/stacked_overfitting/utils.py
function get_affected_stacked_overfitting_model_names (line 9) | def get_affected_stacked_overfitting_model_names(leaderboard: pd.DataFra...
function get_best_val_models (line 44) | def get_best_val_models(leaderboard: pd.DataFrame) -> Tuple[str, str, bo...
function _check_stacked_overfitting_for_models (line 83) | def _check_stacked_overfitting_for_models(
function check_stacked_overfitting_from_leaderboard (line 120) | def check_stacked_overfitting_from_leaderboard(leaderboard: pd.DataFrame...
FILE: core/src/autogluon/core/testing/global_context_snapshot.py
class GlobalContextSnapshot (line 14) | class GlobalContextSnapshot:
method capture (line 67) | def capture(cls) -> "GlobalContextSnapshot":
method assert_unchanged (line 152) | def assert_unchanged(self, other: "GlobalContextSnapshot") -> None:
FILE: core/src/autogluon/core/trainer/abstract_trainer.py
class AbstractTrainer (line 16) | class AbstractTrainer(Generic[ModelTypeT]):
method __init__ (line 21) | def __init__(self, path: str, *, low_memory: bool, save_data: bool):
method _get_banned_model_names (line 39) | def _get_banned_model_names(self) -> list[str]:
method path_root (line 46) | def path_root(self) -> str:
method path_utils (line 51) | def path_utils(self) -> str:
method path_data (line 55) | def path_data(self) -> str:
method set_contexts (line 58) | def set_contexts(self, path_context: str) -> None:
method create_contexts (line 61) | def create_contexts(self, path_context: str) -> str:
method save_model (line 65) | def save_model(self, model: ModelTypeT) -> None:
method get_models_attribute_dict (line 70) | def get_models_attribute_dict(self, attribute: str, models: list[str] ...
method get_model_attribute (line 73) | def get_model_attribute(self, model: str | ModelTypeT, attribute: str,...
method set_model_attribute (line 91) | def set_model_attribute(self, model: str | ModelTypeT, attribute: str,...
method get_minimum_model_set (line 96) | def get_minimum_model_set(self, model: str | ModelTypeT, include_self:...
method get_model_info (line 107) | def get_model_info(self, model: str | ModelTypeT) -> dict[str, Any]:
method get_model_names (line 119) | def get_model_names(self) -> list[str]:
method get_models_info (line 123) | def get_models_info(self, models: list[str | ModelTypeT] | None = None...
method load_model (line 132) | def load_model(
method load_info (line 151) | def load_info(cls, path: str, reset_paths: bool = False, load_model_if...
method save_info (line 162) | def save_info(self, include_model_info: bool = False) -> dict[str, Any]:
method get_model_best (line 169) | def get_model_best(self) -> str:
method get_info (line 172) | def get_info(self, include_model_info: bool = False) -> dict[str, Any]:
method save (line 175) | def save(self) -> None:
method load (line 179) | def load(cls, path: str, reset_paths: bool = False) -> Self:
method fit (line 189) | def fit(self, *args, **kwargs):
method predict (line 192) | def predict(self, *args, **kwargs) -> Any:
FILE: core/src/autogluon/core/trainer/utils.py
function process_hyperparameters (line 7) | def process_hyperparameters(hyperparameters: dict) -> dict:
FILE: core/src/autogluon/core/utils/early_stopping.py
class AbstractES (line 4) | class AbstractES:
method update (line 9) | def update(self, cur_round, is_best: bool = False) -> bool:
method early_stop (line 12) | def early_stop(self, cur_round, is_best: bool = False) -> bool:
class NoES (line 16) | class NoES(AbstractES):
method update (line 21) | def update(self, cur_round: int, is_best: bool = False) -> bool:
method early_stop (line 24) | def early_stop(self, cur_round: int, is_best: bool = False) -> bool:
class SimpleES (line 28) | class SimpleES(AbstractES):
method __init__ (line 38) | def __init__(self, patience: int = 10):
method update (line 42) | def update(self, cur_round: int, is_best: bool = False) -> bool:
method early_stop (line 47) | def early_stop(self, cur_round: int, is_best: bool = False) -> bool:
class AdaptiveES (line 56) | class AdaptiveES(AbstractES):
method __init__ (line 94) | def __init__(
method update (line 108) | def update(self, cur_round: int, is_best: bool = False) -> bool:
method early_stop (line 119) | def early_stop(self, cur_round: int, is_best: bool = False) -> bool:
method _update_patience (line 128) | def _update_patience(self, best_round: int) -> int:
FILE: core/src/autogluon/core/utils/exceptions.py
class AutoGluonException (line 1) | class AutoGluonException(Exception):
class InsufficientTime (line 10) | class InsufficientTime(AutoGluonException):
class TimeLimitExceeded (line 19) | class TimeLimitExceeded(InsufficientTime):
class NotEnoughMemoryError (line 27) | class NotEnoughMemoryError(AutoGluonException):
class NoGPUError (line 31) | class NoGPUError(AutoGluonException):
class NotEnoughCudaMemoryError (line 35) | class NotEnoughCudaMemoryError(AutoGluonException):
class NoValidFeatures (line 39) | class NoValidFeatures(AutoGluonException):
class NoStackFeatures (line 43) | class NoStackFeatures(NoValidFeatures):
class NotValidStacker (line 47) | class NotValidStacker(AutoGluonException):
FILE: core/src/autogluon/core/utils/feature_selection.py
function add_noise_column (line 24) | def add_noise_column(
function merge_importance_dfs (line 39) | def merge_importance_dfs(df_old: pd.DataFrame, df_new: pd.DataFrame, usi...
function sort_features_by_priority (line 94) | def sort_features_by_priority(
class FeatureSelector (line 125) | class FeatureSelector:
method __init__ (line 126) | def __init__(
method select_features (line 169) | def select_features(
method compute_next_candidate (line 364) | def compute_next_candidate(
method compute_next_candidate_round (line 402) | def compute_next_candidate_round(
method compute_next_candidate_given_fi (line 503) | def compute_next_candidate_given_fi(
method compute_expected_fi_time_single (line 550) | def compute_expected_fi_time_single(
method compute_time_budget_fi (line 562) | def compute_time_budget_fi(self, X_fi: pd.DataFrame, n_subsample: int,...
method fit_score_model (line 579) | def fit_score_model(
method get_extra_fn_args (line 614) | def get_extra_fn_args(self, **kwargs) -> dict:
method setup (line 621) | def setup(
method get_random_state (line 700) | def get_random_state(self) -> int:
FILE: core/src/autogluon/core/utils/files.py
function unzip (line 17) | def unzip(zip_file_path, root=os.path.expanduser("./")):
function download (line 30) | def download(url, path=None, overwrite=False, sha1_hash=None):
function check_sha1 (line 99) | def check_sha1(filename, sha1_hash):
function make_temp_directory (line 126) | def make_temp_directory():
FILE: core/src/autogluon/core/utils/infer_utils.py
function get_model_true_infer_speed_per_row_batch (line 8) | def get_model_true_infer_speed_per_row_batch(
function get_model_true_infer_speed_per_row_batch_bulk (line 103) | def get_model_true_infer_speed_per_row_batch_bulk(
FILE: core/src/autogluon/core/utils/plots.py
function plot_performance_vs_trials (line 16) | def plot_performance_vs_trials(
function plot_summary_of_models (line 51) | def plot_summary_of_models(
function plot_tabular_models (line 110) | def plot_tabular_models(
function _formatDict (line 157) | def _formatDict(d):
function mousover_plot (line 166) | def mousover_plot(
FILE: core/src/autogluon/core/utils/time.py
function time_func (line 11) | def time_func(f, args: list = None, kwargs: dict = None, time_limit: flo...
function sample_df_for_time_func (line 54) | def sample_df_for_time_func(df: DataFrame, sample_size: int, max_sample_...
FILE: core/src/autogluon/core/utils/utils.py
function setup_compute (line 37) | def setup_compute(nthreads_per_trial, ngpus_per_trial):
function setup_trial_limits (line 51) | def setup_trial_limits(time_limit, num_trials, hyperparameters):
function get_leaderboard_pareto_frontier (line 69) | def get_leaderboard_pareto_frontier(
function shuffle_df_rows (line 98) | def shuffle_df_rows(X: DataFrame, seed=0, reset_index=True):
function normalize_binary_probas (line 109) | def normalize_binary_probas(y_predprob, eps):
function normalize_multi_probas (line 123) | def normalize_multi_probas(y_predprob, eps):
function default_holdout_frac (line 135) | def default_holdout_frac(num_train_rows, hyperparameter_tune: bool = Fal...
function augment_rare_classes (line 152) | def augment_rare_classes(X, label, threshold):
function get_pred_from_proba_df (line 218) | def get_pred_from_proba_df(
function get_pred_from_proba (line 241) | def get_pred_from_proba(
function convert_pred_probas_to_df (line 267) | def convert_pred_probas_to_df(
function extract_label (line 299) | def extract_label(data: DataFrame, label: str) -> (DataFrame, Series):
function generate_train_test_split_combined (line 323) | def generate_train_test_split_combined(
function generate_train_test_split (line 393) | def generate_train_test_split(
function normalize_pred_probas (line 592) | def normalize_pred_probas(y_predprob, problem_type, eps=1e-7):
function infer_problem_type (line 618) | def infer_problem_type(y: Series, silent=False) -> str:
function infer_eval_metric (line 698) | def infer_eval_metric(problem_type: str) -> Scorer:
function extract_column (line 710) | def extract_column(X, col_name):
function compute_weighted_metric (line 720) | def compute_weighted_metric(
function compute_permutation_feature_importance (line 756) | def compute_permutation_feature_importance(
function _validate_features (line 1013) | def _validate_features(features: list, valid_features: list):
function _compute_fi_with_stddev (line 1043) | def _compute_fi_with_stddev(fi_list_dict: dict, importance_as_list=False...
function _compute_mean_stddev_and_p_value (line 1068) | def _compute_mean_stddev_and_p_value(values: list):
function _get_safe_fi_batch_count (line 1087) | def _get_safe_fi_batch_count(X, num_features, X_transformed=None, max_me...
function unevaluated_fi_df_template (line 1119) | def unevaluated_fi_df_template(features: List[str]) -> pd.DataFrame:
FILE: core/src/autogluon/core/utils/version_utils.py
function _get_autogluon_versions (line 13) | def _get_autogluon_versions():
function _get_dependency_versions (line 28) | def _get_dependency_versions(package):
function _get_sys_info (line 49) | def _get_sys_info():
function show_versions (line 77) | def show_versions():
FILE: core/tests/conftest.py
function pytest_addoption (line 4) | def pytest_addoption(parser):
function pytest_configure (line 9) | def pytest_configure(config):
function pytest_collection_modifyitems (line 16) | def pytest_collection_modifyitems(config, items):
FILE: core/tests/test_check_style.py
function test_check_style (line 6) | def test_check_style():
FILE: core/tests/unittests/calibrate/test_decision_threshold.py
function _get_sample_data (line 8) | def _get_sample_data():
function test_calibrate_decision_threshold (line 32) | def test_calibrate_decision_threshold():
function test_calibrate_decision_threshold_select_closer_to_0_5 (line 74) | def test_calibrate_decision_threshold_select_closer_to_0_5():
function test_calibrate_decision_threshold_proba_metric_0_5 (line 96) | def test_calibrate_decision_threshold_proba_metric_0_5():
function test_calibrate_decision_threshold_out_of_bounds (line 114) | def test_calibrate_decision_threshold_out_of_bounds():
function test_calibrate_decision_threshold_invalid_args (line 132) | def test_calibrate_decision_threshold_invalid_args():
FILE: core/tests/unittests/core/scheduler/test_scheduler_factory.py
function test_scheduler_factory__can_construct_valid_config_with_str_scheduler (line 7) | def test_scheduler_factory__can_construct_valid_config_with_str_schedule...
function test_scheduler_factory__can_construct_valid_config_with_class_scheduler (line 33) | def test_scheduler_factory__can_construct_valid_config_with_class_schedu...
function test_scheduler_factory__reaises_exception_on_missing_scheduler (line 40) | def test_scheduler_factory__reaises_exception_on_missing_scheduler():
function test_scheduler_factory__reaises_exception_on_unknown_str_scheduler (line 45) | def test_scheduler_factory__reaises_exception_on_unknown_str_scheduler():
function test_scheduler_factory__reaises_exception_on_missing_searcher (line 52) | def test_scheduler_factory__reaises_exception_on_missing_searcher():
function test_get_hyperparameter_tune_kwargs_preset__preset_exists (line 57) | def test_get_hyperparameter_tune_kwargs_preset__preset_exists():
function test_get_hyperparameter_tune_kwargs_preset__preset_missing (line 61) | def test_get_hyperparameter_tune_kwargs_preset__preset_missing():
FILE: core/tests/unittests/hpo/test_ray_hpo.py
class DummyAdapter (line 15) | class DummyAdapter(RayTuneAdapter):
method adapter_type (line 20) | def adapter_type(self):
method get_resource_calculator (line 23) | def get_resource_calculator(self, **kwargs):
method get_resources_per_trial (line 26) | def get_resources_per_trial(self, total_resources, num_samples, **kwar...
method trainable_args_update_method (line 29) | def trainable_args_update_method(self, trainable_args):
function _dummy_objective (line 36) | def _dummy_objective(x, a, b):
function _dummy_trainable (line 40) | def _dummy_trainable(config):
function test_invalid_searcher (line 47) | def test_invalid_searcher():
function test_invalid_scheduler (line 67) | def test_invalid_scheduler():
function test_invalid_preset (line 87) | def test_invalid_preset():
function test_empty_search_space (line 103) | def test_empty_search_space():
function test_run (line 126) | def test_run(searcher, scheduler):
FILE: core/tests/unittests/hpo/test_space_converter.py
function test_space_converter (line 24) | def test_space_converter(space, expected_space):
FILE: core/tests/unittests/metrics/test_classification_metrics.py
function test_confusion_matrix_with_valid_inputs_without_labels_and_weights (line 9) | def test_confusion_matrix_with_valid_inputs_without_labels_and_weights():
function test_confusion_matrix_with_valid_inputs_with_labels_and_without_weights (line 22) | def test_confusion_matrix_with_valid_inputs_with_labels_and_without_weig...
function test_confusion_matrix_with_valid_inputs_with_labels_and_with_weights (line 36) | def test_confusion_matrix_with_valid_inputs_with_labels_and_with_weights():
function test_confusion_matrix_with_valid_inputs_with_lesser_number_of_labels_and_without_weights (line 51) | def test_confusion_matrix_with_valid_inputs_with_lesser_number_of_labels...
function test_confusion_matrix_with_unequal_samples (line 65) | def test_confusion_matrix_with_unequal_samples():
function test_confusion_matrix_with_multioutput_samples (line 75) | def test_confusion_matrix_with_multioutput_samples():
function test_confusion_matrix_with_empty_labels (line 85) | def test_confusion_matrix_with_empty_labels():
function test_confusion_matrix_with_multiDimensional_labels (line 96) | def test_confusion_matrix_with_multiDimensional_labels():
function test_confusion_matrix_with_invalid_weights (line 107) | def test_confusion_matrix_with_invalid_weights():
function test_confusion_matrix_with_empty_inputs (line 118) | def test_confusion_matrix_with_empty_inputs():
function test_log_loss (line 139) | def test_log_loss(gt, probs):
function test_soft_log_loss (line 156) | def test_soft_log_loss(gt, probs):
function test_log_loss_single_binary_class (line 164) | def test_log_loss_single_binary_class():
function test_log_loss_with_sklearn (line 178) | def test_log_loss_with_sklearn(gt, probs):
function test_roc_auc_score_with_sklearn (line 191) | def test_roc_auc_score_with_sklearn():
function test_roc_auc_score_with_sklearn_single_raise (line 203) | def test_roc_auc_score_with_sklearn_single_raise():
function test_roc_auc_score_with_sklearn_zero_raise (line 225) | def test_roc_auc_score_with_sklearn_zero_raise():
function test_quadratic_kappa (line 234) | def test_quadratic_kappa():
FILE: core/tests/unittests/metrics/test_metric_kwargs.py
function test_metric_kwargs (line 7) | def test_metric_kwargs():
function test_metric_kwargs_init (line 30) | def test_metric_kwargs_init():
FILE: core/tests/unittests/metrics/test_metrics.py
function test_metric_exists (line 120) | def test_metric_exists(metrics: dict, expected_metrics_and_aliases: set):
function test_metrics_perfect_binary (line 146) | def test_metrics_perfect_binary(metric: str):
function test_metrics_perfect_multiclass (line 152) | def test_metrics_perfect_multiclass(metric: str):
function test_metrics_perfect_raises_binary_single_sample (line 161) | def test_metrics_perfect_raises_binary_single_sample(metric: str):
function test_metrics_perfect_binary_single_sample (line 169) | def test_metrics_perfect_binary_single_sample(metric: str):
function test_metrics_perfect_multiclass_single_sample (line 175) | def test_metrics_perfect_multiclass_single_sample(metric: str):
function test_metrics_perfect_str_multiclass (line 180) | def test_metrics_perfect_str_multiclass(metric: str):
function test_metrics_perfect_str_binary (line 187) | def test_metrics_perfect_str_binary(metric: str):
function test_metrics_perfect_proba_raises_str_binary (line 198) | def test_metrics_perfect_proba_raises_str_binary(metric: str):
function test_metrics_perfect_proba_raises_str_multiclass (line 206) | def test_metrics_perfect_proba_raises_str_multiclass(metric: str):
function test_metrics_perfect_regression (line 214) | def test_metrics_perfect_regression(metric: str):
function test_metrics_imperfect_binary (line 220) | def test_metrics_imperfect_binary(metric: str):
function test_metrics_imperfect_multiclass (line 225) | def test_metrics_imperfect_multiclass(metric: str):
function test_metrics_imperfect_regression (line 230) | def test_metrics_imperfect_regression(metric: str):
function test_metrics_imperfect_str_binary (line 235) | def test_metrics_imperfect_str_binary(metric: str):
function test_metrics_imperfect_str_multiclass (line 245) | def test_metrics_imperfect_str_multiclass(metric: str):
function _assert_valid_scorer_classifier (line 250) | def _assert_valid_scorer_classifier(scorer: Scorer):
function _assert_valid_scorer_regressor (line 260) | def _assert_valid_scorer_regressor(scorer: Scorer):
function _assert_valid_scorer (line 270) | def _assert_valid_scorer(scorer: Scorer):
function _assert_perfect_score (line 278) | def _assert_perfect_score(scorer: Scorer, abs_tol=1e-5):
function _assert_perfect_score_single_sample (line 288) | def _assert_perfect_score_single_sample(scorer: Scorer, abs_tol=1e-5):
function _assert_perfect_score_generic (line 298) | def _assert_perfect_score_generic(scorer: Scorer, y_true, y_pred, abs_to...
function _assert_perfect_score_str_binary (line 312) | def _assert_perfect_score_str_binary(scorer: Scorer, abs_tol=1e-5):
function _assert_perfect_score_str_multiclass (line 322) | def _assert_perfect_score_str_multiclass(scorer: Scorer, abs_tol=1e-5):
function _assert_imperfect_score (line 332) | def _assert_imperfect_score(scorer: Scorer, abs_tol: float = 1e-5) -> fl...
function _assert_imperfect_score_str_binary (line 342) | def _assert_imperfect_score_str_binary(scorer: Scorer, abs_tol: float = ...
function _assert_imperfect_score_str_multiclass (line 360) | def _assert_imperfect_score_str_multiclass(scorer: Scorer, abs_tol: floa...
function _assert_imperfect_score_generic (line 378) | def _assert_imperfect_score_generic(scorer: Scorer, y_true, y_pred, abs_...
function test_rmse_with_sklearn (line 396) | def test_rmse_with_sklearn(sample_weight):
function test_invalid_scorer (line 414) | def test_invalid_scorer():
FILE: core/tests/unittests/metrics/test_quantile_metrics.py
function test_invalid_quantile_values_shape_raises (line 7) | def test_invalid_quantile_values_shape_raises():
function test_mismatched_target_prediction_length_raises (line 18) | def test_mismatched_target_prediction_length_raises():
function test_mismatched_quantiles_raises (line 29) | def test_mismatched_quantiles_raises():
function test_single_prediction (line 40) | def test_single_prediction():
function test_multiple_predictions (line 54) | def test_multiple_predictions():
function test_multiple_predictions_with_weights (line 68) | def test_multiple_predictions_with_weights():
FILE: core/tests/unittests/models/abstract_model/test_init_user_params.py
function _assert_init_user_params (line 7) | def _assert_init_user_params(
function test_init_user_params_none (line 27) | def test_init_user_params_none():
function test_init_user_params_simple (line 36) | def test_init_user_params_simple():
function test_init_user_params_ag_args_fit_none (line 51) | def test_init_user_params_ag_args_fit_none():
function test_init_user_params_with_prefix (line 67) | def test_init_user_params_with_prefix():
function test_init_user_params_with_ag_args_fit (line 83) | def test_init_user_params_with_ag_args_fit():
function test_init_user_params_with_ag_args_fit_and_prefix (line 99) | def test_init_user_params_with_ag_args_fit_and_prefix():
function test_init_user_params_with_all (line 119) | def test_init_user_params_with_all():
function test_init_user_params_with_all_and_custom (line 140) | def test_init_user_params_with_all_and_custom():
FILE: core/tests/unittests/models/test_bagged_ensemble_model.py
function test_generate_fold_configs (line 7) | def test_generate_fold_configs():
FILE: core/tests/unittests/ray/test_resource_calculator.py
function test_cpu_calculator_no_bottleneck (line 12) | def test_cpu_calculator_no_bottleneck():
function test_cpu_calculator_mem_bottleneck (line 36) | def test_cpu_calculator_mem_bottleneck():
function test_gpu_calculator_no_bottleneck (line 65) | def test_gpu_calculator_no_bottleneck():
function test_gpu_calculator_cpu_bottleneck (line 93) | def test_gpu_calculator_cpu_bottleneck():
function test_non_parallel_gpu_calculator (line 121) | def test_non_parallel_gpu_calculator():
function test_resource_not_enough (line 150) | def test_resource_not_enough(calculator_type):
FILE: core/tests/unittests/scheduler/test_scheduler.py
function test_local_sequential_scheduler (line 10) | def test_local_sequential_scheduler():
function test_timeout_scheduler (line 30) | def test_timeout_scheduler():
FILE: core/tests/unittests/scheduler/test_seq_scheduler.py
function test_get_average_trial_time_ (line 9) | def test_get_average_trial_time_():
function test_has_enough_time_for_trial__enough_time__no_avg_time (line 18) | def test_has_enough_time_for_trial__enough_time__no_avg_time():
function test_has_enough_time_for_trial__enough_time__avg_time_allows_trials (line 25) | def test_has_enough_time_for_trial__enough_time__avg_time_allows_trials():
function test_has_enough_time_for_trial__enough_time__avg_time_not_allows_trials (line 32) | def test_has_enough_time_for_trial__enough_time__avg_time_not_allows_tri...
function test_has_enough_time_for_trial__time_exceeded_no_avg_time (line 39) | def test_has_enough_time_for_trial__time_exceeded_no_avg_time():
function test_has_enough_time_for_trial__avg_time (line 46) | def test_has_enough_time_for_trial__avg_time():
function test_has_enough_time_for_trial__enough_time__avg_time_not_allows_trials_by_fill_factor (line 53) | def test_has_enough_time_for_trial__enough_time__avg_time_not_allows_tri...
function test_LocalSequentialScheduler_no_criteria (line 60) | def test_LocalSequentialScheduler_no_criteria():
function test_search_space (line 72) | def test_search_space():
function test_scheduler_can_handle_failing_jobs (line 104) | def test_scheduler_can_handle_failing_jobs():
FILE: core/tests/unittests/searcher/test_local_grid_searcher.py
function test_local_grid_searcher_categorical (line 5) | def test_local_grid_searcher_categorical():
function test_local_grid_searcher_numeric (line 61) | def test_local_grid_searcher_numeric():
function test_local_grid_searcher_numeric_grid_settings (line 84) | def test_local_grid_searcher_numeric_grid_settings():
FILE: core/tests/unittests/searcher/test_local_random_searcher.py
function dictsAlmostEqual (line 8) | def dictsAlmostEqual(dict1, dict2, rel_tol=1e-8):
function test_local_random_searcher (line 25) | def test_local_random_searcher():
FILE: core/tests/unittests/searcher/test_local_searcher.py
class TestLocalSearcher (line 7) | class TestLocalSearcher(unittest.TestCase):
method test_local_searcher (line 8) | def test_local_searcher(self):
method test_local_searcher_pickle (line 56) | def test_local_searcher_pickle(self):
FILE: core/tests/unittests/test_feature_selection.py
function evaluated_fi_df_template (line 10) | def evaluated_fi_df_template(features, importance=None, n=None):
function sample_features (line 23) | def sample_features():
function sample_importance_df_1 (line 28) | def sample_importance_df_1(sample_features):
function sample_importance_df_2 (line 33) | def sample_importance_df_2(sample_features):
function test_add_noise_column_df (line 37) | def test_add_noise_column_df():
function test_merge_importance_dfs_base (line 46) | def test_merge_importance_dfs_base(sample_features):
function test_merge_importance_dfs_same_model (line 52) | def test_merge_importance_dfs_same_model(sample_features, sample_importa...
function test_merge_importance_dfs_different_model (line 66) | def test_merge_importance_dfs_different_model(sample_features, sample_im...
function test_merge_importance_dfs_all (line 82) | def test_merge_importance_dfs_all(sample_features, sample_importance_df_...
function test_sort_features_by_priority_base (line 98) | def test_sort_features_by_priority_base(sample_features):
function test_sort_features_by_priority_same_model (line 106) | def test_sort_features_by_priority_same_model(sample_features):
function test_sort_features_by_priority_different_model (line 115) | def test_sort_features_by_priority_different_model(sample_features):
function test_sort_features_by_priority_all (line 132) | def test_sort_features_by_priority_all(sample_features):
FILE: core/tests/unittests/test_import_version.py
function test_import_version (line 4) | def test_import_version():
FILE: core/tests/unittests/test_parallel_local_folding.py
class DummyBigModel (line 20) | class DummyBigModel(AbstractModel):
method _estimate_memory_usage (line 21) | def _estimate_memory_usage(self, **kwargs):
function _prepare_data (line 25) | def _prepare_data():
function _construct_dummy_fold_strategy (line 35) | def _construct_dummy_fold_strategy(num_jobs, model_base_cls=AbstractMode...
function _test_resource_allocation_and_time_limit (line 64) | def _test_resource_allocation_and_time_limit(num_jobs, num_folds_paralle...
function test_resource_allocation_and_time_limit (line 94) | def test_resource_allocation_and_time_limit():
function test_dynamic_resource_allocation (line 112) | def test_dynamic_resource_allocation(resource_cal, mock_get_mem):
FILE: core/tests/unittests/test_search_space.py
function test_search_space (line 5) | def test_search_space():
function test_search_space_dot_key (line 26) | def test_search_space_dot_key():
FILE: core/tests/unittests/utils/decorators/test_presets.py
class TestPresets (line 6) | class TestPresets(unittest.TestCase):
method test_presets (line 7) | def test_presets(self):
FILE: core/tests/unittests/utils/test_augment_rare_classes.py
function utils_log_records (line 11) | def utils_log_records():
function _messages (line 43) | def _messages(records: list[logging.LogRecord]) -> list[str]:
function test_no_augmentation_returns_same_df_object (line 47) | def test_no_augmentation_returns_same_df_object(utils_log_records):
function test_augment_single_rare_class_adds_expected_rows_and_meets_threshold (line 58) | def test_augment_single_rare_class_adds_expected_rows_and_meets_threshol...
function test_augment_multiple_rare_classes_total_added_and_threshold_met (line 77) | def test_augment_multiple_rare_classes_total_added_and_threshold_met():
function test_augmented_indices_unique_and_start_after_max (line 95) | def test_augmented_indices_unique_and_start_after_max():
function test_missing_classes_zero_count_are_warned_and_ignored (line 109) | def test_missing_classes_zero_count_are_warned_and_ignored(utils_log_rec...
FILE: core/tests/unittests/utils/test_time.py
function test_sample_df_for_time_func (line 6) | def test_sample_df_for_time_func():
FILE: core/tests/unittests/utils/test_utils.py
class TestInferProblemType (line 12) | class TestInferProblemType(unittest.TestCase):
method test_infer_problem_type_empty (line 13) | def test_infer_problem_type_empty(self):
method test_infer_problem_type_nan (line 17) | def test_infer_problem_type_nan(self):
method test_infer_problem_type_inf (line 21) | def test_infer_problem_type_inf(self):
method test_infer_problem_type_ninf (line 25) | def test_infer_problem_type_ninf(self):
method test_infer_problem_type_binary (line 29) | def test_infer_problem_type_binary(self):
method test_infer_problem_type_binary_with_nan (line 33) | def test_infer_problem_type_binary_with_nan(self):
method test_infer_problem_type_str (line 37) | def test_infer_problem_type_str(self):
method test_infer_problem_type_category (line 41) | def test_infer_problem_type_category(self):
method test_infer_problem_type_object (line 45) | def test_infer_problem_type_object(self):
method test_infer_problem_type_multiclass_with_nan (line 49) | def test_infer_problem_type_multiclass_with_nan(self):
method test_infer_problem_type_big_float_data_regression (line 53) | def test_infer_problem_type_big_float_data_regression(self):
method test_infer_problem_type_small_float_data_multiclass (line 58) | def test_infer_problem_type_small_float_data_multiclass(self):
method test_infer_problem_type_small_float_data_regression (line 63) | def test_infer_problem_type_small_float_data_regression(self):
method test_infer_problem_type_big_integer_data_regression (line 68) | def test_infer_problem_type_big_integer_data_regression(self):
method test_infer_problem_type_small_integer_data_multiclass (line 73) | def test_infer_problem_type_small_integer_data_multiclass(self):
method test_infer_problem_type_small_integer_data_regression (line 80) | def test_infer_problem_type_small_integer_data_regression(self):
function _assert_equals_generate_train_test_split (line 86) | def _assert_equals_generate_train_test_split(X, y, test_size, problem_ty...
function test_generate_train_test_split_edgecase (line 140) | def test_generate_train_test_split_edgecase():
FILE: core/tests/unittests/utils/test_version_utils.py
function test_show_versions (line 4) | def test_show_versions():
FILE: eda/src/autogluon/eda/analysis/anomaly.py
function _suod_silent_print (line 30) | def _suod_silent_print(silent=True): # pragma: no cover
class AnomalyDetector (line 61) | class AnomalyDetector:
method __init__ (line 97) | def __init__(
method _get_default_detector_list (line 125) | def _get_default_detector_list():
method problem_type (line 137) | def problem_type(self):
method fit_transform (line 140) | def fit_transform(self, train_data: pd.DataFrame) -> pd.Series:
method transform (line 175) | def transform(self, x: pd.DataFrame):
method predict (line 201) | def predict(self, x):
class AnomalyDetectorAnalysis (line 208) | class AnomalyDetectorAnalysis(AbstractAnalysis):
method __init__ (line 259) | def __init__(
method can_handle (line 272) | def can_handle(self, state: AnalysisState, args: AnalysisState) -> bool:
method _fit (line 287) | def _fit(self, state: AnalysisState, args: AnalysisState, **fit_kwargs...
method _create_detector (line 305) | def _create_detector(self, args) -> AnomalyDetector:
method explain_rows_fn (line 309) | def explain_rows_fn(args: AnalysisState, detector: AnomalyDetector, da...
FILE: eda/src/autogluon/eda/analysis/base.py
class AbstractAnalysis (line 14) | class AbstractAnalysis(ABC, StateCheckMixin):
method __init__ (line 52) | def __init__(
method _gather_args (line 67) | def _gather_args(self) -> AnalysisState:
method available_datasets (line 77) | def available_datasets(args: AnalysisState) -> Generator[Tuple[str, Da...
method _get_state_from_parent (line 97) | def _get_state_from_parent(self) -> AnalysisState:
method can_handle (line 107) | def can_handle(self, state: AnalysisState, args: AnalysisState) -> bool:
method _fit (line 128) | def _fit(self, state: AnalysisState, args: AnalysisState, **fit_kwargs...
method fit (line 145) | def fit(self, **kwargs) -> AnalysisState:
class BaseAnalysis (line 172) | class BaseAnalysis(AbstractAnalysis):
method __init__ (line 190) | def __init__(
method can_handle (line 195) | def can_handle(self, state: AnalysisState, args: AnalysisState) -> bool:
method _fit (line 198) | def _fit(self, state: AnalysisState, args: AnalysisState, **fit_kwargs...
class Namespace (line 202) | class Namespace(AbstractAnalysis):
method can_handle (line 243) | def can_handle(self, state: AnalysisState, args: AnalysisState) -> bool:
method __init__ (line 246) | def __init__(
method fit (line 256) | def fit(self, **kwargs) -> AnalysisState:
method _fit (line 262) | def _fit(self, state: AnalysisState, args: AnalysisState, **fit_kwargs...
method _get_state_from_parent (line 265) | def _get_state_from_parent(self) -> AnalysisState:
class SaveArgsToState (line 272) | class SaveArgsToState(AbstractAnalysis):
method __init__ (line 292) | def __init__(
method can_handle (line 303) | def can_handle(self, state: AnalysisState, args: AnalysisState) -> bool:
method _fit (line 306) | def _fit(self, state: AnalysisState, args: AnalysisState, **fit_kwargs...
FILE: eda/src/autogluon/eda/analysis/dataset.py
class Sampler (line 35) | class Sampler(AbstractAnalysis):
method __init__ (line 67) | def __init__(
method can_handle (line 79) | def can_handle(self, state: AnalysisState, args: AnalysisState) -> bool:
method _fit (line 82) | def _fit(self, state: AnalysisState, args: AnalysisState, **fit_kwargs...
class ProblemTypeControl (line 96) | class ProblemTypeControl(AbstractAnalysis):
method __init__ (line 112) | def __init__(
method can_handle (line 124) | def can_handle(self, state: AnalysisState, args: AnalysisState) -> bool:
method _fit (line 127) | def _fit(self, state: AnalysisState, args: AnalysisState, **fit_kwargs...
class TrainValidationSplit (line 134) | class TrainValidationSplit(AbstractAnalysis):
method __init__ (line 190) | def __init__(
method can_handle (line 202) | def can_handle(self, state: AnalysisState, args: AnalysisState) -> bool:
method _fit (line 205) | def _fit(self, state: AnalysisState, args: AnalysisState, **fit_kwargs...
class DatasetSummary (line 213) | class DatasetSummary(AbstractAnalysis):
method can_handle (line 237) | def can_handle(self, state: AnalysisState, args: AnalysisState) -> bool:
method _fit (line 240) | def _fit(self, state: AnalysisState, args: AnalysisState, **fit_kwargs...
class RawTypesAnalysis (line 252) | class RawTypesAnalysis(AbstractAnalysis):
method can_handle (line 276) | def can_handle(self, state: AnalysisState, args: AnalysisState) -> bool:
method _fit (line 279) | def _fit(self, state: AnalysisState, args: AnalysisState, **fit_kwargs...
class VariableTypeAnalysis (line 285) | class VariableTypeAnalysis(AbstractAnalysis):
method __init__ (line 322) | def __init__(
method can_handle (line 332) | def can_handle(self, state: AnalysisState, args: AnalysisState) -> bool:
method _fit (line 335) | def _fit(self, state: AnalysisState, args: AnalysisState, **fit_kwargs...
method map_raw_type_to_feature_type (line 344) | def map_raw_type_to_feature_type(
class SpecialTypesAnalysis (line 359) | class SpecialTypesAnalysis(AbstractAnalysis):
method can_handle (line 383) | def can_handle(self, state: AnalysisState, args: AnalysisState) -> bool:
method _fit (line 386) | def _fit(self, state: AnalysisState, args: AnalysisState, **fit_kwargs...
method infer_special_types (line 392) | def infer_special_types(ds):
class LabelInsightsAnalysis (line 405) | class LabelInsightsAnalysis(AbstractAnalysis):
method __init__ (line 452) | def __init__(
method can_handle (line 475) | def can_handle(self, state: AnalysisState, args: AnalysisState) -> bool:
method _fit (line 480) | def _fit(self, state: AnalysisState, args: AnalysisState, **fit_kwargs...
method _test_data_with_label_present (line 534) | def _test_data_with_label_present(self, args, label):
FILE: eda/src/autogluon/eda/analysis/explain.py
class _ShapAutoGluonWrapper (line 18) | class _ShapAutoGluonWrapper:
method __init__ (line 19) | def __init__(self, predictor, feature_names, target_class=None):
method predict_proba (line 26) | def predict_proba(self, X):
class ShapAnalysis (line 41) | class ShapAnalysis(AbstractAnalysis):
method __init__ (line 89) | def __init__(
method can_handle (line 106) | def can_handle(self, state: AnalysisState, args: AnalysisState) -> bool:
method _fit (line 109) | def _fit(self, state: AnalysisState, args: AnalysisState, **fit_kwargs...
FILE: eda/src/autogluon/eda/analysis/interaction.py
class Correlation (line 26) | class Correlation(AbstractAnalysis):
method __init__ (line 83) | def __init__(
method can_handle (line 98) | def can_handle(self, state: AnalysisState, args: AnalysisState) -> bool:
method _fit (line 101) | def _fit(self, state: AnalysisState, args: AnalysisState, **fit_kwargs...
class CorrelationSignificance (line 130) | class CorrelationSignificance(AbstractAnalysis):
method can_handle (line 167) | def can_handle(self, state: AnalysisState, args: AnalysisState) -> bool:
method _fit (line 170) | def _fit(self, state: AnalysisState, args: AnalysisState, **fit_kwargs...
class FeatureInteraction (line 178) | class FeatureInteraction(AbstractAnalysis):
method __init__ (line 229) | def __init__(
method can_handle (line 245) | def can_handle(self, state: AnalysisState, args: AnalysisState) -> bool:
method _fit (line 248) | def _fit(self, state: AnalysisState, args: AnalysisState, **fit_kwargs):
method _generate_key_if_not_provided (line 273) | def _generate_key_if_not_provided(self, key: Optional[str], cols: Dict...
class DistributionFit (line 284) | class DistributionFit(AbstractAnalysis):
method __init__ (line 358) | def __init__(
method can_handle (line 392) | def can_handle(self, state: AnalysisState, args: AnalysisState) -> bool:
method _fit (line 395) | def _fit(self, state: AnalysisState, args: AnalysisState, **fit_kwargs...
method _fit_dist (line 408) | def _fit_dist(self, series, pvalue_min=0.01):
method _list_parameters (line 434) | def _list_parameters(self, distribution):
class FeatureDistanceAnalysis (line 454) | class FeatureDistanceAnalysis(AbstractAnalysis):
method __init__ (line 505) | def __init__(
method can_handle (line 515) | def can_handle(self, state: AnalysisState, args: AnalysisState) -> bool:
method _fit (line 518) | def _fit(self, state: AnalysisState, args: AnalysisState, **fit_kwargs...
method __get_linkage_clusters (line 536) | def __get_linkage_clusters(linkage, columns, threshold: float):
FILE: eda/src/autogluon/eda/analysis/missing.py
class MissingValuesAnalysis (line 8) | class MissingValuesAnalysis(AbstractAnalysis):
method can_handle (line 34) | def can_handle(self, state: AnalysisState, args: AnalysisState) -> bool:
method _fit (line 37) | def _fit(self, state: AnalysisState, args: AnalysisState, **fit_kwargs...
FILE: eda/src/autogluon/eda/analysis/model.py
class AutoGluonModelQuickFit (line 21) | class AutoGluonModelQuickFit(AbstractAnalysis):
method __init__ (line 69) | def __init__(
method can_handle (line 91) | def can_handle(self, state: AnalysisState, args: AnalysisState) -> bool:
method _fit (line 94) | def _fit(self, state: AnalysisState, args: AnalysisState, **fit_kwargs...
class AutoGluonModelEvaluator (line 105) | class AutoGluonModelEvaluator(AbstractAnalysis):
method __init__ (line 152) | def __init__(
method can_handle (line 162) | def can_handle(self, state: AnalysisState, args: AnalysisState) -> bool:
method _fit (line 174) | def _fit(self, state: AnalysisState, args: AnalysisState, **fit_kwargs):
method _predict (line 227) | def _predict(self, problem_type, predictor, val_data):
FILE: eda/src/autogluon/eda/analysis/shift.py
class XShiftDetector (line 19) | class XShiftDetector(AbstractAnalysis, StateCheckMixin):
method __init__ (line 67) | def __init__(
method can_handle (line 109) | def can_handle(self, state: AnalysisState, args: AnalysisState) -> bool:
method _fit (line 112) | def _fit(self, state: AnalysisState, args: AnalysisState, **fit_kwargs...
function post_fit (line 155) | def post_fit(func):
class Classifier2ST (line 165) | class Classifier2ST:
method __init__ (line 190) | def __init__(
method _make_source_target_label (line 218) | def _make_source_target_label(data, sample_label):
method fit (line 226) | def fit(self, data, **kwargs):
method _pvalue_half_permutation (line 260) | def _pvalue_half_permutation(self, num_permutations=1000):
method pvalue (line 274) | def pvalue(self, num_permutations: int = 1000):
method feature_importance (line 290) | def feature_importance(self):
FILE: eda/src/autogluon/eda/analysis/transform.py
class ApplyFeatureGenerator (line 16) | class ApplyFeatureGenerator(AbstractAnalysis, StateCheckMixin):
method __init__ (line 58) | def __init__(
method can_handle (line 84) | def can_handle(self, state: AnalysisState, args: AnalysisState) -> bool:
method _fit (line 87) | def _fit(self, state: AnalysisState, args: AnalysisState, **fit_kwargs...
FILE: eda/src/autogluon/eda/auto/simple.py
function analyze (line 78) | def analyze(
function analyze_interaction (line 189) | def analyze_interaction(
function _is_single_numeric_variable (line 296) | def _is_single_numeric_variable(x, y, hue, x_type):
function quick_fit (line 300) | def quick_fit(
function dataset_overview (line 529) | def dataset_overview(
function covariate_shift_detection (line 651) | def covariate_shift_detection(
function _is_lightgbm_available (line 784) | def _is_lightgbm_available() -> bool:
function get_default_estimator_if_not_specified (line 793) | def get_default_estimator_if_not_specified(fit_args, fit_bagging_folds: ...
function target_analysis (line 809) | def target_analysis(
function _render_features_highly_correlated_with_target (line 934) | def _render_features_highly_correlated_with_target(
function _render_correlation_analysis (line 957) | def _render_correlation_analysis(state, train_data, label, sample, fig_a...
function _render_distribution_fit_information_if_available (line 984) | def _render_distribution_fit_information_if_available(state, label) -> O...
function missing_values_analysis (line 1006) | def missing_values_analysis(
function explain_rows (line 1089) | def explain_rows(
function partial_dependence_plots (line 1193) | def partial_dependence_plots(
function _validate_and_normalize_pdp_args (line 1411) | def _validate_and_normalize_pdp_args(
function _prepare_pdp_data (line 1436) | def _prepare_pdp_data(
function detect_anomalies (line 1473) | def detect_anomalies(
FILE: eda/src/autogluon/eda/state.py
class AnalysisState (line 8) | class AnalysisState(dict):
method __getattr__ (line 14) | def __getattr__(self, item) -> Any: # needed for mypy checks
method __init__ (line 17) | def __init__(self, *args, **kwargs) -> None:
method __setattr__ (line 26) | def __setattr__(self, name: str, value) -> None:
method __setitem__ (line 31) | def __setitem__(self, key, value) -> None:
method __dict__ (line 37) | def __dict__(self):
class StateCheckMixin (line 41) | class StateCheckMixin:
method at_least_one_key_must_be_present (line 44) | def at_least_one_key_must_be_present(self, state: AnalysisState, *keys...
method all_keys_must_be_present (line 65) | def all_keys_must_be_present(self, state: AnalysisState, *keys) -> bool:
function is_key_present_in_state (line 90) | def is_key_present_in_state(state: AnalysisState, key: str):
FILE: eda/src/autogluon/eda/utils/common.py
function get_empty_dict_if_none (line 6) | def get_empty_dict_if_none(value) -> dict:
function expand_nested_args_into_nested_maps (line 12) | def expand_nested_args_into_nested_maps(args: Dict[str, Any]) -> Dict[st...
FILE: eda/src/autogluon/eda/utils/defaults.py
class QuickFitDefaults (line 1) | class QuickFitDefaults:
FILE: eda/src/autogluon/eda/visualization/anomaly.py
class AnomalyScoresVisualization (line 15) | class AnomalyScoresVisualization(AbstractVisualization, JupyterMixin):
method __init__ (line 91) | def __init__(
method can_handle (line 107) | def can_handle(self, state: AnalysisState) -> bool:
method _render (line 110) | def _render(self, state: AnalysisState) -> None:
FILE: eda/src/autogluon/eda/visualization/base.py
class AbstractVisualization (line 10) | class AbstractVisualization(ABC, StateCheckMixin):
method __init__ (line 35) | def __init__(self, namespace: Optional[str] = None, **kwargs) -> None:
method _get_namespace_state (line 42) | def _get_namespace_state(self, state):
method can_handle (line 49) | def can_handle(self, state: AnalysisState) -> bool:
method _render (line 68) | def _render(self, state: AnalysisState) -> None:
method render (line 84) | def render(self, state: AnalysisState) -> None:
FILE: eda/src/autogluon/eda/visualization/dataset.py
class DatasetStatistics (line 13) | class DatasetStatistics(AbstractVisualization, JupyterMixin):
method __init__ (line 63) | def __init__(
method can_handle (line 76) | def can_handle(self, state: AnalysisState) -> bool:
method _render (line 81) | def _render(self, state: AnalysisState) -> None:
method _merge_analysis_facets (line 106) | def _merge_analysis_facets(ds: str, state: AnalysisState):
method _fix_counts (line 124) | def _fix_counts(df: DataFrame, cols: List[str]) -> DataFrame:
class DatasetTypeMismatch (line 131) | class DatasetTypeMismatch(AbstractVisualization, JupyterMixin):
method __init__ (line 164) | def __init__(self, headers: bool = False, namespace: Optional[str] = N...
method can_handle (line 168) | def can_handle(self, state: AnalysisState) -> bool:
method _render (line 171) | def _render(self, state: AnalysisState) -> None:
class LabelInsightsVisualization (line 184) | class LabelInsightsVisualization(AbstractVisualization, JupyterMixin):
method __init__ (line 220) | def __init__(self, headers: bool = False, namespace: Optional[str] = N...
method can_handle (line 224) | def can_handle(self, state: AnalysisState) -> bool:
method _render (line 227) | def _render(self, state: AnalysisState) -> None:
method _regression_add_out_of_domain_insights (line 241) | def _regression_add_out_of_domain_insights(insights: AnalysisState, md...
method _classification_add_missing_classes_insights (line 252) | def _classification_add_missing_classes_insights(insights: AnalysisSta...
method _classification_add_minority_class_imbalance_insights (line 261) | def _classification_add_minority_class_imbalance_insights(insights: An...
method _classification_add_low_cardinality_classes_insights (line 279) | def _classification_add_low_cardinality_classes_insights(insights: Ana...
FILE: eda/src/autogluon/eda/visualization/explain.py
class _AbstractExplainPlot (line 14) | class _AbstractExplainPlot(AbstractVisualization, JupyterMixin, ABC):
method __init__ (line 15) | def __init__(self, display_rows: bool = False, namespace: Optional[str...
method can_handle (line 19) | def can_handle(self, state: AnalysisState) -> bool:
method _render (line 24) | def _render(self, state: AnalysisState) -> None:
method _render_internal (line 38) | def _render_internal(self, expected_value, shap_values, features, expl...
class ExplainForcePlot (line 42) | class ExplainForcePlot(_AbstractExplainPlot):
method _render_internal (line 79) | def _render_internal(self, expected_value, shap_values, features, expl...
class ExplainWaterfallPlot (line 84) | class ExplainWaterfallPlot(_AbstractExplainPlot):
method _render_internal (line 121) | def _render_internal(self, expected_value, shap_values, features, expl...
FILE: eda/src/autogluon/eda/visualization/interaction.py
class _AbstractCorrelationChart (line 27) | class _AbstractCorrelationChart(AbstractVisualization, JupyterMixin, ABC):
method __init__ (line 28) | def __init__(
method _render_internal (line 41) | def _render_internal(self, state: AnalysisState, render_key: str, head...
class CorrelationVisualization (line 76) | class CorrelationVisualization(_AbstractCorrelationChart):
method can_handle (line 98) | def can_handle(self, state: AnalysisState) -> bool:
method _render (line 101) | def _render(self, state: AnalysisState) -> None:
class _AbstractFeatureInteractionPlotRenderer (line 109) | class _AbstractFeatureInteractionPlotRenderer(ABC):
method _render (line 111) | def _render(self, state, ds, params, param_types, ax, data, chart_args):
method render (line 114) | def render(self, state, ds, params, param_types, data, fig_args, chart...
class CorrelationSignificanceVisualization (line 120) | class CorrelationSignificanceVisualization(_AbstractCorrelationChart):
method can_handle (line 144) | def can_handle(self, state: AnalysisState) -> bool:
method _render (line 147) | def _render(self, state: AnalysisState) -> None:
class FeatureDistanceAnalysisVisualization (line 152) | class FeatureDistanceAnalysisVisualization(AbstractVisualization, Jupyte...
method __init__ (line 170) | def __init__(
method can_handle (line 181) | def can_handle(self, state: AnalysisState) -> bool:
method _render (line 184) | def _render(self, state: AnalysisState) -> None:
class FeatureInteractionVisualization (line 211) | class FeatureInteractionVisualization(AbstractVisualization, JupyterMixin):
method __init__ (line 240) | def __init__(
method can_handle (line 259) | def can_handle(self, state: AnalysisState) -> bool:
method _render (line 262) | def _render(self, state: AnalysisState) -> None:
method _prepare_chart_args (line 316) | def _prepare_chart_args(self, df, x, x_type, y, y_type, hue) -> Tuple[...
method _convert_categoricals_to_objects (line 333) | def _convert_categoricals_to_objects(self, df, x, x_type, y, y_type, h...
method _swap_y_and_hue_if_necessary (line 340) | def _swap_y_and_hue_if_necessary(self, x_type, y, y_type, hue, hue_type):
method _get_value_and_type (line 347) | def _get_value_and_type(
method _get_chart_renderer (line 356) | def _get_chart_renderer(
method _map_raw_type_to_feature_type (line 380) | def _map_raw_type_to_feature_type(
class _HistPlotRenderer (line 396) | class _HistPlotRenderer(_AbstractFeatureInteractionPlotRenderer):
method _render (line 397) | def _render(self, state, ds, params, param_types, ax, data, chart_ar...
class _KdePlotRenderer (line 424) | class _KdePlotRenderer(_AbstractFeatureInteractionPlotRenderer):
method _render (line 425) | def _render(self, state, ds, params, param_types, ax, data, chart_ar...
class _BoxPlotRenderer (line 430) | class _BoxPlotRenderer(_AbstractFeatureInteractionPlotRenderer):
method _render (line 431) | def _render(self, state, ds, params, param_types, ax, data, chart_ar...
class _CountPlotRenderer (line 435) | class _CountPlotRenderer(_AbstractFeatureInteractionPlotRenderer):
method _render (line 436) | def _render(self, state, ds, params, param_types, ax, data, chart_ar...
class _BarPlotRenderer (line 442) | class _BarPlotRenderer(_AbstractFeatureInteractionPlotRenderer):
method _render (line 443) | def _render(self, state, ds, params, param_types, ax, data, chart_ar...
class _ScatterPlotRenderer (line 448) | class _ScatterPlotRenderer(_AbstractFeatureInteractionPlotRenderer):
method _render (line 449) | def _render(self, state, ds, params, param_types, ax, data, chart_ar...
class _RegPlotRenderer (line 452) | class _RegPlotRenderer(_AbstractFeatureInteractionPlotRenderer):
method _render (line 453) | def _render(self, state, ds, params, param_types, ax, data, chart_ar...
class _LinePlotRenderer (line 456) | class _LinePlotRenderer(_AbstractFeatureInteractionPlotRenderer):
method _render (line 457) | def _render(self, state, ds, params, param_types, ax, data, chart_ar...
class PDPInteractions (line 461) | class PDPInteractions(AbstractVisualization, JupyterMixin):
method __init__ (line 497) | def __init__(
method can_handle (line 523) | def can_handle(self, state: AnalysisState) -> bool:
method _render (line 526) | def _render(self, state: AnalysisState) -> None:
method _get_args (line 553) | def _get_args(self):
class _SklearnAutoGluonWrapper (line 577) | class _SklearnAutoGluonWrapper:
method __init__ (line 578) | def __init__(self, estimator):
method _estimator_type (line 583) | def _estimator_type(self):
method __sklearn_is_fitted__ (line 586) | def __sklearn_is_fitted__(self):
method fit (line 589) | def fit(self, X, Y=None):
method predict (line 592) | def predict(self, X):
method predict_proba (line 595) | def predict_proba(self, X):
method classes_ (line 599) | def classes_(self):
FILE: eda/src/autogluon/eda/visualization/jupyter.py
class JupyterMixin (line 4) | class JupyterMixin:
method __init__ (line 5) | def __init__(self) -> None:
method display_obj (line 9) | def display_obj(obj):
method render_header_if_needed (line 12) | def render_header_if_needed(self, state, header_text, ds=""):
method render_markdown (line 20) | def render_markdown(md):
class JupyterTools (line 24) | class JupyterTools:
method fix_tabs_scrolling (line 25) | def fix_tabs_scrolling(self):
FILE: eda/src/autogluon/eda/visualization/layouts.py
class SimpleVerticalLinearLayout (line 21) | class SimpleVerticalLinearLayout(AbstractVisualization):
method __init__ (line 26) | def __init__(
method can_handle (line 38) | def can_handle(self, state: AnalysisState) -> bool:
method _render (line 41) | def _render(self, state: AnalysisState) -> None:
class SimpleHorizontalLayout (line 46) | class SimpleHorizontalLayout(SimpleVerticalLinearLayout):
method _render (line 52) | def _render(self, state: AnalysisState) -> None:
class TabLayout (line 61) | class TabLayout(SimpleVerticalLinearLayout):
method __init__ (line 68) | def __init__(self, facets: Dict[str, AbstractVisualization], namespace...
method _render (line 72) | def _render(self, state: AnalysisState) -> None:
class MarkdownSectionComponent (line 83) | class MarkdownSectionComponent(AbstractVisualization, JupyterMixin):
method __init__ (line 100) | def __init__(
method can_handle (line 116) | def can_handle(self, state: AnalysisState) -> bool:
method _render (line 119) | def _render(self, state: AnalysisState) -> None:
class PropertyRendererComponent (line 123) | class PropertyRendererComponent(AbstractVisualization, JupyterMixin):
method __init__ (line 138) | def __init__(
method can_handle (line 145) | def can_handle(self, state: AnalysisState) -> bool:
method _render (line 148) | def _render(self, state: AnalysisState) -> None:
FILE: eda/src/autogluon/eda/visualization/missing.py
class MissingValues (line 15) | class MissingValues(AbstractVisualization, JupyterMixin):
method __init__ (line 60) | def __init__(
method can_handle (line 70) | def can_handle(self, state: AnalysisState) -> bool:
method _render (line 80) | def _render(self, state: AnalysisState) -> None:
method _has_too_many_variables_for_matrix (line 86) | def _has_too_many_variables_for_matrix(self, state: AnalysisState):
method _internal_render (line 93) | def _internal_render(widget, data, **kwargs):
method _get_operation (line 97) | def _get_operation(self, graph_type):
FILE: eda/src/autogluon/eda/visualization/model.py
class ConfusionMatrix (line 18) | class ConfusionMatrix(AbstractVisualization, JupyterMixin):
method __init__ (line 54) | def __init__(
method can_handle (line 68) | def can_handle(self, state: AnalysisState) -> bool:
method _render (line 71) | def _render(self, state: AnalysisState) -> None:
class _YellowbrickAutoGluonWrapper (line 100) | class _YellowbrickAutoGluonWrapper(ContribEstimator):
method score (line 103) | def score(self, y_pred, y_true, **kwargs):
method predict (line 107) | def predict(self, y_pred, **kwargs):
class RegressionEvaluation (line 112) | class RegressionEvaluation(AbstractVisualization, JupyterMixin):
method __init__ (line 154) | def __init__(
method can_handle (line 171) | def can_handle(self, state: AnalysisState) -> bool:
method _get_plot_mode (line 174) | def _get_plot_mode(self):
method _render (line 184) | def _render(self, state: AnalysisState) -> None:
method _repack_parameters (line 204) | def _repack_parameters(ev):
class FeatureImportance (line 212) | class FeatureImportance(AbstractVisualization, JupyterMixin):
method __init__ (line 250) | def __init__(
method can_handle (line 267) | def can_handle(self, state: AnalysisState) -> bool:
method _render (line 270) | def _render(self, state: AnalysisState) -> None:
class ModelLeaderboard (line 285) | class ModelLeaderboard(AbstractVisualization, JupyterMixin):
method __init__ (line 317) | def __init__(self, namespace: Optional[str] = None, headers: bool = Fa...
method can_handle (line 321) | def can_handle(self, state: AnalysisState) -> bool:
method _render (line 324) | def _render(self, state: AnalysisState) -> None:
FILE: eda/src/autogluon/eda/visualization/shift.py
class XShiftSummary (line 10) | class XShiftSummary(AbstractVisualization, JupyterMixin):
method __init__ (line 19) | def __init__(self, headers: bool = False, namespace: Optional[str] = N...
method _summary (line 23) | def _summary(self, results: dict) -> str:
method _render_feature_importance_if_needed (line 41) | def _render_feature_importance_if_needed(self, state):
method can_handle (line 51) | def can_handle(self, state: AnalysisState) -> bool:
method _render (line 54) | def _render(self, state: AnalysisState) -> None:
FILE: eda/tests/conftest.py
function pytest_addoption (line 4) | def pytest_addoption(parser):
function pytest_configure (line 8) | def pytest_configure(config):
function pytest_collection_modifyitems (line 15) | def pytest_collection_modifyitems(config, items):
FILE: eda/tests/test_check_style.py
function test_check_style (line 6) | def test_check_style():
FILE: eda/tests/unittests/analysis/test_anomaly.py
function test_AnomalyDetector (line 13) | def test_AnomalyDetector():
function _generate_dataset (line 24) | def _generate_dataset(seed=0):
function test_AnomalyDetector__defaults_init (line 32) | def test_AnomalyDetector__defaults_init():
function test_AnomalyDetectorAnalysis (line 53) | def test_AnomalyDetectorAnalysis(monkeypatch):
function test_AnomalyDetectorAnalysis__interpret (line 83) | def test_AnomalyDetectorAnalysis__interpret(monkeypatch):
function test_AnomalyDetectorAnalysis__create_detector (line 115) | def test_AnomalyDetectorAnalysis__create_detector():
function test_AnomalyDetectorAnalysis__can_handle (line 123) | def test_AnomalyDetectorAnalysis__can_handle():
function test_AnomalyDetectorAnalysis__explain_rows_fn (line 143) | def test_AnomalyDetectorAnalysis__explain_rows_fn(dataset):
FILE: eda/tests/unittests/analysis/test_base.py
function test_abstractanalysis_parameter_shadowing (line 11) | def test_abstractanalysis_parameter_shadowing():
function test_abstractanalysis_available_datasets (line 32) | def test_abstractanalysis_available_datasets():
function test_abstractanalysis_available_datasets_some_present (line 48) | def test_abstractanalysis_available_datasets_some_present():
function test_abstractanalysis_fit_is_not_called_if_cannot_handle (line 61) | def test_abstractanalysis_fit_is_not_called_if_cannot_handle():
function test_abstractanalysis_fit_is_called_if_can_handle (line 69) | def test_abstractanalysis_fit_is_called_if_can_handle():
function test_abstractanalysis_fit_on_inner_before_outer_raises_exception (line 77) | def test_abstractanalysis_fit_on_inner_before_outer_raises_exception():
function test_abstractanalysis_fit_gathers_args (line 86) | def test_abstractanalysis_fit_gathers_args():
function test_namespaces (line 100) | def test_namespaces():
function test_SaveArgsToState (line 120) | def test_SaveArgsToState():
function test_SaveArgsToState__no_key (line 139) | def test_SaveArgsToState__no_key():
FILE: eda/tests/unittests/analysis/test_dataset.py
class SomeAnalysis (line 20) | class SomeAnalysis(BaseAnalysis):
method _fit (line 21) | def _fit(self, state: AnalysisState, args: AnalysisState, **fit_kwargs...
function test_Sampler (line 25) | def test_Sampler():
function test_Sampler__window_larger_than_dataset (line 60) | def test_Sampler__window_larger_than_dataset():
function test_Sampler_frac (line 80) | def test_Sampler_frac():
function test_TrainValidationSplit (line 96) | def test_TrainValidationSplit():
function __get_dataset_summary_test_datasets (line 131) | def __get_dataset_summary_test_datasets():
function test_DatasetSummary (line 146) | def test_DatasetSummary():
function test_RawTypesAnalysis (line 157) | def test_RawTypesAnalysis():
function test_VariableTypeAnalysis_can_handle (line 165) | def test_VariableTypeAnalysis_can_handle():
function test_VariableTypeAnalysis__map_raw_type_to_feature_type__special_cases (line 174) | def test_VariableTypeAnalysis__map_raw_type_to_feature_type__special_cas...
function test_VariableTypeAnalysis__map_raw_type_to_feature_type__regular_cases (line 186) | def test_VariableTypeAnalysis__map_raw_type_to_feature_type__regular_cas...
function test_VariableTypeAnalysis (line 193) | def test_VariableTypeAnalysis():
function test_SpecialTypesAnalysis (line 215) | def test_SpecialTypesAnalysis():
function test_LabelInsightsAnalysis__classification__low_cardinality_classes (line 227) | def test_LabelInsightsAnalysis__classification__low_cardinality_classes(...
function test_LabelInsightsAnalysis__classification__class_imbalance (line 256) | def test_LabelInsightsAnalysis__classification__class_imbalance(n_c1, n_...
function test_LabelInsightsAnalysis__classification__not_present_in_train (line 283) | def test_LabelInsightsAnalysis__classification__not_present_in_train():
function test_LabelInsightsAnalysis__regression__no_ood (line 306) | def test_LabelInsightsAnalysis__regression__no_ood():
function test_LabelInsightsAnalysis__regression__ood (line 325) | def test_LabelInsightsAnalysis__regression__ood(threshold, is_warning_ex...
FILE: eda/tests/unittests/analysis/test_explain.py
function test_ShapAnalysis (line 22) | def test_ShapAnalysis(label, expected_task_type, monkeypatch):
FILE: eda/tests/unittests/analysis/test_interaction.py
function load_adult_data (line 25) | def load_adult_data():
function test_Correlation_spearman (line 34) | def test_Correlation_spearman():
function test_Correlation_pearson (line 56) | def test_Correlation_pearson():
function test_Correlation_kendall (line 78) | def test_Correlation_kendall():
function test_Correlation_phik (line 100) | def test_Correlation_phik():
function test_Correlation_focus (line 124) | def test_Correlation_focus():
function test_CorrelationSignificance__can_handle (line 157) | def test_CorrelationSignificance__can_handle():
function test_CorrelationSignificance (line 177) | def test_CorrelationSignificance():
function __create_test_df (line 204) | def __create_test_df():
function __compare_outputs (line 218) | def __compare_outputs(expected: AnalysisState, actual: AnalysisState):
function test_FeatureInteraction (line 225) | def test_FeatureInteraction():
function test_FeatureInteraction__key_provided (line 245) | def test_FeatureInteraction__key_provided():
function test_FeatureInteraction__generate_key_if_not_provided (line 265) | def test_FeatureInteraction__generate_key_if_not_provided(cols, expected):
function test_FeatureInteraction__can_handle (line 269) | def test_FeatureInteraction__can_handle():
function test_DistributionFit__happy_path (line 275) | def test_DistributionFit__happy_path():
function test_DistributionFit__constructor_defaults (line 325) | def test_DistributionFit__constructor_defaults():
function test_DistributionFit__constructor_unsupported_dist (line 340) | def test_DistributionFit__constructor_unsupported_dist():
function test_DistributionFit__non_numeric_col (line 348) | def test_DistributionFit__non_numeric_col():
function test_FeatureDistanceAnalysis__happy_path (line 365) | def test_FeatureDistanceAnalysis__happy_path():
FILE: eda/tests/unittests/analysis/test_missing.py
function test_MissingValuesAnalysis (line 8) | def test_MissingValuesAnalysis():
FILE: eda/tests/unittests/analysis/test_model.py
function fit_model (line 15) | def fit_model(path, df_train, target, fit_args=None):
function test_AutoGluonModelEvaluator_regression (line 26) | def test_AutoGluonModelEvaluator_regression():
function test_AutoGluonModelEvaluator_regression__with_test_data (line 56) | def test_AutoGluonModelEvaluator_regression__with_test_data():
function test_AutoGluonModelEvaluator_classification (line 86) | def test_AutoGluonModelEvaluator_classification():
function test_AutoGluonModelQuickFit (line 111) | def test_AutoGluonModelQuickFit(save_model_to_state):
function test_AutoGluonModelQuickFit__constructor_defaults (line 154) | def test_AutoGluonModelQuickFit__constructor_defaults():
function _assert_importance_is_present (line 158) | def _assert_importance_is_present(state):
FILE: eda/tests/unittests/analysis/test_transform.py
class SomeAnalysis (line 12) | class SomeAnalysis(BaseAnalysis):
method _fit (line 13) | def _fit(self, state: AnalysisState, args: AnalysisState, **fit_kwargs...
function __replace_ints (line 17) | def __replace_ints(values: List[str]) -> List[str]:
function test_ApplyFeatureGenerator (line 23) | def test_ApplyFeatureGenerator():
FILE: eda/tests/unittests/auto/test_simple.py
class SomeAnalysis (line 56) | class SomeAnalysis(BaseAnalysis):
method _fit (line 57) | def _fit(self, state: AnalysisState, args: AnalysisState, **fit_kwargs...
class SomeVisualization (line 61) | class SomeVisualization(AbstractVisualization):
method can_handle (line 62) | def can_handle(self, state: AnalysisState) -> bool:
method _render (line 65) | def _render(self, state: AnalysisState) -> None:
function test_analyze (line 69) | def test_analyze():
function test_analyze_return_state (line 103) | def test_analyze_return_state():
function test_analyze_None_state (line 109) | def test_analyze_None_state():
function test_analyze_state_dict_convert (line 114) | def test_analyze_state_dict_convert():
function test_analyze_state_no_AnalysisState_convert (line 123) | def test_analyze_state_no_AnalysisState_convert():
function test_quick_fit (line 132) | def test_quick_fit(monkeypatch):
function test_dataset_overview (line 162) | def test_dataset_overview(monkeypatch):
function test_covariate_shift_detection (line 194) | def test_covariate_shift_detection(monkeypatch):
function _force_using_rf_if_on_mac (line 222) | def _force_using_rf_if_on_mac(m):
function test_get_empty_dict_if_none (line 229) | def test_get_empty_dict_if_none():
function test_get_default_estimator_if_not_specified (line 247) | def test_get_default_estimator_if_not_specified(monkeypatch, hyperparame...
function test_analyze_interaction__with_distribution (line 274) | def test_analyze_interaction__with_distribution(monkeypatch, fit_distrib...
function test_analyze_interaction__do_not_fit (line 290) | def test_analyze_interaction__do_not_fit(monkeypatch):
function test_analyze_interaction__is_single_numeric_variable (line 318) | def test_analyze_interaction__is_single_numeric_variable(x, y, hue, x_ty...
function test_target_analysis__classification (line 322) | def test_target_analysis__classification(monkeypatch):
function test_target_analysis__regression (line 370) | def test_target_analysis__regression(monkeypatch):
function test_explain_rows (line 455) | def test_explain_rows(plot, monkeypatch):
function test_partial_dependence_plots__prepare_pdp_data (line 498) | def test_partial_dependence_plots__prepare_pdp_data():
function test_partial_dependence_plots__prepare_pdp_data__features_specified (line 522) | def test_partial_dependence_plots__prepare_pdp_data__features_specified():
function test_partial_dependence_plots__validate_and_normalize_pdp_args__none_args (line 533) | def test_partial_dependence_plots__validate_and_normalize_pdp_args__none...
function test_partial_dependence_plots__validate_and_normalize_pdp_args__single_feature (line 543) | def test_partial_dependence_plots__validate_and_normalize_pdp_args__sing...
function test_partial_dependence_plots__validate_and_normalize_pdp_args__wrong_features (line 551) | def test_partial_dependence_plots__validate_and_normalize_pdp_args__wron...
function test_partial_dependence_plots__validate_and_normalize_pdp_args (line 557) | def test_partial_dependence_plots__validate_and_normalize_pdp_args():
function test_partial_dependence_plots (line 570) | def test_partial_dependence_plots(monkeypatch):
function test_detect_anomalies (line 619) | def test_detect_anomalies(monkeypatch, add_explainability):
FILE: eda/tests/unittests/test_shift.py
function load_adult_data (line 16) | def load_adult_data():
function sim_cov_shift (line 25) | def sim_cov_shift(train, test, p_nonmarr=0.75, val=False):
function test_shift (line 45) | def test_shift():
FILE: eda/tests/unittests/test_state.py
function test_analysis_state (line 7) | def test_analysis_state():
function test_analysis_state_ignore_non_dict_args (line 15) | def test_analysis_state_ignore_non_dict_args():
function test_analysis_state_nested (line 20) | def test_analysis_state_nested():
function test_analysis_state_nested_missing (line 25) | def test_analysis_state_nested_missing():
function test_analysis_state_mutation (line 30) | def test_analysis_state_mutation():
function test_analysis_state_nested_mutation (line 37) | def test_analysis_state_nested_mutation():
function test_statecheckmixin_at_least_one_key_must_be_present (line 45) | def test_statecheckmixin_at_least_one_key_must_be_present():
function test_statecheckmixin_all_keys_must_be_present (line 54) | def test_statecheckmixin_all_keys_must_be_present():
function test_expand_nested_args_into_nested_maps (line 63) | def test_expand_nested_args_into_nested_maps():
function test_expand_nested_args_into_nested_maps__namespaces_overlap (line 71) | def test_expand_nested_args_into_nested_maps__namespaces_overlap():
FILE: eda/tests/unittests/visualization/test_anomaly.py
function test_AnomalyScoresVisualization__init (line 12) | def test_AnomalyScoresVisualization__init():
function test_AnomalyScoresVisualization (line 24) | def test_AnomalyScoresVisualization(monkeypatch):
FILE: eda/tests/unittests/visualization/test_base.py
class SomeVisualization (line 7) | class SomeVisualization(AbstractVisualization):
method can_handle (line 8) | def can_handle(self, state: AnalysisState) -> bool:
method _render (line 11) | def _render(self, state: AnalysisState) -> None:
function test_AbstractVisualization_cannot_render (line 15) | def test_AbstractVisualization_cannot_render():
function test_AbstractVisualization_can_render (line 24) | def test_AbstractVisualization_can_render():
FILE: eda/tests/unittests/visualization/test_dataset.py
function test_DatasetStatistics (line 18) | def test_DatasetStatistics():
function test_DatasetStatistics__can_handle (line 61) | def test_DatasetStatistics__can_handle(state_present, expected):
function test__merge_analysis_facets__single_values (line 66) | def test__merge_analysis_facets__single_values(field):
function test__merge_analysis_facets__single_values__missing_statistics (line 75) | def test__merge_analysis_facets__single_values__missing_statistics():
function test__merge_analysis_facets__multiple_values (line 85) | def test__merge_analysis_facets__multiple_values():
function test__fix_counts (line 105) | def test__fix_counts():
function test_DatasetTypeMismatch (line 118) | def test_DatasetTypeMismatch():
function test_DatasetTypeMismatch__no_warnings (line 136) | def test_DatasetTypeMismatch__no_warnings():
function test_LabelInsightsVisualization (line 148) | def test_LabelInsightsVisualization():
function test_LabelInsightsVisualization__no_state (line 191) | def test_LabelInsightsVisualization__no_state():
FILE: eda/tests/unittests/visualization/test_explain.py
function test_ExplainForcePlot (line 20) | def test_ExplainForcePlot(display_rows, monkeypatch):
function test_ExplainWaterfallPlot (line 64) | def test_ExplainWaterfallPlot(display_rows, monkeypatch):
FILE: eda/tests/unittests/visualization/test_interaction.py
function test_CorrelationVisualization_single_value (line 25) | def test_CorrelationVisualization_single_value(monkeypatch):
function test_CorrelationVisualization (line 39) | def test_CorrelationVisualization(monkeypatch):
function test_CorrelationVisualization_phik (line 45) | def test_CorrelationVisualization_phik(monkeypatch):
function test_CorrelationVisualization_focus (line 59) | def test_CorrelationVisualization_focus(monkeypatch):
function test_CorrelationVisualization__can_handle (line 81) | def test_CorrelationVisualization__can_handle():
function test_CorrelationSignificanceVisualization__can_handle (line 88) | def test_CorrelationSignificanceVisualization__can_handle():
function test_CorrelationSignificanceVisualization (line 98) | def test_CorrelationSignificanceVisualization(monkeypatch):
function __get_train_data (line 115) | def __get_train_data():
function __test_internal (line 127) | def __test_internal(monkeypatch, render_key, state, heatmap_args, facet_...
function test_FeatureInteractionVisualization__happy_path (line 165) | def test_FeatureInteractionVisualization__happy_path(monkeypatch):
function test_FeatureInteractionVisualization__headers (line 195) | def test_FeatureInteractionVisualization__headers(monkeypatch, is_single...
function test_FeatureInteractionVisualization__state_different_key (line 223) | def test_FeatureInteractionVisualization__state_different_key(monkeypatch):
function test_FeatureInteractionVisualization__no_renderer (line 244) | def test_FeatureInteractionVisualization__no_renderer(monkeypatch):
function test_FeatureInteractionVisualization__convert_categoricals_to_objects (line 261) | def test_FeatureInteractionVisualization__convert_categoricals_to_object...
function test_FeatureInteractionVisualization__prepare_chart_args__single_var (line 313) | def test_FeatureInteractionVisualization__prepare_chart_args__single_var(
function test_FeatureInteractionVisualization__fig_args (line 352) | def test_FeatureInteractionVisualization__fig_args(x_type, y_type, hue_t...
function test_FeatureInteractionVisualization__map_raw_type_to_feature_type (line 383) | def test_FeatureInteractionVisualization__map_raw_type_to_feature_type(
function __get_feature_interaction_state (line 395) | def __get_feature_interaction_state():
function test_FeatureInteractionVisualization__HistPlotRenderer (line 417) | def test_FeatureInteractionVisualization__HistPlotRenderer(monkeypatch, ...
function test_FeatureDistanceAnalysisVisualization__happy_path (line 469) | def test_FeatureDistanceAnalysisVisualization__happy_path(monkeypatch, h...
function test_FeatureInteractionVisualization__no_fig_args (line 554) | def test_FeatureInteractionVisualization__no_fig_args():
function __get_args__figargs (line 561) | def __get_args__figargs(figsize, ncols, nrows):
function test_PDPInteractions__get_args (line 578) | def test_PDPInteractions__get_args(features, two_way, expected_result):
function test_PDPInteractions (line 588) | def test_PDPInteractions(monkeypatch):
function test_PDPInteractions__two_way (line 622) | def test_PDPInteractions__two_way(monkeypatch):
FILE: eda/tests/unittests/visualization/test_layouts.py
function test_PropertyRendererComponent (line 10) | def test_PropertyRendererComponent(with_transform_fn, expected):
FILE: eda/tests/unittests/visualization/test_missing.py
function test_MissingValues (line 12) | def test_MissingValues():
function test_MissingValues__no_headers (line 38) | def test_MissingValues__no_headers():
function test_get_operation (line 54) | def test_get_operation(input_type, expected):
function test_has_too_many_variables_for_matrix (line 67) | def test_has_too_many_variables_for_matrix(cols_number, expected):
function __prepare_test_data (line 80) | def __prepare_test_data():
FILE: eda/tests/unittests/visualization/test_model.py
function test_ConfusionMatrix (line 14) | def test_ConfusionMatrix(monkeypatch, confusion_matrix_normalized, expec...
function test_ConfusionMatrix__can_handle (line 64) | def test_ConfusionMatrix__can_handle():
function test_RegressionEvaluation (line 70) | def test_RegressionEvaluation(monkeypatch):
function test_RegressionEvaluation__repack_parameters (line 124) | def test_RegressionEvaluation__repack_parameters(train_present, val_pres...
function test_RegressionEvaluation__can_handle (line 140) | def test_RegressionEvaluation__can_handle():
function test_RegressionEvaluation__handle_None_fig_args (line 168) | def test_RegressionEvaluation__handle_None_fig_args():
function test_FeatureImportance__can_handle (line 174) | def test_FeatureImportance__can_handle():
function test_FeatureImportance__handle_None_fig_args (line 191) | def test_FeatureImportance__handle_None_fig_args():
function test_FeatureImportance (line 203) | def test_FeatureImportance(monkeypatch, show_barplots):
function test_ModelLeaderboard (line 246) | def test_ModelLeaderboard():
FILE: examples/automm/Conv-LoRA/prepare_semantic_segmentation_datasets.py
function get_data_home_dir (line 6) | def get_data_home_dir():
FILE: examples/automm/Conv-LoRA/run_semantic_segmentation.py
function get_default_training_setting (line 9) | def get_default_training_setting(dataset_name):
function expand_path (line 39) | def expand_path(df, dataset_dir):
FILE: examples/automm/TCGA_cancer_survival/example_cancer_survival.py
function get_parser (line 29) | def get_parser():
function data_loader (line 45) | def data_loader(path="./dataset/", ):
function preprocess (line 62) | def preprocess(df, test_size, shuffle):
function train (line 80) | def train(args):
function set_seed (line 107) | def set_seed(seed):
FILE: examples/automm/distillation/automm_distillation_glue.py
function get_parser (line 23) | def get_parser():
function main (line 53) | def main(args):
FILE: examples/automm/distillation/automm_distillation_pawsx.py
function tasks_to_id (line 12) | def tasks_to_id(pawsx_tasks):
function getDatasetSplits (line 19) | def getDatasetSplits(pawsx_tasks):
function main (line 39) | def main(args):
FILE: examples/automm/distillation/eval_pawsx.py
function tasks_to_id (line 12) | def tasks_to_id(pawsx_tasks):
function main (line 20) | def main(args):
FILE: examples/automm/kaggle_california_house_price/example_kaggle_house.py
function get_parser (line 11) | def get_parser():
function get_automm_hyperparameters (line 34) | def get_automm_hyperparameters(mode, text_backbone, cat_as_text):
function preprocess (line 53) | def preprocess(df, with_tax_values=True, log_scale_lot=True,
function set_seed (line 74) | def set_seed(seed):
function train (line 81) | def train(args):
FILE: examples/automm/kaggle_feedback_prize/kaggle_feedback_prize_preprocess.py
function get_essay (line 6) | def get_essay(essay_id: str, input_dir: str, is_train: bool = True) -> str:
function read_and_process_data (line 13) | def read_and_process_data(path: str, file: str, is_train: bool) -> pd.Da...
FILE: examples/automm/kaggle_feedback_prize/kaggle_feedback_prize_train.py
function get_args (line 13) | def get_args() -> argparse.ArgumentParser:
function get_hparams (line 44) | def get_hparams(args: argparse.ArgumentParser) -> dict:
function set_seed (line 55) | def set_seed(seed: int) -> None:
function train (line 61) | def train(
FILE: examples/automm/kaggle_pawpularity/kaggle_pawpularity_submit.py
function load_data (line 43) | def load_data(data_path):
FILE: examples/automm/kaggle_pawpularity/kaggle_pawpularity_train.py
function get_args (line 11) | def get_args():
function load_data (line 100) | def load_data(data_path: str):
FILE: examples/automm/memory_bank/memory_bank.py
function get_args (line 19) | def get_args():
class AutoMMMemoryBank (line 62) | class AutoMMMemoryBank(nn.Module):
method __init__ (line 68) | def __init__(
method adapt_logits (line 113) | def adapt_logits(self, affinity, pure_logits, alpha, beta):
method change_head_state (line 136) | def change_head_state(self, grad_state):
method change_adapter_state (line 149) | def change_adapter_state(self, grad_state):
method forward (line 161) | def forward(self, x, alpha=1, beta=1, pure_logits=None):
function train_logits (line 205) | def train_logits(
function run_memory_bank (line 301) | def run_memory_bank(
function main (line 399) | def main():
FILE: examples/automm/memory_bank/utils.py
function cls_acc (line 13) | def cls_acc(output, target, topk=1):
function generate_image_df (line 20) | def generate_image_df(args, dataset):
function generate_dataset (line 31) | def generate_dataset(args):
function extract_embedding (line 57) | def extract_embedding(args, data, predictor, column_names):
function generate_clip_weights (line 68) | def generate_clip_weights(args, classnames, template, predictor):
function generate_bank_model (line 84) | def generate_bank_model(args, train_df, predictor):
function extract_val_test (line 104) | def extract_val_test(args, predictor, val_df, test_df):
function search_hp (line 112) | def search_hp(
class Wrapper (line 163) | class Wrapper(TorchDataset):
method __init__ (line 165) | def __init__(self, data_source, column_names=["image"], label_column="...
method __len__ (line 170) | def __len__(self):
method __getitem__ (line 173) | def __getitem__(self, idx):
function build_data_loader (line 180) | def build_data_loader(
FILE: examples/automm/object_detection/benchmarking.py
function main (line 9) | def main(benchmark_root, dataset_name, presets, seed):
FILE: examples/automm/object_detection/detection_eval.py
function detection_evaluation (line 20) | def detection_evaluation(
FILE: examples/automm/object_detection/detection_inference.py
function test_inference (line 9) | def test_inference(dataset, checkpoint_name):
function test_voc_inference (line 42) | def test_voc_inference(checkpoint_name="faster_rcnn_r50_fpn_1x_voc0712"):
FILE: examples/automm/object_detection/detection_load.py
function load_and_evaluate (line 7) | def load_and_evaluate(
FILE: examples/automm/object_detection/detection_train.py
function detection_train (line 35) | def detection_train(
FILE: examples/automm/object_detection/eval_pretrained_coco_format.py
function tutorial_script_for_eval_pretrained_coco_format (line 20) | def tutorial_script_for_eval_pretrained_coco_format():
function eval_pretrained_coco_format (line 38) | def eval_pretrained_coco_format(
FILE: examples/automm/object_detection/eval_pretrained_voc_format.py
function tutorial_script_for_eval_pretrained_voc_format (line 15) | def tutorial_script_for_eval_pretrained_voc_format():
function eval_pretrained_voc_format (line 35) | def eval_pretrained_voc_format(
FILE: examples/automm/object_detection/finetune_coco_format.py
function finetune_coco_format (line 11) | def finetune_coco_format(
function main (line 49) | def main():
FILE: examples/automm/object_detection/finetune_on_pothole_dataset.py
function download_pothole_dataset (line 14) | def download_pothole_dataset():
function main (line 27) | def main():
FILE: examples/automm/object_detection/inference_pretrained_coco_format.py
function tutorial_script_for_eval_pretrained_coco_format (line 23) | def tutorial_script_for_eval_pretrained_coco_format():
function eval_pretrained_coco_format (line 42) | def eval_pretrained_coco_format(
FILE: examples/automm/object_detection/inference_pretrained_voc_format.py
function tutorial_script_for_eval_pretrained_voc_format (line 21) | def tutorial_script_for_eval_pretrained_voc_format():
function eval_pretrained_voc_format (line 40) | def eval_pretrained_voc_format(
FILE: examples/automm/object_detection/load_predictor.py
function tutorial_script_for_save_load_predictor (line 18) | def tutorial_script_for_save_load_predictor():
function detection_load_predictor_and_eval (line 32) | def detection_load_predictor_and_eval(test_path, load_path, num_gpus):
function main (line 40) | def main():
FILE: examples/automm/object_detection/pretrain_objects365.py
function main (line 6) | def main():
FILE: examples/automm/object_detection/quick_start_on_a_tiny_dataset.py
function tutorial_script_for_quick_start (line 9) | def tutorial_script_for_quick_start():
FILE: examples/automm/object_detection/visualize_results.py
function tutorial_script_for_visualize_detection_results (line 16) | def tutorial_script_for_visualize_detection_results():
function visualize_detection_results (line 46) | def visualize_detection_results(
FILE: examples/automm/pipeline/feature_extraction_example.py
function evaluate (line 18) | def evaluate(predictor, df, onnx_session=None):
function main (line 49) | def main(args):
FILE: examples/automm/production/onnx_text.py
function eval_cosine (line 13) | def eval_cosine(predictor, df, onnx_session):
FILE: examples/automm/tabular_dl/dataset.py
class BaseTabularDataset (line 17) | class BaseTabularDataset(abc.ABC):
method data (line 20) | def data(self):
method label_column (line 25) | def label_column(self):
method label_type (line 30) | def label_type(self):
method metric (line 35) | def metric(self):
method problem_type (line 40) | def problem_type(self):
class AdultTabularDataset (line 44) | class AdultTabularDataset(BaseTabularDataset):
method __init__ (line 60) | def __init__(self, split="train", path="./dataset/"):
method data (line 72) | def data(self):
method label_column (line 76) | def label_column(self):
method label_type (line 80) | def label_type(self):
method metric (line 84) | def metric(self):
method problem_type (line 88) | def problem_type(self):
class AloiTabularDataset (line 92) | class AloiTabularDataset(BaseTabularDataset):
method __init__ (line 108) | def __init__(self, split="train", path="./dataset/"):
method data (line 120) | def data(self):
method label_column (line 124) | def label_column(self):
method label_type (line 128) | def label_type(self):
method metric (line 132) | def metric(self):
method problem_type (line 136) | def problem_type(self):
class CaliforniaHousingTabularDataset (line 140) | class CaliforniaHousingTabularDataset(BaseTabularDataset):
method __init__ (line 156) | def __init__(self, split="train", path="./dataset/"):
method data (line 168) | def data(self):
method label_column (line 172) | def label_column(self):
method label_type (line 176) | def label_type(self):
method metric (line 180) | def metric(self):
method problem_type (line 184) | def problem_type(self):
class CovtypeTabularDataset (line 188) | class CovtypeTabularDataset(BaseTabularDataset):
method __init__ (line 204) | def __init__(self, split="train", path="./dataset/"):
method data (line 216) | def data(self):
method label_column (line 220) | def label_column(self):
method label_type (line 224) | def label_type(self):
method metric (line 228) | def metric(self):
method problem_type (line 232) | def problem_type(self):
class EpsilonTabularDataset (line 236) | class EpsilonTabularDataset(BaseTabularDataset):
method __init__ (line 252) | def __init__(self, split="train", path="./dataset/"):
method data (line 264) | def data(self):
method label_column (line 268) | def label_column(self):
method label_type (line 272) | def label_type(self):
method metric (line 276) | def metric(self):
method problem_type (line 280) | def problem_type(self):
class HelenaTabularDataset (line 284) | class HelenaTabularDataset(BaseTabularDataset):
method __init__ (line 300) | def __init__(self, split="train", path="./dataset/"):
method data (line 312) | def data(self):
method label_column (line 316) | def label_column(self):
method label_type (line 320) | def label_type(self):
method metric (line 324) | def metric(self):
method problem_type (line 328) | def problem_type(self):
class HiggsSmallTabularDataset (line 332) | class HiggsSmallTabularDataset(BaseTabularDataset):
method __init__ (line 348) | def __init__(self, split="train", path="./dataset/"):
method data (line 360) | def data(self):
method label_column (line 364) | def label_column(self):
method label_type (line 368) | def label_type(self):
method metric (line 372) | def metric(self):
method problem_type (line 376) | def problem_type(self):
class JannisTabularDataset (line 380) | class JannisTabularDataset(BaseTabularDataset):
method __init__ (line 396) | def __init__(self, split="train", path="./dataset/"):
method data (line 408) | def data(self):
method label_column (line 412) | def label_column(self):
method label_type (line 416) | def label_type(self):
method metric (line 420) | def metric(self):
method problem_type (line 424) | def problem_type(self):
class MicrosoftTabularDataset (line 428) | class MicrosoftTabularDataset(BaseTabularDataset):
method __init__ (line 444) | def __init__(self, split="train", path="./dataset/"):
method data (line 456) | def data(self):
method label_column (line 460) | def label_column(self):
method label_type (line 464) | def label_type(self):
method metric (line 468) | def metric(self):
method problem_type (line 472) | def problem_type(self):
class YahooTabularDataset (line 476) | class YahooTabularDataset(BaseTabularDataset):
method __init__ (line 492) | def __init__(self, split="train", path="./dataset/"):
method data (line 504) | def data(self):
method label_column (line 508) | def label_column(self):
method label_type (line 512) | def label_type(self):
method metric (line 516) | def metric(self):
method problem_type (line 520) | def problem_type(self):
class YearTabularDataset (line 524) | class YearTabularDataset(BaseTabularDataset):
method __init__ (line 540) | def __init__(self, split="train", path="./dataset/"):
method data (line 552) | def data(self):
method label_column (line 556) | def label_column(self):
method label_type (line 560) | def label_type(self):
method metric (line 564) | def metric(self):
method problem_type (line 568) | def problem_type(self):
FILE: examples/automm/tabular_dl/example_tabular.py
function main (line 62) | def main(args):
FILE: examples/automm/text_prediction/generate_submission.py
function get_parser (line 8) | def get_parser():
function get_test_index (line 15) | def get_test_index(path):
function main (line 24) | def main(args):
FILE: examples/automm/text_prediction/prepare_glue.py
function read_tsv_glue (line 48) | def read_tsv_glue(tsv_file, num_skip=1, keep_column_names=False):
function read_jsonl_superglue (line 86) | def read_jsonl_superglue(jsonl_file):
function read_cola (line 104) | def read_cola(dir_path):
function read_sst (line 120) | def read_sst(dir_path):
function read_mrpc (line 131) | def read_mrpc(dir_path):
function read_qqp (line 146) | def read_qqp(dir_path):
function read_sts (line 161) | def read_sts(dir_path):
function read_mnli (line 183) | def read_mnli(dir_path):
function read_snli (line 197) | def read_snli(dir_path):
function read_qnli (line 221) | def read_qnli(dir_path):
function read_rte (line 233) | def read_rte(dir_path):
function read_wnli (line 246) | def read_wnli(dir_path):
function read_glue_diagnostic (line 260) | def read_glue_diagnostic(dir_path):
function read_cb (line 268) | def read_cb(dir_path):
function read_copa (line 281) | def read_copa(dir_path):
function read_multirc (line 295) | def read_multirc(dir_path):
function read_rte_superglue (line 326) | def read_rte_superglue(dir_path):
function read_wic (line 340) | def read_wic(dir_path):
function read_wsc (line 376) | def read_wsc(dir_path):
function read_boolq (line 417) | def read_boolq(dir_path):
function read_record (line 426) | def read_record(dir_path):
function read_winogender_diagnostic (line 458) | def read_winogender_diagnostic(dir_path):
function read_broadcoverage_diagnostic (line 464) | def read_broadcoverage_diagnostic(dir_path):
function format_mrpc (line 532) | def format_mrpc(data_dir):
function get_tasks (line 575) | def get_tasks(benchmark, task_names):
function get_parser (line 595) | def get_parser():
function main (line 614) | def main(args):
function cli_main (line 696) | def cli_main():
FILE: examples/automm/text_prediction/run_competition.py
function get_parser (line 12) | def get_parser():
function load_machine_hack_product_sentiment (line 52) | def load_machine_hack_product_sentiment(train_path, test_path):
function load_price_of_books (line 62) | def load_price_of_books(train_path, test_path):
function load_data_scientist_salary (line 80) | def load_data_scientist_salary(train_path, test_path):
function load_mercari_price_prediction (line 88) | def load_mercari_price_prediction(train_path, test_path):
function run (line 146) | def run(args):
FILE: examples/automm/text_prediction/run_text_prediction.py
function get_parser (line 28) | def get_parser():
function train (line 72) | def train(args):
function predict (line 137) | def predict(args):
FILE: examples/image_regression/demo.py
function image_regression (line 4) | def image_regression():
FILE: examples/tabular/example_custom_feature_generator.py
class PlusKFeatureGenerator (line 78) | class PlusKFeatureGenerator(AbstractFeatureGenerator):
method __init__ (line 79) | def __init__(self, k, **kwargs):
method _fit_transform (line 83) | def _fit_transform(self, X: DataFrame, **kwargs) -> (DataFrame, dict):
method _transf
Copy disabled (too large)
Download .json
Condensed preview — 1298 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (13,093K chars).
[
{
"path": ".gitattributes",
"chars": 735,
"preview": "# Set the default behavior, in case people don't have core.autocrlf set.\n* text=auto eol=lf\n\n# Explicitly declare text f"
},
{
"path": ".github/ISSUE_TEMPLATE/bug_report.md",
"chars": 1490,
"preview": "---\nname: Bug Report\nabout: Create a report to help us reproduce and correct the bug\ntitle: \"[BUG]\"\nlabels: ['bug: uncon"
},
{
"path": ".github/ISSUE_TEMPLATE/config.yml",
"chars": 352,
"preview": "blank_issues_enabled: true\ncontact_links:\n - name: Discussions\n url: https://github.com/autogluon/autogluon/discussi"
},
{
"path": ".github/ISSUE_TEMPLATE/doc_improvement.yml",
"chars": 593,
"preview": "name: Documentation improvement\ndescription: Create a report to help us improve the documentation. Alternatively you can"
},
{
"path": ".github/ISSUE_TEMPLATE/feature_request.md",
"chars": 523,
"preview": "---\nname: Feature Request\nabout: Suggest an idea for this project\ntitle: \"\"\nlabels: ['enhancement']\nassignees: ''\n\n---\n\n"
},
{
"path": ".github/PULL_REQUEST_TEMPLATE.md",
"chars": 197,
"preview": "*Issue #, if available:*\n\n*Description of changes:*\n\n\nBy submitting this pull request, I confirm that you can use, modif"
},
{
"path": ".github/actions/free-disk-space/action.yml",
"chars": 425,
"preview": "name: 'Free Disk Space'\ndescription: 'Free up disk space on Ubuntu runners'\nruns:\n using: \"composite\"\n steps:\n - na"
},
{
"path": ".github/actions/setup-env-vars/action.yml",
"chars": 1195,
"preview": "name: \"Setup Env Vars\"\n\nruns:\n using: \"composite\"\n steps:\n - name: Get Commit SHA(For push)\n if: ${{ github.ev"
},
{
"path": ".github/actions/submit-job/action.yml",
"chars": 3383,
"preview": "name: \"Submit Job to AWS Batch\"\ninputs:\n job-type:\n required: true\n job-name:\n required: true\n work-dir:\n re"
},
{
"path": ".github/actions/test-cloud/action.yml",
"chars": 556,
"preview": "name: \"Test Cloud Module\"\ninputs:\n submodule-to-test:\n required: true\n\nruns:\n using: \"composite\"\n steps:\n - nam"
},
{
"path": ".github/workflow_scripts/build_all_docs.sh",
"chars": 2433,
"preview": "#!/usr/bin/env bash\n\n# This script build the docs and store the results into a intermediate bucket to prevent our web ho"
},
{
"path": ".github/workflow_scripts/build_cloud_fit_deploy_tutorial.sh",
"chars": 286,
"preview": "#!/bin/bash\n\nset -ex\nshopt -s extglob\n\nBRANCH=$(basename $1)\nGIT_REPO=$2\nCOMMIT_SHA=$3\nPR_NUMBER=$4 # For push events, "
},
{
"path": ".github/workflow_scripts/build_doc.sh",
"chars": 1381,
"preview": "function build_doc {\n DOC=\"$1\"\n BRANCH=\"$2\"\n GIT_REPO=\"$3\"\n COMMIT_SHA=\"$4\"\n PR_NUMBER=\"$5\" # For push e"
},
{
"path": ".github/workflow_scripts/build_eda_tutorial.sh",
"chars": 273,
"preview": "#!/bin/bash\n\nset -ex\nshopt -s extglob\n\nBRANCH=$(basename $1)\nGIT_REPO=$2\nCOMMIT_SHA=$3\nPR_NUMBER=$4 # For push events, "
},
{
"path": ".github/workflow_scripts/build_multimodal_tutorial.sh",
"chars": 334,
"preview": "#!/bin/bash\n\nset -ex\nshopt -s extglob\n\nSUB_DOC=$1\nBRANCH=$(basename $2)\nGIT_REPO=$3\nCOMMIT_SHA=$4\nPR_NUMBER=$5 # For pu"
},
{
"path": ".github/workflow_scripts/build_tabular_prediction_tutorial.sh",
"chars": 308,
"preview": "#!/bin/bash\n\nset -ex\nshopt -s extglob\n\nBRANCH=$(basename $1)\nGIT_REPO=$2\nCOMMIT_SHA=$3\nPR_NUMBER=$4 # For push events, "
},
{
"path": ".github/workflow_scripts/build_timeseries_tutorial.sh",
"chars": 311,
"preview": "#!/bin/bash\n\nset -ex\nshopt -s extglob\n\nBRANCH=$(basename $1)\nGIT_REPO=$2\nCOMMIT_SHA=$3\nPR_NUMBER=$4 # For push events, "
},
{
"path": ".github/workflow_scripts/copy_docs.sh",
"chars": 1271,
"preview": "#!/usr/bin/env bash\n\nBRANCH=$(basename $1)\nGIT_REPO=$2\nCOMMIT_SHA=$3\nPR_NUMBER=$4\n\nset -ex\n\nsource $(dirname \"$0\")/env_s"
},
{
"path": ".github/workflow_scripts/env_setup.sh",
"chars": 3322,
"preview": "function setup_build_env {\n python -m pip install --upgrade pip\n python -m pip install tox\n python -m pip insta"
},
{
"path": ".github/workflow_scripts/lint_check.sh",
"chars": 490,
"preview": "#!/bin/bash\n\nset -ex\n\nsource $(dirname \"$0\")/env_setup.sh\n\nsetup_build_env\n\nfunction lint_check {\n # black\n ruff f"
},
{
"path": ".github/workflow_scripts/run_benchmark.sh",
"chars": 3137,
"preview": "#!/bin/bash\n\nset -ex\n\nMODULE=$1\nPRESET=$2\nBENCHMARK=$3\nTIME_LIMIT=$4\nBRANCH_OR_PR_NUMBER=$5\nSHA=$6\n\nsource $(dirname \"$0"
},
{
"path": ".github/workflow_scripts/setup_hf_model_mirror.py",
"chars": 2105,
"preview": "import argparse\nimport os\nimport subprocess\nimport yaml\n\n\nparser = argparse.ArgumentParser(formatter_class=argparse.Argu"
},
{
"path": ".github/workflow_scripts/setup_mmcv.sh",
"chars": 589,
"preview": "function setup_mmcv {\n if [[ $(python3 -c \"import sys; print(sys.version_info >= (3, 13))\") == \"True\" ]]; then\n echo"
},
{
"path": ".github/workflow_scripts/test_common.sh",
"chars": 343,
"preview": "#!/bin/bash\n\nset -ex\n\nADDITIONAL_TEST_ARGS=$1\n\nsource $(dirname \"$0\")/env_setup.sh\n\nsetup_build_env\ninstall_local_packag"
},
{
"path": ".github/workflow_scripts/test_core.sh",
"chars": 542,
"preview": "#!/bin/bash\n\nset -ex\n\nADDITIONAL_TEST_ARGS=$1\n\nsource $(dirname \"$0\")/env_setup.sh\n\nsetup_build_env\ninstall_local_packag"
},
{
"path": ".github/workflow_scripts/test_eda.sh",
"chars": 484,
"preview": "#!/bin/bash\n\nset -ex\n\nADDITIONAL_TEST_ARGS=$1\n\nsource $(dirname \"$0\")/env_setup.sh\n\nsetup_build_env\nexport CUDA_VISIBLE_"
},
{
"path": ".github/workflow_scripts/test_features.sh",
"chars": 357,
"preview": "#!/bin/bash\n\nset -ex\n\nADDITIONAL_TEST_ARGS=$1\n\nsource $(dirname \"$0\")/env_setup.sh\n\nsetup_build_env\ninstall_local_packag"
},
{
"path": ".github/workflow_scripts/test_install.sh",
"chars": 97,
"preview": "#!/bin/bash\n\nset -ex\n\nsource $(dirname \"$0\")/env_setup.sh\n\nsetup_build_env\ninstall_all\nbuild_all\n"
},
{
"path": ".github/workflow_scripts/test_install_windows.sh",
"chars": 95,
"preview": "#!/bin/bash\n\nset -ex\n\nsource $(dirname \"$0\")/env_setup.sh\n\nsetup_build_env\ninstall_all_windows\n"
},
{
"path": ".github/workflow_scripts/test_multimodal.sh",
"chars": 633,
"preview": "function test_multimodal {\n SUB_FOLDER=$1\n ADDITIONAL_TEST_ARGS=$2\n\n source $(dirname \"$0\")/env_setup.sh\n\n s"
},
{
"path": ".github/workflow_scripts/test_multimodal_others.sh",
"chars": 137,
"preview": "#!/bin/bash\n\nset -ex\n\nADDITIONAL_TEST_ARGS=$1\n\nsource $(dirname \"$0\")/test_multimodal.sh\n\ntest_multimodal others \"$ADDIT"
},
{
"path": ".github/workflow_scripts/test_multimodal_others_2.sh",
"chars": 139,
"preview": "#!/bin/bash\n\nset -ex\n\nADDITIONAL_TEST_ARGS=$1\n\nsource $(dirname \"$0\")/test_multimodal.sh\n\ntest_multimodal others_2 \"$ADD"
},
{
"path": ".github/workflow_scripts/test_multimodal_predictor.sh",
"chars": 140,
"preview": "#!/bin/bash\n\nset -ex\n\nADDITIONAL_TEST_ARGS=$1\n\nsource $(dirname \"$0\")/test_multimodal.sh\n\ntest_multimodal predictor \"$AD"
},
{
"path": ".github/workflow_scripts/test_tabular.sh",
"chars": 671,
"preview": "#!/bin/bash\n\nset -ex\n\nADDITIONAL_TEST_ARGS=$1\nIS_PLATFORM_TEST=$2\n\nsource $(dirname \"$0\")/env_setup.sh\n\nsetup_build_env\n"
},
{
"path": ".github/workflow_scripts/test_timeseries.sh",
"chars": 770,
"preview": "#!/bin/bash\n\nset -ex\n\nwhile getopts \":-:\" opt; do\n [ \"$opt\" = \"-\" ] && [ \"${OPTARG}\" = \"is-platform-test\" ] && IS_PLATF"
},
{
"path": ".github/workflow_scripts/version_diff.sh",
"chars": 2557,
"preview": "#!/bin/bash\n\n# List files in the specified S3 bucket and folder\nfiles=$(aws s3 ls s3://autogluon-ci/package_versions/)\n\n"
},
{
"path": ".github/workflow_scripts/write_to_s3.sh",
"chars": 555,
"preview": "function write_to_s3 {\n BUCKET=\"$1\"\n DOC_PATH=\"$2\"\n S3_PATH=\"$3\"\n\n # Verify we still own the bucket\n buck"
},
{
"path": ".github/workflows/README.md",
"chars": 1979,
"preview": "This README explains the CI design and how you can update the CI workflow.\n\n## Overall Design\nThe CI is consisted with t"
},
{
"path": ".github/workflows/benchmark-command.yml",
"chars": 7521,
"preview": "# Workflow to trigger benchmarking, cleaning, aggregation of the PR and evaluating w.r.t master branch, results on dashb"
},
{
"path": ".github/workflows/benchmark_master.yml",
"chars": 8990,
"preview": "# Workflow to trigger/schedule benchmarking, cleaning, aggregating on master branch only and storing results in S3\nname:"
},
{
"path": ".github/workflows/build_latest_image.yml",
"chars": 4360,
"preview": "name: Build Latest Image\n\non:\n workflow_dispatch:\n schedule:\n - cron: \"59 8 * * *\"\n\npermissions:\n id-token: write\n"
},
{
"path": ".github/workflows/check_hf_model_list.yml",
"chars": 641,
"preview": "name: Check HF Model List\n\non:\n pull_request:\n types: [labeled, synchronize, opened]\n paths:\n - 'multimodal/"
},
{
"path": ".github/workflows/codeguru-reviewer.yml",
"chars": 1181,
"preview": "name: Run CodeGuru Reviewer\n\non:\n push:\n branches:\n - 'master'\n workflow_dispatch:\n\npermissions:\n id-token: w"
},
{
"path": ".github/workflows/codeql.yml",
"chars": 1448,
"preview": "name: \"Code scanning - action\"\n\non:\n push:\n pull_request:\n schedule:\n - cron: '0 19 * * 0'\n\npermissions:\n content"
},
{
"path": ".github/workflows/codespell.yml",
"chars": 355,
"preview": "---\nname: Codespell\n\non:\n push:\n branches: [master]\n pull_request:\n branches: [master]\n\npermissions:\n contents:"
},
{
"path": ".github/workflows/continuous_integration.yml",
"chars": 18716,
"preview": "name: Continuous Integration\n\non:\n push:\n pull_request_target:\n\nconcurrency:\n group: ${{ github.workflow }}-${{ githu"
},
{
"path": ".github/workflows/continuous_integration_multigpu.yaml",
"chars": 4229,
"preview": "name: Continuous Integration Multi-GPU AutoMM\n\non:\n pull_request_target:\n types: [labeled, synchronize, opened]\n "
},
{
"path": ".github/workflows/platform_tests-command.yml",
"chars": 10420,
"preview": "name: Platform Tests\non:\n schedule:\n - cron: '59 07 * * *' # UTC 7:59(23:59 PST Winter Time) everyday\n workflow_d"
},
{
"path": ".github/workflows/pypi_release.yml",
"chars": 1444,
"preview": "# This workflow will upload a Python Package to Pypi using Twine when a release is created in this Github repo.\n# For mo"
},
{
"path": ".github/workflows/pythonpublish.yml",
"chars": 1976,
"preview": "# This workflows will upload a Python Package using Twine when a release is created\n# For more information see: https://"
},
{
"path": ".github/workflows/pythonpublish_testpypi.yml",
"chars": 1233,
"preview": "# DO NOT RUN THIS UNLESS PREPARING FOR OFFICIAL PYPI RELEASE SHORTLY AFTER. THIS IS MEANT AS A FINAL SANITY CHECK BEFORE"
},
{
"path": ".github/workflows/slash_command_dispatch.yml",
"chars": 3924,
"preview": "name: Slash Command Dispatch\non:\n issue_comment:\n types: [created]\n\njobs:\n slashCommandDispatch:\n runs-on: ubunt"
},
{
"path": ".github/workflows/update-pre-commit.yml",
"chars": 808,
"preview": "name: Update pre-commit hooks\n\non:\n schedule:\n - cron: '0 9 * * 1' # every monday\n workflow_dispatch:\n\npermissions:"
},
{
"path": ".github/workflows_env/unittest_env.yml",
"chars": 67,
"preview": "name: autogluon_py3\ndependencies:\n- pip\n- pip:\n - nose\n - flake8\n"
},
{
"path": ".gitignore",
"chars": 1819,
"preview": "# Extra\n*.params\n*.states\n*.out\n*.swp\n.DS_Store\n.vscode\n*.npy\n*.npz\n*.json\n*.ag\n*.xml\n\n# Byte-compiled / optimized / DLL"
},
{
"path": ".pre-commit-config.yaml",
"chars": 458,
"preview": "repos:\n - repo: https://github.com/astral-sh/ruff-pre-commit\n # Ruff version.\n rev: v0.15.6\n hooks:\n # Ru"
},
{
"path": "AWESOME.md",
"chars": 70369,
"preview": "Awesome AutoGluon\n-----------------\n\nThis page contains a moderated list of examples, tutorials, articles, and research "
},
{
"path": "CI/batch/cancel-job.py",
"chars": 1813,
"preview": "import argparse\nimport boto3\nimport re\n\nparser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFo"
},
{
"path": "CI/batch/docker/Dockerfile.cpu",
"chars": 623,
"preview": "FROM 763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-training:2.8.0-cpu-py312-ubuntu22.04-ec2\n\nRUN apt-get update \\"
},
{
"path": "CI/batch/docker/Dockerfile.gpu",
"chars": 663,
"preview": "FROM 763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-training:2.8.0-gpu-py312-cu129-ubuntu22.04-ec2\n\nRUN apt-get up"
},
{
"path": "CI/batch/docker/Dockerfile.pyodide",
"chars": 655,
"preview": "FROM pyodide/pyodide-env:20221102-chrome107-firefox106\n\nWORKDIR /src\n# compile pyodide\nRUN git clone --depth 1 --branch "
},
{
"path": "CI/batch/docker/README.md",
"chars": 904,
"preview": "# Updating the Docker Image for AWS Batch\nThis is for AutoGluon Devs to update the CI docker environment.\n\n**IMPORTANT**"
},
{
"path": "CI/batch/docker/autogluon_job.sh",
"chars": 1116,
"preview": "#!/bin/bash\n\ndate\necho \"Args: $@\"\nenv\necho \"jobId: $AWS_BATCH_JOB_ID\"\necho \"jobQueue: $AWS_BATCH_JQ_NAME\"\necho \"computeE"
},
{
"path": "CI/batch/docker/docker_deploy.sh",
"chars": 962,
"preview": "#!/bin/bash\n\nTYPE=$1\n\n# This executes a command that logs into ECR for both our CI repo and the AutoGluon DLC container "
},
{
"path": "CI/batch/submit-job.py",
"chars": 7128,
"preview": "import argparse\nimport random\nimport re\nimport sys\nimport time\nfrom datetime import datetime, timezone\n\nimport boto3\nfro"
},
{
"path": "CI/bench/evaluate.py",
"chars": 9465,
"preview": "import argparse\nimport os\nimport subprocess\nfrom datetime import datetime\n\nimport pandas as pd\nimport yaml\n\ndef process_"
},
{
"path": "CI/bench/generate_amlb_user_dir.sh",
"chars": 1288,
"preview": "#!/usr/bin/env bash\n\nMODULE=$1\nREPOSITORY=$2\nBRANCH=$3\nSHORT_SHA=$4\nPR_NUMBER=$5\nFOLDS=$6\n\n# generate custom amlb config"
},
{
"path": "CI/bench/generate_bench_config.sh",
"chars": 5374,
"preview": "#!/usr/bin/env bash\n\nMODULE=$1\nPRESET=$2\nBENCHMARK=$3\nTIME_LIMIT=$4\nUSER_DIR_S3_PREFIX=$5 # where to find the pre-gener"
},
{
"path": "CI/bench/generate_framework.py",
"chars": 2031,
"preview": "import argparse\nimport os\nimport yaml\n\nparser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFor"
},
{
"path": "CI/bench/multimodal/custom_user_dir/multimodal_constraints.yaml",
"chars": 238,
"preview": "test:\n TIME_LIMIT: 1800\n INSTANCE: g4dn.2xlarge\n\n10m4x:\n TIME_LIMIT: 600\n INSTANCE: g4dn.4xlarge\n\ng4_12x:\n INSTANCE"
},
{
"path": "CI/bench/multimodal/custom_user_dir/multimodal_frameworks_template.yaml",
"chars": 272,
"preview": "AutoGluon_multimodal_best:\n repo: https://github.com/autogluon/autogluon.git\n version: master\n params: # MultimodalP"
},
{
"path": "CI/bench/tabular/amlb_user_dir/benchmarks/tabular_full.yaml",
"chars": 4955,
"preview": "---\n# Combines openml/s/269 and openml/s/271\n# Locally stored instead of fetched from openml to avoid server errors\n\n- n"
},
{
"path": "CI/bench/tabular/amlb_user_dir/benchmarks/tabular_small.yaml",
"chars": 341,
"preview": "---\n# Locally stored instead of fetched from openml to avoid server errors\n# Small datasets to test benchmarking - extra"
},
{
"path": "CI/bench/tabular/amlb_user_dir/benchmarks/tabular_test.yaml",
"chars": 156,
"preview": "---\n# Combines openml/s/269 and openml/s/271\n# Locally stored instead of fetched from openml to avoid server errors\n\n- n"
},
{
"path": "CI/bench/tabular/amlb_user_dir/config.yaml",
"chars": 1105,
"preview": "frameworks: # configuration namespace for the frameworks definitions.\n definition_file: # list of ya"
},
{
"path": "CI/bench/tabular/amlb_user_dir/constraints.yaml",
"chars": 420,
"preview": "---\n\n1h:\n folds: 10\n max_runtime_seconds: 3600\n cores: 8\n min_vol_size_mb: 100000\n\n4h:\n folds: 10\n max_runtime_sec"
},
{
"path": "CI/bench/tabular/amlb_user_dir/frameworks_template.yaml",
"chars": 1026,
"preview": "---\n\n#########################\n### AutoML frameworks ###\n#########################\n\n######### Do Not Remove #########\nAu"
},
{
"path": "CI/bench/tabular/amlb_user_dir/setup_hf_cache.py",
"chars": 2067,
"preview": "#!/usr/bin/env python3\n\"\"\"\nScript to cache HuggingFace models from S3 before AutoGluon training starts.\nThis prevents ra"
},
{
"path": "CI/bench/timeseries/amlb_user_dir/benchmarks/timeseries_small.yaml",
"chars": 449,
"preview": "# Last number after underscore is the unique identifier for the benchmark\n- name: m4_hourly_2\n dataset:\n path: https"
},
{
"path": "CI/bench/timeseries/amlb_user_dir/config.yaml",
"chars": 946,
"preview": "frameworks: # configuration namespace for the frameworks definitions.\n definition_file: # list of ya"
},
{
"path": "CI/bench/timeseries/amlb_user_dir/constraints.yaml",
"chars": 87,
"preview": "---\n\n10m4c:\n folds: 3\n max_runtime_seconds: 600\n cores: 4\n min_vol_size_mb: 100000\n"
},
{
"path": "CI/bench/timeseries/amlb_user_dir/frameworks_template.yaml",
"chars": 396,
"preview": "---\n\n#########################\n### AutoML frameworks ###\n#########################\n\n######### Do Not Remove #########\nAu"
},
{
"path": "CI/docker/Dockerfile.cpu-inference",
"chars": 575,
"preview": "FROM 763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-inference:2.5.1-cpu-py311-ubuntu22.04-sagemaker\n\nRUN apt-get u"
},
{
"path": "CI/docker/Dockerfile.cpu-training",
"chars": 734,
"preview": "FROM 763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-training:2.5.1-cpu-py311-ubuntu22.04-sagemaker\n\nRUN apt-get up"
},
{
"path": "CI/docker/Dockerfile.gpu-inference",
"chars": 569,
"preview": "FROM 763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-inference:2.5.1-gpu-py311-cu124-ubuntu22.04-sagemaker\n\nRUN apt"
},
{
"path": "CI/docker/Dockerfile.gpu-training",
"chars": 740,
"preview": "FROM 763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-training:2.5.1-gpu-py311-cu124-ubuntu22.04-sagemaker\n\nRUN apt-"
},
{
"path": "CI/docker/full_install_image.sh",
"chars": 403,
"preview": "#!/usr/bin/env bash\nset -euo pipefail\n\npython3 -m pip install common/[tests]\npython3 -m pip install features/\npython3 -m"
},
{
"path": "CI/docker/login_ecr.sh",
"chars": 289,
"preview": "#!/bin/bash\n\naws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 369469875935.d"
},
{
"path": "CI/hf_mirror/Dockerfile",
"chars": 281,
"preview": "FROM python:3.8\n\nRUN python3 -m pip --no-cache-dir install --upgrade wheel setuptools \\\n && python3 -m pip --no-cache"
},
{
"path": "CI/hf_mirror/deploy.sh",
"chars": 330,
"preview": "#!/bin/bash\nECR_REPO=369469875935.dkr.ecr.us-east-1.amazonaws.com\naws ecr get-login-password --region us-east-1 | docker"
},
{
"path": "CI/hf_mirror/download_hf_models.py",
"chars": 2188,
"preview": "import argparse\nimport os\nimport yaml\n\nfrom huggingface_hub import snapshot_download\nfrom huggingface_hub.utils import R"
},
{
"path": "CI/hf_mirror/download_hf_models.sh",
"chars": 415,
"preview": "#!/bin/bash\n\nif grep -qs '/mnt/efs ' /proc/mounts;\nthen\n echo EFS attached\nelse\n echo EFS failed to attach\n exi"
},
{
"path": "CITING.md",
"chars": 7060,
"preview": "The AutoGluon developers and community are committed to open source, and that extends to our research.\nBelow you can fin"
},
{
"path": "CODE_OF_CONDUCT.md",
"chars": 309,
"preview": "## Code of Conduct\nThis project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-condu"
},
{
"path": "CONTRIBUTING.md",
"chars": 11756,
"preview": "# Contributing Guidelines\n\nThank you for your interest in contributing to our project. Whether it's a bug report, new fe"
},
{
"path": "LICENSE",
"chars": 10142,
"preview": "\n Apache License\n Version 2.0, January 2004\n "
},
{
"path": "NOTICE",
"chars": 114,
"preview": "AutoML for Text, Image, and Tabular Data\nCopyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. \n"
},
{
"path": "README.md",
"chars": 11382,
"preview": "\n\n<div align=\"center\">\n<img src=\"https://user-images.githubusercontent.com/16392542/77208906-224aa500-6aba-11ea-96bd-e81"
},
{
"path": "SECURITY.md",
"chars": 747,
"preview": "# Security Policy\n\n## Supported Versions\n\n| Version | Supported |\n|---------| ------------------ |\n| 1.4.0 | "
},
{
"path": "VERSION",
"chars": 6,
"preview": "1.5.1\n"
},
{
"path": "autogluon/setup.py",
"chars": 1762,
"preview": "#!/usr/bin/env python\n###########################\n# This code block is a HACK (!), but is necessary to avoid code duplic"
},
{
"path": "autogluon/src/autogluon/_internal_/__init__.py",
"chars": 38,
"preview": "# Placeholder to resolve empty package"
},
{
"path": "common/setup.py",
"chars": 2733,
"preview": "#!/usr/bin/env python\n###########################\n# This code block is a HACK (!), but is necessary to avoid code duplic"
},
{
"path": "common/src/autogluon/common/__init__.py",
"chars": 352,
"preview": "from .dataset import TabularDataset\nfrom .features.feature_metadata import FeatureMetadata\nfrom .utils.log_utils import "
},
{
"path": "common/src/autogluon/common/dataset.py",
"chars": 1936,
"preview": "from __future__ import annotations\n\nfrom pathlib import Path\n\nimport pandas as pd\n\nfrom .loaders import load_pd\nfrom .sa"
},
{
"path": "common/src/autogluon/common/features/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "common/src/autogluon/common/features/feature_metadata.py",
"chars": 25783,
"preview": "import copy\nimport logging\nfrom collections import defaultdict\nfrom typing import Any, Dict, List, Set, Tuple, Union\n\nim"
},
{
"path": "common/src/autogluon/common/features/infer_types.py",
"chars": 6600,
"preview": "import logging\nfrom collections import defaultdict\nfrom typing import List\n\nimport numpy as np\nimport pandas as pd\nfrom "
},
{
"path": "common/src/autogluon/common/features/types.py",
"chars": 2707,
"preview": "# Raw types: Raw data type information grouped into families.\n# For example: uint8, int8, int16, int32, and int64 featur"
},
{
"path": "common/src/autogluon/common/loaders/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "common/src/autogluon/common/loaders/_utils.py",
"chars": 10107,
"preview": "import functools\nimport hashlib\nimport logging\nimport os\nimport sys\nimport uuid\nimport warnings\nimport zipfile\nfrom typi"
},
{
"path": "common/src/autogluon/common/loaders/load_json.py",
"chars": 632,
"preview": "from __future__ import annotations\n\nimport json\nimport logging\n\nfrom ..utils import s3_utils\n\nlogger = logging.getLogger"
},
{
"path": "common/src/autogluon/common/loaders/load_pd.py",
"chars": 7604,
"preview": "from __future__ import annotations\n\nimport logging\nimport multiprocessing\nfrom os import listdir\nfrom os.path import isf"
},
{
"path": "common/src/autogluon/common/loaders/load_pkl.py",
"chars": 3233,
"preview": "from __future__ import annotations\n\nimport io\nimport logging\nimport pickle\nfrom typing import Any\nfrom urllib.parse impo"
},
{
"path": "common/src/autogluon/common/loaders/load_s3.py",
"chars": 4768,
"preview": "import logging\nimport os\nimport pathlib\nfrom typing import List, Optional, Union\n\nlogger = logging.getLogger(__name__)\n\n"
},
{
"path": "common/src/autogluon/common/loaders/load_str.py",
"chars": 1269,
"preview": "import logging\n\nfrom ..utils import s3_utils\n\nlogger = logging.getLogger(__name__)\n\n\ndef load(path: str) -> str:\n \"\"\""
},
{
"path": "common/src/autogluon/common/loaders/load_zip.py",
"chars": 481,
"preview": "import logging\nimport os\n\nlogger = logging.getLogger(__name__)\n\n\ndef unzip(path, sha1sum=None, unzip_dir=None):\n \"\"\"U"
},
{
"path": "common/src/autogluon/common/model_filter/__init__.py",
"chars": 39,
"preview": "from ._model_filter import ModelFilter\n"
},
{
"path": "common/src/autogluon/common/model_filter/_model_filter.py",
"chars": 4744,
"preview": "import logging\nfrom typing import Any, Dict, List, Optional, Union\n\nlogger = logging.getLogger(__name__)\n\n\nclass ModelFi"
},
{
"path": "common/src/autogluon/common/savers/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "common/src/autogluon/common/savers/save_json.py",
"chars": 1222,
"preview": "# TODO: Standardize / unify this code with ag.save()\nimport json\nimport logging\nimport os\nimport tempfile\n\nfrom ..utils "
},
{
"path": "common/src/autogluon/common/savers/save_pd.py",
"chars": 7404,
"preview": "from __future__ import annotations\n\nimport logging\nimport multiprocessing\nimport os\nfrom io import StringIO\nfrom pathlib"
},
{
"path": "common/src/autogluon/common/savers/save_pkl.py",
"chars": 2465,
"preview": "# TODO: Standardize / unify this code with ag.save()\nimport logging\nimport os\nimport pickle\nimport tempfile\n\nfrom ..util"
},
{
"path": "common/src/autogluon/common/savers/save_str.py",
"chars": 1396,
"preview": "import logging\nimport os\n\nfrom ..utils import s3_utils\n\nlogger = logging.getLogger(__name__)\n\n\ndef save(path, data: str,"
},
{
"path": "common/src/autogluon/common/space.py",
"chars": 5457,
"preview": "__all__ = [\"Space\", \"Categorical\", \"Real\", \"Int\", \"Bool\"]\n\n\nclass Space(object):\n \"\"\"Basic search space describing se"
},
{
"path": "common/src/autogluon/common/utils/__init__.py",
"chars": 41,
"preview": "from .deprecated_utils import Deprecated\n"
},
{
"path": "common/src/autogluon/common/utils/cache_presets_to_yaml.py",
"chars": 6025,
"preview": "from __future__ import annotations\n\nfrom pathlib import Path\nfrom typing import Any, Mapping\nfrom urllib.parse import ur"
},
{
"path": "common/src/autogluon/common/utils/compression_utils.py",
"chars": 1097,
"preview": "def _gzip_open(*args, **kwargs):\n import gzip\n\n return gzip.open(*args, **kwargs)\n\n\ndef _bz2_open(*args, **kwargs)"
},
{
"path": "common/src/autogluon/common/utils/context.py",
"chars": 320,
"preview": "from contextlib import contextmanager\n\n\n@contextmanager\ndef set_torch_num_threads(num_cpus):\n \"\"\"Set torch number of "
},
{
"path": "common/src/autogluon/common/utils/cpu_utils.py",
"chars": 1867,
"preview": "\"\"\"CPU utilities for accurate resource detection in constrained environments.\n\nThis module provides functions for determ"
},
{
"path": "common/src/autogluon/common/utils/cv_splitter.py",
"chars": 6651,
"preview": "from __future__ import annotations\n\nimport logging\n\nimport numpy as np\nimport pandas as pd\nfrom sklearn.model_selection "
},
{
"path": "common/src/autogluon/common/utils/decorators.py",
"chars": 4875,
"preview": "import functools\nimport logging\nfrom typing import Dict\nfrom urllib.parse import urlparse\n\nfrom .presets_io import load_"
},
{
"path": "common/src/autogluon/common/utils/deprecated_utils.py",
"chars": 9428,
"preview": "import functools\nimport inspect\nimport warnings\nfrom typing import Any, Callable, Dict, Optional\n\nfrom packaging import "
},
{
"path": "common/src/autogluon/common/utils/distribute_utils.py",
"chars": 1799,
"preview": "import os\n\n\nclass DistributedContext:\n \"\"\"Class to manage distributed context based on environment variables.\n\n No"
},
{
"path": "common/src/autogluon/common/utils/file_utils.py",
"chars": 2782,
"preview": "import os\n\nimport pandas as pd\n\n\ndef get_directory_size(path: str) -> int:\n \"\"\"\n Returns the combined size of all "
},
{
"path": "common/src/autogluon/common/utils/hyperparameter_utils.py",
"chars": 2292,
"preview": "def is_advanced_hyperparameter_format(hyperparameters: dict) -> bool:\n \"\"\"\n Returns True if hyperparameters are st"
},
{
"path": "common/src/autogluon/common/utils/lite.py",
"chars": 317,
"preview": "from .utils import LITE_MODE\n\n\ndef disable_if_lite_mode(ret=None):\n def inner(func):\n def do_nothing(*args, **"
},
{
"path": "common/src/autogluon/common/utils/log_utils.py",
"chars": 8503,
"preview": "import logging\nfrom typing import Optional\n\n_logger_ag = logging.getLogger(\"autogluon\") # return autogluon root logger\n"
},
{
"path": "common/src/autogluon/common/utils/multiprocessing_utils.py",
"chars": 589,
"preview": "import logging\nimport multiprocessing\n\nlogger = logging.getLogger(__name__)\n\n\n# If multiprocessing_method is 'fork', ini"
},
{
"path": "common/src/autogluon/common/utils/nvutil.py",
"chars": 4804,
"preview": "import os\nimport sys\nimport threading\nfrom ctypes import *\n\n__all__ = [\"cudaInit\", \"cudaDeviceGetCount\", \"cudaSystemGetN"
},
{
"path": "common/src/autogluon/common/utils/pandas_utils.py",
"chars": 2440,
"preview": "import logging\nimport math\nfrom functools import wraps\n\nfrom pandas import DataFrame\n\nfrom ..features.infer_types import"
},
{
"path": "common/src/autogluon/common/utils/path_converter.py",
"chars": 2441,
"preview": "import os\nimport platform\nfrom pathlib import Path, PurePosixPath, PureWindowsPath\n\n\nclass PathConverter:\n \"\"\"Util cl"
},
{
"path": "common/src/autogluon/common/utils/presets_io.py",
"chars": 2565,
"preview": "from __future__ import annotations\n\nimport os\nfrom urllib.parse import urlparse, urlunparse\nfrom urllib.request import R"
},
{
"path": "common/src/autogluon/common/utils/resource_utils.py",
"chars": 10109,
"preview": "import logging\nimport os\nimport shutil\nimport subprocess\nfrom typing import Union\n\nfrom autogluon.common.utils.try_impor"
},
{
"path": "common/src/autogluon/common/utils/s3_utils.py",
"chars": 17576,
"preview": "import logging\nimport os\nimport pathlib\nimport shutil\nfrom typing import Dict, List, Optional, Tuple, Union\n\nfrom tqdm i"
},
{
"path": "common/src/autogluon/common/utils/simulation_utils.py",
"chars": 6024,
"preview": "from collections import defaultdict\nfrom typing import Any, Dict, Tuple\n\nimport numpy as np\nimport pandas as pd\n\n\ndef _r"
},
{
"path": "common/src/autogluon/common/utils/system_info.py",
"chars": 5666,
"preview": "import platform\nimport sys\nfrom typing import Tuple\n\nfrom .. import __version__\nfrom .resource_utils import ResourceMana"
},
{
"path": "common/src/autogluon/common/utils/try_import.py",
"chars": 6695,
"preview": "import logging\nimport os\nimport platform\nimport sys\nfrom types import ModuleType\n\nfrom ..version import __version__\n\n__a"
},
{
"path": "common/src/autogluon/common/utils/utils.py",
"chars": 10760,
"preview": "from __future__ import annotations\n\nimport logging\nimport os\nimport platform\nimport sys\nfrom datetime import datetime, t"
},
{
"path": "common/src/autogluon/common/utils/warning_filter.py",
"chars": 369,
"preview": "import warnings\n\n__all__ = [\"warning_filter\"]\n\n\nclass warning_filter(warnings.catch_warnings):\n def __enter__(self):\n"
},
{
"path": "common/tests/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "common/tests/conftest.py",
"chars": 684,
"preview": "import pytest\n\n\ndef pytest_addoption(parser):\n parser.addoption(\"--runslow\", action=\"store_true\", default=False, help"
},
{
"path": "common/tests/test_check_style.py",
"chars": 1722,
"preview": "import json\nimport logging\nimport warnings\nfrom collections import Counter\nfrom subprocess import PIPE, Popen\n\n\ndef test"
},
{
"path": "common/tests/unittests/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "common/tests/unittests/test_compression_utils.py",
"chars": 3262,
"preview": "from autogluon.common.utils import compression_utils\n\n\ndef test_get_validated_path_no_compression_fn():\n no_extension"
},
{
"path": "common/tests/unittests/test_dataset.py",
"chars": 368,
"preview": "import pandas as pd\n\nfrom autogluon.common import TabularDataset\n\n\ndef test_tabular_dataset():\n data = {\"col1\": [1, 2"
},
{
"path": "common/tests/unittests/test_deprecated_utils.py",
"chars": 4620,
"preview": "import pytest\n\nfrom autogluon.common.utils.deprecated_utils import (\n Deprecated_args,\n construct_deprecated_args_"
},
{
"path": "common/tests/unittests/test_hash_pandas_df.py",
"chars": 1213,
"preview": "import tempfile\nfrom pathlib import Path\n\nimport numpy as np\nimport pandas as pd\n\nfrom autogluon.common.loaders import l"
},
{
"path": "common/tests/unittests/test_import_version.py",
"chars": 160,
"preview": "import autogluon.common\n\n\ndef test_import_version():\n assert isinstance(autogluon.common.__version__, str)\n assert"
},
{
"path": "common/tests/unittests/test_infer_types.py",
"chars": 1067,
"preview": "import numpy as np\nimport pandas as pd\nimport pytest\n\nfrom autogluon.common.features.infer_types import get_bool_true_va"
},
{
"path": "common/tests/unittests/test_log_utils.py",
"chars": 2741,
"preview": "import logging\n\nimport pytest\nfrom numpy.testing import assert_almost_equal\n\nfrom autogluon.common.utils.log_utils impor"
},
{
"path": "common/tests/unittests/test_memory_limit.py",
"chars": 1524,
"preview": "import pytest\n\n\n@pytest.fixture()\ndef get_and_assert_max_memory():\n import os\n\n import psutil\n\n # Mock patch to"
},
{
"path": "common/tests/unittests/test_model_filter.py",
"chars": 1754,
"preview": "import pytest\n\nfrom autogluon.common.model_filter import ModelFilter\n\n\n@pytest.mark.parametrize(\n \"models,included_mo"
},
{
"path": "common/tests/unittests/test_path_converter.py",
"chars": 1271,
"preview": "from unittest.mock import patch\n\nimport pytest\n\nfrom autogluon.common.utils.path_converter import PathConverter\n\n\n@pytes"
},
{
"path": "common/tests/unittests/test_s3_utils.py",
"chars": 4607,
"preview": "import os\nimport tempfile\n\nimport pytest\n\nfrom autogluon.common.utils.s3_utils import (\n _get_local_objs_to_upload_an"
},
{
"path": "common/tests/unittests/test_setup_outputdir.py",
"chars": 2882,
"preview": "from __future__ import annotations\n\nimport os.path\nimport tempfile\nimport unittest\nfrom pathlib import Path\nfrom unittes"
},
{
"path": "common/tests/unittests/test_version.py",
"chars": 489,
"preview": "from packaging import version\n\nfrom autogluon.common import __version__\n\n\ndef test_version_has_major_minor_micro():\n "
},
{
"path": "common/tests/unittests/utils/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "common/tests/unittests/utils/test_compare_autogluon_metadata.py",
"chars": 3617,
"preview": "import copy\nimport unittest\n\nfrom autogluon.common.utils.utils import compare_autogluon_metadata, get_autogluon_metadata"
},
{
"path": "common/tests/unittests/utils/test_cpu_detection.py",
"chars": 3140,
"preview": "import os\nfrom unittest.mock import patch\n\nfrom autogluon.common.utils.cpu_utils import get_available_cpu_count\nfrom aut"
},
{
"path": "common/tests/unittests/utils/test_get_package_versions.py",
"chars": 3018,
"preview": "import types\n\nimport pytest\n\nfrom autogluon.common.utils.utils import get_package_versions\n\n\nclass _FakeDist:\n def __"
},
{
"path": "common/tests/unittests/utils/test_pandas_utils.py",
"chars": 3675,
"preview": "from __future__ import annotations\n\nimport numpy as np\nimport pandas as pd\n\nfrom autogluon.common.utils import pandas_ut"
},
{
"path": "common/tests/unittests/utils/test_presets_yaml_loading.py",
"chars": 4544,
"preview": "from __future__ import annotations\n\nimport pytest\n\n\n# -----------------------\n# Helpers for fake HTTP\n# ----------------"
},
{
"path": "core/setup.py",
"chars": 3118,
"preview": "#!/usr/bin/env python\n###########################\n# This code block is a HACK (!), but is necessary to avoid code duplic"
},
{
"path": "core/src/autogluon/core/__init__.py",
"chars": 245,
"preview": "# noinspection PyUnresolvedReferences\nfrom autogluon.common.dataset import TabularDataset\nfrom autogluon.common.utils.lo"
},
{
"path": "core/src/autogluon/core/_setup_utils.py",
"chars": 7331,
"preview": "\"\"\"Setup utils for autogluon. Only used for installing the code via setup.py, do not import after installation.\"\"\"\n\n# Re"
},
{
"path": "core/src/autogluon/core/augmentation/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "core/src/autogluon/core/augmentation/distill_utils.py",
"chars": 10976,
"preview": "import gc\nimport logging\n\nimport numpy as np\nimport pandas as pd\nfrom sklearn.neighbors import NearestNeighbors\n\nfrom au"
},
{
"path": "core/src/autogluon/core/calibrate/__init__.py",
"chars": 62,
"preview": "from ._decision_threshold import calibrate_decision_threshold\n"
},
{
"path": "core/src/autogluon/core/calibrate/_decision_threshold.py",
"chars": 7549,
"preview": "from __future__ import annotations\n\nimport logging\nfrom typing import Callable, List, Union\n\nimport numpy as np\nimport p"
},
{
"path": "core/src/autogluon/core/calibrate/conformity_score.py",
"chars": 1950,
"preview": "import numpy as np\nimport pandas as pd\n\n\ndef compute_conformity_score(y_val_pred: np.ndarray, y_val: np.ndarray, quantil"
},
{
"path": "core/src/autogluon/core/calibrate/temperature_scaling.py",
"chars": 3447,
"preview": "import numpy as np\n\nfrom autogluon.common.utils.try_import import try_import_torch\n\nfrom ..constants import BINARY\nfrom "
},
{
"path": "core/src/autogluon/core/callbacks/__init__.py",
"chars": 304,
"preview": "from ._abstract_callback import AbstractCallback\nfrom ._early_stopping_callback import EarlyStoppingCallback\nfrom ._earl"
},
{
"path": "core/src/autogluon/core/callbacks/_abstract_callback.py",
"chars": 9047,
"preview": "from __future__ import annotations\n\nimport typing\nfrom abc import ABCMeta\n\nfrom ..models import AbstractModel\n\nif typing"
},
{
"path": "core/src/autogluon/core/callbacks/_early_stopping_callback.py",
"chars": 6216,
"preview": "from __future__ import annotations\n\nimport typing\nfrom logging import Logger\n\nfrom ._abstract_callback import AbstractCa"
},
{
"path": "core/src/autogluon/core/callbacks/_early_stopping_count_callback.py",
"chars": 4131,
"preview": "from __future__ import annotations\n\nimport typing\nfrom logging import Logger\n\nfrom ._abstract_callback import AbstractCa"
},
{
"path": "core/src/autogluon/core/callbacks/_early_stopping_ensemble_callback.py",
"chars": 2658,
"preview": "from __future__ import annotations\n\nimport typing\n\nfrom ._early_stopping_callback import EarlyStoppingCallback\n\nif typin"
},
{
"path": "core/src/autogluon/core/callbacks/_example_callback.py",
"chars": 2621,
"preview": "from __future__ import annotations\n\nimport time\nimport typing\n\nimport pandas as pd\n\nfrom ..models import AbstractModel\nf"
},
{
"path": "core/src/autogluon/core/callbacks/_smooth_count.py",
"chars": 3127,
"preview": "from __future__ import annotations\n\nimport math\nfrom typing import Iterable, List, Optional, Tuple, Union\n\nPoint = Tuple"
},
{
"path": "core/src/autogluon/core/constants.py",
"chars": 3403,
"preview": "# Do not change these!\nBINARY = \"binary\"\nMULTICLASS = \"multiclass\"\nREGRESSION = \"regression\"\nSOFTCLASS = (\n \"softclas"
},
{
"path": "core/src/autogluon/core/data/__init__.py",
"chars": 40,
"preview": "from .label_cleaner import LabelCleaner\n"
},
{
"path": "core/src/autogluon/core/data/cleaner.py",
"chars": 2866,
"preview": "import logging\n\nfrom pandas import DataFrame\n\nfrom autogluon.core.constants import BINARY, MULTICLASS, QUANTILE, REGRESS"
},
{
"path": "core/src/autogluon/core/data/label_cleaner.py",
"chars": 15272,
"preview": "import copy\nimport logging\nfrom typing import Union\n\nimport numpy as np\nfrom pandas import DataFrame, Series\n\nfrom autog"
},
{
"path": "core/src/autogluon/core/hpo/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "core/src/autogluon/core/hpo/constants.py",
"chars": 117,
"preview": "MIN = \"min\"\nMAX = \"max\"\n\nRAY_BACKEND = \"ray\"\nCUSTOM_BACKEND = \"custom\"\nVALID_BACKEND = [RAY_BACKEND, CUSTOM_BACKEND]\n"
},
{
"path": "core/src/autogluon/core/hpo/exceptions.py",
"chars": 44,
"preview": "class EmptySearchSpace(Exception):\n pass\n"
},
{
"path": "core/src/autogluon/core/hpo/executors.py",
"chars": 31017,
"preview": "from __future__ import annotations\n\nimport copy\nimport logging\nimport math\nimport os\nimport time\nfrom abc import ABC, ab"
},
{
"path": "core/src/autogluon/core/hpo/ray_hpo.py",
"chars": 21924,
"preview": "import logging\nimport os\nimport shutil\n\nfrom autogluon.common import space as ag_space\nfrom autogluon.common.utils.distr"
},
{
"path": "core/src/autogluon/core/hpo/ray_tune_constants.py",
"chars": 220,
"preview": "from .ray_tune_scheduler_factory import SchedulerFactory\nfrom .ray_tune_searcher_factory import SearcherFactory\n\nSEARCHE"
},
{
"path": "core/src/autogluon/core/hpo/ray_tune_scheduler.py",
"chars": 1112,
"preview": "import time\n\nfrom ray.tune.schedulers import FIFOScheduler\n\n\nclass AvgEarlyStopFIFOScheduler(FIFOScheduler):\n def __i"
}
]
// ... and 1098 more files (download for full content)
About this extraction
This page contains the full source code of the autogluon/autogluon GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 1298 files (11.9 MB), approximately 3.2M tokens, and a symbol index with 8050 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.