oracle-ads 2.13.9rc0__py3-none-any.whl → 2.13.10rc0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ads/aqua/__init__.py +40 -0
- ads/aqua/app.py +507 -0
- ads/aqua/cli.py +96 -0
- ads/aqua/client/__init__.py +3 -0
- ads/aqua/client/client.py +836 -0
- ads/aqua/client/openai_client.py +305 -0
- ads/aqua/common/__init__.py +5 -0
- ads/aqua/common/decorator.py +125 -0
- ads/aqua/common/entities.py +274 -0
- ads/aqua/common/enums.py +134 -0
- ads/aqua/common/errors.py +109 -0
- ads/aqua/common/utils.py +1295 -0
- ads/aqua/config/__init__.py +4 -0
- ads/aqua/config/container_config.py +247 -0
- ads/aqua/config/evaluation/__init__.py +4 -0
- ads/aqua/config/evaluation/evaluation_service_config.py +147 -0
- ads/aqua/config/utils/__init__.py +4 -0
- ads/aqua/config/utils/serializer.py +339 -0
- ads/aqua/constants.py +116 -0
- ads/aqua/data.py +14 -0
- ads/aqua/dummy_data/icon.txt +1 -0
- ads/aqua/dummy_data/oci_model_deployments.json +56 -0
- ads/aqua/dummy_data/oci_models.json +1 -0
- ads/aqua/dummy_data/readme.md +26 -0
- ads/aqua/evaluation/__init__.py +8 -0
- ads/aqua/evaluation/constants.py +53 -0
- ads/aqua/evaluation/entities.py +186 -0
- ads/aqua/evaluation/errors.py +70 -0
- ads/aqua/evaluation/evaluation.py +1814 -0
- ads/aqua/extension/__init__.py +42 -0
- ads/aqua/extension/aqua_ws_msg_handler.py +76 -0
- ads/aqua/extension/base_handler.py +90 -0
- ads/aqua/extension/common_handler.py +121 -0
- ads/aqua/extension/common_ws_msg_handler.py +36 -0
- ads/aqua/extension/deployment_handler.py +381 -0
- ads/aqua/extension/deployment_ws_msg_handler.py +54 -0
- ads/aqua/extension/errors.py +30 -0
- ads/aqua/extension/evaluation_handler.py +129 -0
- ads/aqua/extension/evaluation_ws_msg_handler.py +61 -0
- ads/aqua/extension/finetune_handler.py +96 -0
- ads/aqua/extension/model_handler.py +390 -0
- ads/aqua/extension/models/__init__.py +0 -0
- ads/aqua/extension/models/ws_models.py +145 -0
- ads/aqua/extension/models_ws_msg_handler.py +50 -0
- ads/aqua/extension/ui_handler.py +300 -0
- ads/aqua/extension/ui_websocket_handler.py +130 -0
- ads/aqua/extension/utils.py +133 -0
- ads/aqua/finetuning/__init__.py +7 -0
- ads/aqua/finetuning/constants.py +23 -0
- ads/aqua/finetuning/entities.py +181 -0
- ads/aqua/finetuning/finetuning.py +749 -0
- ads/aqua/model/__init__.py +8 -0
- ads/aqua/model/constants.py +60 -0
- ads/aqua/model/entities.py +385 -0
- ads/aqua/model/enums.py +32 -0
- ads/aqua/model/model.py +2134 -0
- ads/aqua/model/utils.py +52 -0
- ads/aqua/modeldeployment/__init__.py +6 -0
- ads/aqua/modeldeployment/constants.py +10 -0
- ads/aqua/modeldeployment/deployment.py +1315 -0
- ads/aqua/modeldeployment/entities.py +653 -0
- ads/aqua/modeldeployment/utils.py +543 -0
- ads/aqua/resources/gpu_shapes_index.json +94 -0
- ads/aqua/server/__init__.py +4 -0
- ads/aqua/server/__main__.py +24 -0
- ads/aqua/server/app.py +47 -0
- ads/aqua/server/aqua_spec.yml +1291 -0
- ads/aqua/training/__init__.py +4 -0
- ads/aqua/training/exceptions.py +476 -0
- ads/aqua/ui.py +519 -0
- ads/automl/__init__.py +9 -0
- ads/automl/driver.py +330 -0
- ads/automl/provider.py +975 -0
- ads/bds/__init__.py +5 -0
- ads/bds/auth.py +127 -0
- ads/bds/big_data_service.py +255 -0
- ads/catalog/__init__.py +19 -0
- ads/catalog/model.py +1576 -0
- ads/catalog/notebook.py +461 -0
- ads/catalog/project.py +468 -0
- ads/catalog/summary.py +178 -0
- ads/common/__init__.py +11 -0
- ads/common/analyzer.py +65 -0
- ads/common/artifact/.model-ignore +63 -0
- ads/common/artifact/__init__.py +10 -0
- ads/common/auth.py +1122 -0
- ads/common/card_identifier.py +83 -0
- ads/common/config.py +647 -0
- ads/common/data.py +165 -0
- ads/common/decorator/__init__.py +9 -0
- ads/common/decorator/argument_to_case.py +88 -0
- ads/common/decorator/deprecate.py +69 -0
- ads/common/decorator/require_nonempty_arg.py +65 -0
- ads/common/decorator/runtime_dependency.py +178 -0
- ads/common/decorator/threaded.py +97 -0
- ads/common/decorator/utils.py +35 -0
- ads/common/dsc_file_system.py +303 -0
- ads/common/error.py +14 -0
- ads/common/extended_enum.py +81 -0
- ads/common/function/__init__.py +5 -0
- ads/common/function/fn_util.py +142 -0
- ads/common/function/func_conf.yaml +25 -0
- ads/common/ipython.py +76 -0
- ads/common/model.py +679 -0
- ads/common/model_artifact.py +1759 -0
- ads/common/model_artifact_schema.json +107 -0
- ads/common/model_export_util.py +664 -0
- ads/common/model_metadata.py +24 -0
- ads/common/object_storage_details.py +296 -0
- ads/common/oci_client.py +179 -0
- ads/common/oci_datascience.py +46 -0
- ads/common/oci_logging.py +1144 -0
- ads/common/oci_mixin.py +957 -0
- ads/common/oci_resource.py +136 -0
- ads/common/serializer.py +559 -0
- ads/common/utils.py +1852 -0
- ads/common/word_lists.py +1491 -0
- ads/common/work_request.py +189 -0
- ads/config.py +1 -0
- ads/data_labeling/__init__.py +13 -0
- ads/data_labeling/boundingbox.py +253 -0
- ads/data_labeling/constants.py +47 -0
- ads/data_labeling/data_labeling_service.py +244 -0
- ads/data_labeling/interface/__init__.py +5 -0
- ads/data_labeling/interface/loader.py +16 -0
- ads/data_labeling/interface/parser.py +16 -0
- ads/data_labeling/interface/reader.py +23 -0
- ads/data_labeling/loader/__init__.py +5 -0
- ads/data_labeling/loader/file_loader.py +241 -0
- ads/data_labeling/metadata.py +110 -0
- ads/data_labeling/mixin/__init__.py +5 -0
- ads/data_labeling/mixin/data_labeling.py +232 -0
- ads/data_labeling/ner.py +129 -0
- ads/data_labeling/parser/__init__.py +5 -0
- ads/data_labeling/parser/dls_record_parser.py +388 -0
- ads/data_labeling/parser/export_metadata_parser.py +94 -0
- ads/data_labeling/parser/export_record_parser.py +473 -0
- ads/data_labeling/reader/__init__.py +5 -0
- ads/data_labeling/reader/dataset_reader.py +574 -0
- ads/data_labeling/reader/dls_record_reader.py +121 -0
- ads/data_labeling/reader/export_record_reader.py +62 -0
- ads/data_labeling/reader/jsonl_reader.py +75 -0
- ads/data_labeling/reader/metadata_reader.py +203 -0
- ads/data_labeling/reader/record_reader.py +263 -0
- ads/data_labeling/record.py +52 -0
- ads/data_labeling/visualizer/__init__.py +5 -0
- ads/data_labeling/visualizer/image_visualizer.py +525 -0
- ads/data_labeling/visualizer/text_visualizer.py +357 -0
- ads/database/__init__.py +5 -0
- ads/database/connection.py +338 -0
- ads/dataset/__init__.py +10 -0
- ads/dataset/capabilities.md +51 -0
- ads/dataset/classification_dataset.py +339 -0
- ads/dataset/correlation.py +226 -0
- ads/dataset/correlation_plot.py +563 -0
- ads/dataset/dask_series.py +173 -0
- ads/dataset/dataframe_transformer.py +110 -0
- ads/dataset/dataset.py +1979 -0
- ads/dataset/dataset_browser.py +360 -0
- ads/dataset/dataset_with_target.py +995 -0
- ads/dataset/exception.py +25 -0
- ads/dataset/factory.py +987 -0
- ads/dataset/feature_engineering_transformer.py +35 -0
- ads/dataset/feature_selection.py +107 -0
- ads/dataset/forecasting_dataset.py +26 -0
- ads/dataset/helper.py +1450 -0
- ads/dataset/label_encoder.py +99 -0
- ads/dataset/mixin/__init__.py +5 -0
- ads/dataset/mixin/dataset_accessor.py +134 -0
- ads/dataset/pipeline.py +58 -0
- ads/dataset/plot.py +710 -0
- ads/dataset/progress.py +86 -0
- ads/dataset/recommendation.py +297 -0
- ads/dataset/recommendation_transformer.py +502 -0
- ads/dataset/regression_dataset.py +14 -0
- ads/dataset/sampled_dataset.py +1050 -0
- ads/dataset/target.py +98 -0
- ads/dataset/timeseries.py +18 -0
- ads/dbmixin/__init__.py +5 -0
- ads/dbmixin/db_pandas_accessor.py +153 -0
- ads/environment/__init__.py +9 -0
- ads/environment/ml_runtime.py +66 -0
- ads/evaluations/README.md +14 -0
- ads/evaluations/__init__.py +109 -0
- ads/evaluations/evaluation_plot.py +983 -0
- ads/evaluations/evaluator.py +1334 -0
- ads/evaluations/statistical_metrics.py +543 -0
- ads/experiments/__init__.py +9 -0
- ads/experiments/capabilities.md +0 -0
- ads/explanations/__init__.py +21 -0
- ads/explanations/base_explainer.py +142 -0
- ads/explanations/capabilities.md +83 -0
- ads/explanations/explainer.py +190 -0
- ads/explanations/mlx_global_explainer.py +1050 -0
- ads/explanations/mlx_interface.py +386 -0
- ads/explanations/mlx_local_explainer.py +287 -0
- ads/explanations/mlx_whatif_explainer.py +201 -0
- ads/feature_engineering/__init__.py +20 -0
- ads/feature_engineering/accessor/__init__.py +5 -0
- ads/feature_engineering/accessor/dataframe_accessor.py +535 -0
- ads/feature_engineering/accessor/mixin/__init__.py +5 -0
- ads/feature_engineering/accessor/mixin/correlation.py +166 -0
- ads/feature_engineering/accessor/mixin/eda_mixin.py +266 -0
- ads/feature_engineering/accessor/mixin/eda_mixin_series.py +85 -0
- ads/feature_engineering/accessor/mixin/feature_types_mixin.py +211 -0
- ads/feature_engineering/accessor/mixin/utils.py +65 -0
- ads/feature_engineering/accessor/series_accessor.py +431 -0
- ads/feature_engineering/adsimage/__init__.py +5 -0
- ads/feature_engineering/adsimage/image.py +192 -0
- ads/feature_engineering/adsimage/image_reader.py +170 -0
- ads/feature_engineering/adsimage/interface/__init__.py +5 -0
- ads/feature_engineering/adsimage/interface/reader.py +19 -0
- ads/feature_engineering/adsstring/__init__.py +7 -0
- ads/feature_engineering/adsstring/oci_language/__init__.py +8 -0
- ads/feature_engineering/adsstring/string/__init__.py +8 -0
- ads/feature_engineering/data_schema.json +57 -0
- ads/feature_engineering/dataset/__init__.py +5 -0
- ads/feature_engineering/dataset/zip_code_data.py +42062 -0
- ads/feature_engineering/exceptions.py +40 -0
- ads/feature_engineering/feature_type/__init__.py +133 -0
- ads/feature_engineering/feature_type/address.py +184 -0
- ads/feature_engineering/feature_type/adsstring/__init__.py +5 -0
- ads/feature_engineering/feature_type/adsstring/common_regex_mixin.py +164 -0
- ads/feature_engineering/feature_type/adsstring/oci_language.py +93 -0
- ads/feature_engineering/feature_type/adsstring/parsers/__init__.py +5 -0
- ads/feature_engineering/feature_type/adsstring/parsers/base.py +47 -0
- ads/feature_engineering/feature_type/adsstring/parsers/nltk_parser.py +96 -0
- ads/feature_engineering/feature_type/adsstring/parsers/spacy_parser.py +221 -0
- ads/feature_engineering/feature_type/adsstring/string.py +258 -0
- ads/feature_engineering/feature_type/base.py +58 -0
- ads/feature_engineering/feature_type/boolean.py +183 -0
- ads/feature_engineering/feature_type/category.py +146 -0
- ads/feature_engineering/feature_type/constant.py +137 -0
- ads/feature_engineering/feature_type/continuous.py +151 -0
- ads/feature_engineering/feature_type/creditcard.py +314 -0
- ads/feature_engineering/feature_type/datetime.py +190 -0
- ads/feature_engineering/feature_type/discrete.py +134 -0
- ads/feature_engineering/feature_type/document.py +43 -0
- ads/feature_engineering/feature_type/gis.py +251 -0
- ads/feature_engineering/feature_type/handler/__init__.py +5 -0
- ads/feature_engineering/feature_type/handler/feature_validator.py +524 -0
- ads/feature_engineering/feature_type/handler/feature_warning.py +319 -0
- ads/feature_engineering/feature_type/handler/warnings.py +128 -0
- ads/feature_engineering/feature_type/integer.py +142 -0
- ads/feature_engineering/feature_type/ip_address.py +144 -0
- ads/feature_engineering/feature_type/ip_address_v4.py +138 -0
- ads/feature_engineering/feature_type/ip_address_v6.py +138 -0
- ads/feature_engineering/feature_type/lat_long.py +256 -0
- ads/feature_engineering/feature_type/object.py +43 -0
- ads/feature_engineering/feature_type/ordinal.py +132 -0
- ads/feature_engineering/feature_type/phone_number.py +135 -0
- ads/feature_engineering/feature_type/string.py +171 -0
- ads/feature_engineering/feature_type/text.py +93 -0
- ads/feature_engineering/feature_type/unknown.py +43 -0
- ads/feature_engineering/feature_type/zip_code.py +164 -0
- ads/feature_engineering/feature_type_manager.py +406 -0
- ads/feature_engineering/schema.py +795 -0
- ads/feature_engineering/utils.py +245 -0
- ads/feature_store/.readthedocs.yaml +19 -0
- ads/feature_store/README.md +65 -0
- ads/feature_store/__init__.py +9 -0
- ads/feature_store/common/__init__.py +0 -0
- ads/feature_store/common/enums.py +339 -0
- ads/feature_store/common/exceptions.py +18 -0
- ads/feature_store/common/spark_session_singleton.py +125 -0
- ads/feature_store/common/utils/__init__.py +0 -0
- ads/feature_store/common/utils/base64_encoder_decoder.py +72 -0
- ads/feature_store/common/utils/feature_schema_mapper.py +283 -0
- ads/feature_store/common/utils/transformation_utils.py +82 -0
- ads/feature_store/common/utils/utility.py +403 -0
- ads/feature_store/data_validation/__init__.py +0 -0
- ads/feature_store/data_validation/great_expectation.py +129 -0
- ads/feature_store/dataset.py +1230 -0
- ads/feature_store/dataset_job.py +530 -0
- ads/feature_store/docs/Dockerfile +7 -0
- ads/feature_store/docs/Makefile +44 -0
- ads/feature_store/docs/conf.py +28 -0
- ads/feature_store/docs/requirements.txt +14 -0
- ads/feature_store/docs/source/ads.feature_store.query.rst +20 -0
- ads/feature_store/docs/source/cicd.rst +137 -0
- ads/feature_store/docs/source/conf.py +86 -0
- ads/feature_store/docs/source/data_versioning.rst +33 -0
- ads/feature_store/docs/source/dataset.rst +388 -0
- ads/feature_store/docs/source/dataset_job.rst +27 -0
- ads/feature_store/docs/source/demo.rst +70 -0
- ads/feature_store/docs/source/entity.rst +78 -0
- ads/feature_store/docs/source/feature_group.rst +624 -0
- ads/feature_store/docs/source/feature_group_job.rst +29 -0
- ads/feature_store/docs/source/feature_store.rst +122 -0
- ads/feature_store/docs/source/feature_store_class.rst +123 -0
- ads/feature_store/docs/source/feature_validation.rst +66 -0
- ads/feature_store/docs/source/figures/cicd.png +0 -0
- ads/feature_store/docs/source/figures/data_validation.png +0 -0
- ads/feature_store/docs/source/figures/data_versioning.png +0 -0
- ads/feature_store/docs/source/figures/dataset.gif +0 -0
- ads/feature_store/docs/source/figures/dataset.png +0 -0
- ads/feature_store/docs/source/figures/dataset_lineage.png +0 -0
- ads/feature_store/docs/source/figures/dataset_statistics.png +0 -0
- ads/feature_store/docs/source/figures/dataset_statistics_viz.png +0 -0
- ads/feature_store/docs/source/figures/dataset_validation_results.png +0 -0
- ads/feature_store/docs/source/figures/dataset_validation_summary.png +0 -0
- ads/feature_store/docs/source/figures/drift_monitoring.png +0 -0
- ads/feature_store/docs/source/figures/entity.png +0 -0
- ads/feature_store/docs/source/figures/feature_group.png +0 -0
- ads/feature_store/docs/source/figures/feature_group_lineage.png +0 -0
- ads/feature_store/docs/source/figures/feature_group_statistics_viz.png +0 -0
- ads/feature_store/docs/source/figures/feature_store_deployment.png +0 -0
- ads/feature_store/docs/source/figures/feature_store_overview.png +0 -0
- ads/feature_store/docs/source/figures/featuregroup.gif +0 -0
- ads/feature_store/docs/source/figures/lineage_d1.png +0 -0
- ads/feature_store/docs/source/figures/lineage_d2.png +0 -0
- ads/feature_store/docs/source/figures/lineage_fg.png +0 -0
- ads/feature_store/docs/source/figures/logo-dark-mode.png +0 -0
- ads/feature_store/docs/source/figures/logo-light-mode.png +0 -0
- ads/feature_store/docs/source/figures/overview.png +0 -0
- ads/feature_store/docs/source/figures/resource_manager.png +0 -0
- ads/feature_store/docs/source/figures/resource_manager_feature_store_stack.png +0 -0
- ads/feature_store/docs/source/figures/resource_manager_home.png +0 -0
- ads/feature_store/docs/source/figures/stats_1.png +0 -0
- ads/feature_store/docs/source/figures/stats_2.png +0 -0
- ads/feature_store/docs/source/figures/stats_d.png +0 -0
- ads/feature_store/docs/source/figures/stats_fg.png +0 -0
- ads/feature_store/docs/source/figures/transformation.png +0 -0
- ads/feature_store/docs/source/figures/transformations.gif +0 -0
- ads/feature_store/docs/source/figures/validation.png +0 -0
- ads/feature_store/docs/source/figures/validation_fg.png +0 -0
- ads/feature_store/docs/source/figures/validation_results.png +0 -0
- ads/feature_store/docs/source/figures/validation_summary.png +0 -0
- ads/feature_store/docs/source/index.rst +81 -0
- ads/feature_store/docs/source/module.rst +8 -0
- ads/feature_store/docs/source/notebook.rst +94 -0
- ads/feature_store/docs/source/overview.rst +47 -0
- ads/feature_store/docs/source/quickstart.rst +176 -0
- ads/feature_store/docs/source/release_notes.rst +194 -0
- ads/feature_store/docs/source/setup_feature_store.rst +81 -0
- ads/feature_store/docs/source/statistics.rst +58 -0
- ads/feature_store/docs/source/transformation.rst +199 -0
- ads/feature_store/docs/source/ui.rst +65 -0
- ads/feature_store/docs/source/user_guides.setup.feature_store_operator.rst +66 -0
- ads/feature_store/docs/source/user_guides.setup.helm_chart.rst +192 -0
- ads/feature_store/docs/source/user_guides.setup.terraform.rst +338 -0
- ads/feature_store/entity.py +718 -0
- ads/feature_store/execution_strategy/__init__.py +0 -0
- ads/feature_store/execution_strategy/delta_lake/__init__.py +0 -0
- ads/feature_store/execution_strategy/delta_lake/delta_lake_service.py +375 -0
- ads/feature_store/execution_strategy/engine/__init__.py +0 -0
- ads/feature_store/execution_strategy/engine/spark_engine.py +316 -0
- ads/feature_store/execution_strategy/execution_strategy.py +113 -0
- ads/feature_store/execution_strategy/execution_strategy_provider.py +47 -0
- ads/feature_store/execution_strategy/spark/__init__.py +0 -0
- ads/feature_store/execution_strategy/spark/spark_execution.py +618 -0
- ads/feature_store/feature.py +192 -0
- ads/feature_store/feature_group.py +1494 -0
- ads/feature_store/feature_group_expectation.py +346 -0
- ads/feature_store/feature_group_job.py +602 -0
- ads/feature_store/feature_lineage/__init__.py +0 -0
- ads/feature_store/feature_lineage/graphviz_service.py +180 -0
- ads/feature_store/feature_option_details.py +50 -0
- ads/feature_store/feature_statistics/__init__.py +0 -0
- ads/feature_store/feature_statistics/statistics_service.py +99 -0
- ads/feature_store/feature_store.py +699 -0
- ads/feature_store/feature_store_registrar.py +518 -0
- ads/feature_store/input_feature_detail.py +149 -0
- ads/feature_store/mixin/__init__.py +4 -0
- ads/feature_store/mixin/oci_feature_store.py +145 -0
- ads/feature_store/model_details.py +73 -0
- ads/feature_store/query/__init__.py +0 -0
- ads/feature_store/query/filter.py +266 -0
- ads/feature_store/query/generator/__init__.py +0 -0
- ads/feature_store/query/generator/query_generator.py +298 -0
- ads/feature_store/query/join.py +161 -0
- ads/feature_store/query/query.py +403 -0
- ads/feature_store/query/validator/__init__.py +0 -0
- ads/feature_store/query/validator/query_validator.py +57 -0
- ads/feature_store/response/__init__.py +0 -0
- ads/feature_store/response/response_builder.py +68 -0
- ads/feature_store/service/__init__.py +0 -0
- ads/feature_store/service/oci_dataset.py +139 -0
- ads/feature_store/service/oci_dataset_job.py +199 -0
- ads/feature_store/service/oci_entity.py +125 -0
- ads/feature_store/service/oci_feature_group.py +164 -0
- ads/feature_store/service/oci_feature_group_job.py +214 -0
- ads/feature_store/service/oci_feature_store.py +182 -0
- ads/feature_store/service/oci_lineage.py +87 -0
- ads/feature_store/service/oci_transformation.py +104 -0
- ads/feature_store/statistics/__init__.py +0 -0
- ads/feature_store/statistics/abs_feature_value.py +49 -0
- ads/feature_store/statistics/charts/__init__.py +0 -0
- ads/feature_store/statistics/charts/abstract_feature_plot.py +37 -0
- ads/feature_store/statistics/charts/box_plot.py +148 -0
- ads/feature_store/statistics/charts/frequency_distribution.py +65 -0
- ads/feature_store/statistics/charts/probability_distribution.py +68 -0
- ads/feature_store/statistics/charts/top_k_frequent_elements.py +98 -0
- ads/feature_store/statistics/feature_stat.py +126 -0
- ads/feature_store/statistics/generic_feature_value.py +33 -0
- ads/feature_store/statistics/statistics.py +41 -0
- ads/feature_store/statistics_config.py +101 -0
- ads/feature_store/templates/feature_store_template.yaml +45 -0
- ads/feature_store/transformation.py +499 -0
- ads/feature_store/validation_output.py +57 -0
- ads/hpo/__init__.py +9 -0
- ads/hpo/_imports.py +91 -0
- ads/hpo/ads_search_space.py +439 -0
- ads/hpo/distributions.py +325 -0
- ads/hpo/objective.py +280 -0
- ads/hpo/search_cv.py +1657 -0
- ads/hpo/stopping_criterion.py +75 -0
- ads/hpo/tuner_artifact.py +413 -0
- ads/hpo/utils.py +91 -0
- ads/hpo/validation.py +140 -0
- ads/hpo/visualization/__init__.py +5 -0
- ads/hpo/visualization/_contour.py +23 -0
- ads/hpo/visualization/_edf.py +20 -0
- ads/hpo/visualization/_intermediate_values.py +21 -0
- ads/hpo/visualization/_optimization_history.py +25 -0
- ads/hpo/visualization/_parallel_coordinate.py +169 -0
- ads/hpo/visualization/_param_importances.py +26 -0
- ads/jobs/__init__.py +53 -0
- ads/jobs/ads_job.py +663 -0
- ads/jobs/builders/__init__.py +5 -0
- ads/jobs/builders/base.py +156 -0
- ads/jobs/builders/infrastructure/__init__.py +6 -0
- ads/jobs/builders/infrastructure/base.py +165 -0
- ads/jobs/builders/infrastructure/dataflow.py +1252 -0
- ads/jobs/builders/infrastructure/dsc_job.py +1894 -0
- ads/jobs/builders/infrastructure/dsc_job_runtime.py +1233 -0
- ads/jobs/builders/infrastructure/utils.py +65 -0
- ads/jobs/builders/runtimes/__init__.py +5 -0
- ads/jobs/builders/runtimes/artifact.py +338 -0
- ads/jobs/builders/runtimes/base.py +325 -0
- ads/jobs/builders/runtimes/container_runtime.py +242 -0
- ads/jobs/builders/runtimes/python_runtime.py +1016 -0
- ads/jobs/builders/runtimes/pytorch_runtime.py +204 -0
- ads/jobs/cli.py +104 -0
- ads/jobs/env_var_parser.py +131 -0
- ads/jobs/extension.py +160 -0
- ads/jobs/schema/__init__.py +5 -0
- ads/jobs/schema/infrastructure_schema.json +116 -0
- ads/jobs/schema/job_schema.json +42 -0
- ads/jobs/schema/runtime_schema.json +183 -0
- ads/jobs/schema/validator.py +141 -0
- ads/jobs/serializer.py +296 -0
- ads/jobs/templates/__init__.py +5 -0
- ads/jobs/templates/container.py +6 -0
- ads/jobs/templates/driver_notebook.py +177 -0
- ads/jobs/templates/driver_oci.py +500 -0
- ads/jobs/templates/driver_python.py +48 -0
- ads/jobs/templates/driver_pytorch.py +852 -0
- ads/jobs/templates/driver_utils.py +615 -0
- ads/jobs/templates/hostname_from_env.c +55 -0
- ads/jobs/templates/oci_metrics.py +181 -0
- ads/jobs/utils.py +104 -0
- ads/llm/__init__.py +28 -0
- ads/llm/autogen/__init__.py +2 -0
- ads/llm/autogen/constants.py +15 -0
- ads/llm/autogen/reports/__init__.py +2 -0
- ads/llm/autogen/reports/base.py +67 -0
- ads/llm/autogen/reports/data.py +103 -0
- ads/llm/autogen/reports/session.py +526 -0
- ads/llm/autogen/reports/templates/chat_box.html +13 -0
- ads/llm/autogen/reports/templates/chat_box_lt.html +5 -0
- ads/llm/autogen/reports/templates/chat_box_rt.html +6 -0
- ads/llm/autogen/reports/utils.py +56 -0
- ads/llm/autogen/v02/__init__.py +4 -0
- ads/llm/autogen/v02/client.py +295 -0
- ads/llm/autogen/v02/log_handlers/__init__.py +2 -0
- ads/llm/autogen/v02/log_handlers/oci_file_handler.py +83 -0
- ads/llm/autogen/v02/loggers/__init__.py +6 -0
- ads/llm/autogen/v02/loggers/metric_logger.py +320 -0
- ads/llm/autogen/v02/loggers/session_logger.py +580 -0
- ads/llm/autogen/v02/loggers/utils.py +86 -0
- ads/llm/autogen/v02/runtime_logging.py +163 -0
- ads/llm/chain.py +268 -0
- ads/llm/chat_template.py +31 -0
- ads/llm/deploy.py +63 -0
- ads/llm/guardrails/__init__.py +5 -0
- ads/llm/guardrails/base.py +442 -0
- ads/llm/guardrails/huggingface.py +44 -0
- ads/llm/langchain/__init__.py +5 -0
- ads/llm/langchain/plugins/__init__.py +5 -0
- ads/llm/langchain/plugins/chat_models/__init__.py +5 -0
- ads/llm/langchain/plugins/chat_models/oci_data_science.py +1027 -0
- ads/llm/langchain/plugins/embeddings/__init__.py +4 -0
- ads/llm/langchain/plugins/embeddings/oci_data_science_model_deployment_endpoint.py +184 -0
- ads/llm/langchain/plugins/llms/__init__.py +5 -0
- ads/llm/langchain/plugins/llms/oci_data_science_model_deployment_endpoint.py +979 -0
- ads/llm/requirements.txt +3 -0
- ads/llm/serialize.py +219 -0
- ads/llm/serializers/__init__.py +0 -0
- ads/llm/serializers/retrieval_qa.py +153 -0
- ads/llm/serializers/runnable_parallel.py +27 -0
- ads/llm/templates/score_chain.jinja2 +155 -0
- ads/llm/templates/tool_chat_template_hermes.jinja +130 -0
- ads/llm/templates/tool_chat_template_mistral_parallel.jinja +94 -0
- ads/model/__init__.py +52 -0
- ads/model/artifact.py +573 -0
- ads/model/artifact_downloader.py +254 -0
- ads/model/artifact_uploader.py +267 -0
- ads/model/base_properties.py +238 -0
- ads/model/common/.model-ignore +66 -0
- ads/model/common/__init__.py +5 -0
- ads/model/common/utils.py +142 -0
- ads/model/datascience_model.py +2635 -0
- ads/model/deployment/__init__.py +20 -0
- ads/model/deployment/common/__init__.py +5 -0
- ads/model/deployment/common/utils.py +308 -0
- ads/model/deployment/model_deployer.py +466 -0
- ads/model/deployment/model_deployment.py +1846 -0
- ads/model/deployment/model_deployment_infrastructure.py +671 -0
- ads/model/deployment/model_deployment_properties.py +493 -0
- ads/model/deployment/model_deployment_runtime.py +838 -0
- ads/model/extractor/__init__.py +5 -0
- ads/model/extractor/automl_extractor.py +74 -0
- ads/model/extractor/embedding_onnx_extractor.py +80 -0
- ads/model/extractor/huggingface_extractor.py +88 -0
- ads/model/extractor/keras_extractor.py +84 -0
- ads/model/extractor/lightgbm_extractor.py +93 -0
- ads/model/extractor/model_info_extractor.py +114 -0
- ads/model/extractor/model_info_extractor_factory.py +105 -0
- ads/model/extractor/pytorch_extractor.py +87 -0
- ads/model/extractor/sklearn_extractor.py +112 -0
- ads/model/extractor/spark_extractor.py +89 -0
- ads/model/extractor/tensorflow_extractor.py +85 -0
- ads/model/extractor/xgboost_extractor.py +94 -0
- ads/model/framework/__init__.py +5 -0
- ads/model/framework/automl_model.py +178 -0
- ads/model/framework/embedding_onnx_model.py +438 -0
- ads/model/framework/huggingface_model.py +399 -0
- ads/model/framework/lightgbm_model.py +266 -0
- ads/model/framework/pytorch_model.py +266 -0
- ads/model/framework/sklearn_model.py +250 -0
- ads/model/framework/spark_model.py +326 -0
- ads/model/framework/tensorflow_model.py +254 -0
- ads/model/framework/xgboost_model.py +258 -0
- ads/model/generic_model.py +3518 -0
- ads/model/model_artifact_boilerplate/README.md +381 -0
- ads/model/model_artifact_boilerplate/__init__.py +5 -0
- ads/model/model_artifact_boilerplate/artifact_introspection_test/__init__.py +5 -0
- ads/model/model_artifact_boilerplate/artifact_introspection_test/model_artifact_validate.py +427 -0
- ads/model/model_artifact_boilerplate/artifact_introspection_test/requirements.txt +2 -0
- ads/model/model_artifact_boilerplate/runtime.yaml +7 -0
- ads/model/model_artifact_boilerplate/score.py +61 -0
- ads/model/model_file_description_schema.json +68 -0
- ads/model/model_introspect.py +331 -0
- ads/model/model_metadata.py +1810 -0
- ads/model/model_metadata_mixin.py +460 -0
- ads/model/model_properties.py +63 -0
- ads/model/model_version_set.py +739 -0
- ads/model/runtime/__init__.py +5 -0
- ads/model/runtime/env_info.py +306 -0
- ads/model/runtime/model_deployment_details.py +37 -0
- ads/model/runtime/model_provenance_details.py +58 -0
- ads/model/runtime/runtime_info.py +81 -0
- ads/model/runtime/schemas/inference_env_info_schema.yaml +16 -0
- ads/model/runtime/schemas/model_provenance_schema.yaml +36 -0
- ads/model/runtime/schemas/training_env_info_schema.yaml +16 -0
- ads/model/runtime/utils.py +201 -0
- ads/model/serde/__init__.py +5 -0
- ads/model/serde/common.py +40 -0
- ads/model/serde/model_input.py +547 -0
- ads/model/serde/model_serializer.py +1184 -0
- ads/model/service/__init__.py +5 -0
- ads/model/service/oci_datascience_model.py +1076 -0
- ads/model/service/oci_datascience_model_deployment.py +500 -0
- ads/model/service/oci_datascience_model_version_set.py +176 -0
- ads/model/transformer/__init__.py +5 -0
- ads/model/transformer/onnx_transformer.py +324 -0
- ads/mysqldb/__init__.py +5 -0
- ads/mysqldb/mysql_db.py +227 -0
- ads/opctl/__init__.py +18 -0
- ads/opctl/anomaly_detection.py +11 -0
- ads/opctl/backend/__init__.py +5 -0
- ads/opctl/backend/ads_dataflow.py +353 -0
- ads/opctl/backend/ads_ml_job.py +710 -0
- ads/opctl/backend/ads_ml_pipeline.py +164 -0
- ads/opctl/backend/ads_model_deployment.py +209 -0
- ads/opctl/backend/base.py +146 -0
- ads/opctl/backend/local.py +1053 -0
- ads/opctl/backend/marketplace/__init__.py +9 -0
- ads/opctl/backend/marketplace/helm_helper.py +173 -0
- ads/opctl/backend/marketplace/local_marketplace.py +271 -0
- ads/opctl/backend/marketplace/marketplace_backend_runner.py +71 -0
- ads/opctl/backend/marketplace/marketplace_operator_interface.py +44 -0
- ads/opctl/backend/marketplace/marketplace_operator_runner.py +24 -0
- ads/opctl/backend/marketplace/marketplace_utils.py +212 -0
- ads/opctl/backend/marketplace/models/__init__.py +5 -0
- ads/opctl/backend/marketplace/models/bearer_token.py +94 -0
- ads/opctl/backend/marketplace/models/marketplace_type.py +70 -0
- ads/opctl/backend/marketplace/models/ocir_details.py +56 -0
- ads/opctl/backend/marketplace/prerequisite_checker.py +238 -0
- ads/opctl/cli.py +707 -0
- ads/opctl/cmds.py +869 -0
- ads/opctl/conda/__init__.py +5 -0
- ads/opctl/conda/cli.py +193 -0
- ads/opctl/conda/cmds.py +749 -0
- ads/opctl/conda/config.yaml +34 -0
- ads/opctl/conda/manifest_template.yaml +13 -0
- ads/opctl/conda/multipart_uploader.py +188 -0
- ads/opctl/conda/pack.py +89 -0
- ads/opctl/config/__init__.py +5 -0
- ads/opctl/config/base.py +57 -0
- ads/opctl/config/diagnostics/__init__.py +5 -0
- ads/opctl/config/diagnostics/distributed/default_requirements_config.yaml +62 -0
- ads/opctl/config/merger.py +255 -0
- ads/opctl/config/resolver.py +297 -0
- ads/opctl/config/utils.py +79 -0
- ads/opctl/config/validator.py +17 -0
- ads/opctl/config/versioner.py +68 -0
- ads/opctl/config/yaml_parsers/__init__.py +7 -0
- ads/opctl/config/yaml_parsers/base.py +58 -0
- ads/opctl/config/yaml_parsers/distributed/__init__.py +7 -0
- ads/opctl/config/yaml_parsers/distributed/yaml_parser.py +201 -0
- ads/opctl/constants.py +66 -0
- ads/opctl/decorator/__init__.py +5 -0
- ads/opctl/decorator/common.py +129 -0
- ads/opctl/diagnostics/__init__.py +5 -0
- ads/opctl/diagnostics/__main__.py +25 -0
- ads/opctl/diagnostics/check_distributed_job_requirements.py +212 -0
- ads/opctl/diagnostics/check_requirements.py +144 -0
- ads/opctl/diagnostics/requirement_exception.py +9 -0
- ads/opctl/distributed/README.md +109 -0
- ads/opctl/distributed/__init__.py +5 -0
- ads/opctl/distributed/certificates.py +32 -0
- ads/opctl/distributed/cli.py +207 -0
- ads/opctl/distributed/cmds.py +731 -0
- ads/opctl/distributed/common/__init__.py +5 -0
- ads/opctl/distributed/common/abstract_cluster_provider.py +449 -0
- ads/opctl/distributed/common/abstract_framework_spec_builder.py +88 -0
- ads/opctl/distributed/common/cluster_config_helper.py +103 -0
- ads/opctl/distributed/common/cluster_provider_factory.py +21 -0
- ads/opctl/distributed/common/cluster_runner.py +54 -0
- ads/opctl/distributed/common/framework_factory.py +29 -0
- ads/opctl/docker/Dockerfile.job +103 -0
- ads/opctl/docker/Dockerfile.job.arm +107 -0
- ads/opctl/docker/Dockerfile.job.gpu +175 -0
- ads/opctl/docker/base-env.yaml +13 -0
- ads/opctl/docker/cuda.repo +6 -0
- ads/opctl/docker/operator/.dockerignore +0 -0
- ads/opctl/docker/operator/Dockerfile +41 -0
- ads/opctl/docker/operator/Dockerfile.gpu +85 -0
- ads/opctl/docker/operator/cuda.repo +6 -0
- ads/opctl/docker/operator/environment.yaml +8 -0
- ads/opctl/forecast.py +11 -0
- ads/opctl/index.yaml +3 -0
- ads/opctl/model/__init__.py +5 -0
- ads/opctl/model/cli.py +65 -0
- ads/opctl/model/cmds.py +73 -0
- ads/opctl/operator/README.md +4 -0
- ads/opctl/operator/__init__.py +31 -0
- ads/opctl/operator/cli.py +344 -0
- ads/opctl/operator/cmd.py +596 -0
- ads/opctl/operator/common/__init__.py +5 -0
- ads/opctl/operator/common/backend_factory.py +460 -0
- ads/opctl/operator/common/const.py +27 -0
- ads/opctl/operator/common/data/synthetic.csv +16001 -0
- ads/opctl/operator/common/dictionary_merger.py +148 -0
- ads/opctl/operator/common/errors.py +42 -0
- ads/opctl/operator/common/operator_config.py +99 -0
- ads/opctl/operator/common/operator_loader.py +811 -0
- ads/opctl/operator/common/operator_schema.yaml +130 -0
- ads/opctl/operator/common/operator_yaml_generator.py +152 -0
- ads/opctl/operator/common/utils.py +208 -0
- ads/opctl/operator/lowcode/__init__.py +5 -0
- ads/opctl/operator/lowcode/anomaly/MLoperator +16 -0
- ads/opctl/operator/lowcode/anomaly/README.md +207 -0
- ads/opctl/operator/lowcode/anomaly/__init__.py +5 -0
- ads/opctl/operator/lowcode/anomaly/__main__.py +103 -0
- ads/opctl/operator/lowcode/anomaly/cmd.py +35 -0
- ads/opctl/operator/lowcode/anomaly/const.py +167 -0
- ads/opctl/operator/lowcode/anomaly/environment.yaml +10 -0
- ads/opctl/operator/lowcode/anomaly/model/__init__.py +5 -0
- ads/opctl/operator/lowcode/anomaly/model/anomaly_dataset.py +146 -0
- ads/opctl/operator/lowcode/anomaly/model/anomaly_merlion.py +162 -0
- ads/opctl/operator/lowcode/anomaly/model/automlx.py +99 -0
- ads/opctl/operator/lowcode/anomaly/model/autots.py +115 -0
- ads/opctl/operator/lowcode/anomaly/model/base_model.py +404 -0
- ads/opctl/operator/lowcode/anomaly/model/factory.py +110 -0
- ads/opctl/operator/lowcode/anomaly/model/isolationforest.py +78 -0
- ads/opctl/operator/lowcode/anomaly/model/oneclasssvm.py +78 -0
- ads/opctl/operator/lowcode/anomaly/model/randomcutforest.py +120 -0
- ads/opctl/operator/lowcode/anomaly/model/tods.py +119 -0
- ads/opctl/operator/lowcode/anomaly/operator_config.py +127 -0
- ads/opctl/operator/lowcode/anomaly/schema.yaml +401 -0
- ads/opctl/operator/lowcode/anomaly/utils.py +88 -0
- ads/opctl/operator/lowcode/common/__init__.py +5 -0
- ads/opctl/operator/lowcode/common/const.py +10 -0
- ads/opctl/operator/lowcode/common/data.py +116 -0
- ads/opctl/operator/lowcode/common/errors.py +47 -0
- ads/opctl/operator/lowcode/common/transformations.py +296 -0
- ads/opctl/operator/lowcode/common/utils.py +384 -0
- ads/opctl/operator/lowcode/feature_store_marketplace/MLoperator +13 -0
- ads/opctl/operator/lowcode/feature_store_marketplace/README.md +30 -0
- ads/opctl/operator/lowcode/feature_store_marketplace/__init__.py +5 -0
- ads/opctl/operator/lowcode/feature_store_marketplace/__main__.py +116 -0
- ads/opctl/operator/lowcode/feature_store_marketplace/cmd.py +85 -0
- ads/opctl/operator/lowcode/feature_store_marketplace/const.py +15 -0
- ads/opctl/operator/lowcode/feature_store_marketplace/environment.yaml +0 -0
- ads/opctl/operator/lowcode/feature_store_marketplace/models/__init__.py +4 -0
- ads/opctl/operator/lowcode/feature_store_marketplace/models/apigw_config.py +32 -0
- ads/opctl/operator/lowcode/feature_store_marketplace/models/db_config.py +43 -0
- ads/opctl/operator/lowcode/feature_store_marketplace/models/mysql_config.py +120 -0
- ads/opctl/operator/lowcode/feature_store_marketplace/models/serializable_yaml_model.py +34 -0
- ads/opctl/operator/lowcode/feature_store_marketplace/operator_utils.py +386 -0
- ads/opctl/operator/lowcode/feature_store_marketplace/schema.yaml +160 -0
- ads/opctl/operator/lowcode/forecast/MLoperator +25 -0
- ads/opctl/operator/lowcode/forecast/README.md +209 -0
- ads/opctl/operator/lowcode/forecast/__init__.py +5 -0
- ads/opctl/operator/lowcode/forecast/__main__.py +89 -0
- ads/opctl/operator/lowcode/forecast/cmd.py +40 -0
- ads/opctl/operator/lowcode/forecast/const.py +92 -0
- ads/opctl/operator/lowcode/forecast/environment.yaml +20 -0
- ads/opctl/operator/lowcode/forecast/errors.py +26 -0
- ads/opctl/operator/lowcode/forecast/model/__init__.py +5 -0
- ads/opctl/operator/lowcode/forecast/model/arima.py +279 -0
- ads/opctl/operator/lowcode/forecast/model/automlx.py +553 -0
- ads/opctl/operator/lowcode/forecast/model/autots.py +312 -0
- ads/opctl/operator/lowcode/forecast/model/base_model.py +875 -0
- ads/opctl/operator/lowcode/forecast/model/factory.py +106 -0
- ads/opctl/operator/lowcode/forecast/model/forecast_datasets.py +492 -0
- ads/opctl/operator/lowcode/forecast/model/ml_forecast.py +243 -0
- ads/opctl/operator/lowcode/forecast/model/neuralprophet.py +482 -0
- ads/opctl/operator/lowcode/forecast/model/prophet.py +450 -0
- ads/opctl/operator/lowcode/forecast/model_evaluator.py +244 -0
- ads/opctl/operator/lowcode/forecast/operator_config.py +234 -0
- ads/opctl/operator/lowcode/forecast/schema.yaml +506 -0
- ads/opctl/operator/lowcode/forecast/utils.py +397 -0
- ads/opctl/operator/lowcode/forecast/whatifserve/__init__.py +7 -0
- ads/opctl/operator/lowcode/forecast/whatifserve/deployment_manager.py +285 -0
- ads/opctl/operator/lowcode/forecast/whatifserve/score.py +246 -0
- ads/opctl/operator/lowcode/pii/MLoperator +17 -0
- ads/opctl/operator/lowcode/pii/README.md +208 -0
- ads/opctl/operator/lowcode/pii/__init__.py +5 -0
- ads/opctl/operator/lowcode/pii/__main__.py +78 -0
- ads/opctl/operator/lowcode/pii/cmd.py +39 -0
- ads/opctl/operator/lowcode/pii/constant.py +84 -0
- ads/opctl/operator/lowcode/pii/environment.yaml +17 -0
- ads/opctl/operator/lowcode/pii/errors.py +27 -0
- ads/opctl/operator/lowcode/pii/model/__init__.py +5 -0
- ads/opctl/operator/lowcode/pii/model/factory.py +82 -0
- ads/opctl/operator/lowcode/pii/model/guardrails.py +167 -0
- ads/opctl/operator/lowcode/pii/model/pii.py +145 -0
- ads/opctl/operator/lowcode/pii/model/processor/__init__.py +34 -0
- ads/opctl/operator/lowcode/pii/model/processor/email_replacer.py +34 -0
- ads/opctl/operator/lowcode/pii/model/processor/mbi_replacer.py +35 -0
- ads/opctl/operator/lowcode/pii/model/processor/name_replacer.py +225 -0
- ads/opctl/operator/lowcode/pii/model/processor/number_replacer.py +73 -0
- ads/opctl/operator/lowcode/pii/model/processor/remover.py +26 -0
- ads/opctl/operator/lowcode/pii/model/report.py +487 -0
- ads/opctl/operator/lowcode/pii/operator_config.py +95 -0
- ads/opctl/operator/lowcode/pii/schema.yaml +108 -0
- ads/opctl/operator/lowcode/pii/utils.py +43 -0
- ads/opctl/operator/lowcode/recommender/MLoperator +16 -0
- ads/opctl/operator/lowcode/recommender/README.md +206 -0
- ads/opctl/operator/lowcode/recommender/__init__.py +5 -0
- ads/opctl/operator/lowcode/recommender/__main__.py +82 -0
- ads/opctl/operator/lowcode/recommender/cmd.py +33 -0
- ads/opctl/operator/lowcode/recommender/constant.py +30 -0
- ads/opctl/operator/lowcode/recommender/environment.yaml +11 -0
- ads/opctl/operator/lowcode/recommender/model/base_model.py +212 -0
- ads/opctl/operator/lowcode/recommender/model/factory.py +56 -0
- ads/opctl/operator/lowcode/recommender/model/recommender_dataset.py +25 -0
- ads/opctl/operator/lowcode/recommender/model/svd.py +106 -0
- ads/opctl/operator/lowcode/recommender/operator_config.py +81 -0
- ads/opctl/operator/lowcode/recommender/schema.yaml +265 -0
- ads/opctl/operator/lowcode/recommender/utils.py +13 -0
- ads/opctl/operator/runtime/__init__.py +5 -0
- ads/opctl/operator/runtime/const.py +17 -0
- ads/opctl/operator/runtime/container_runtime_schema.yaml +50 -0
- ads/opctl/operator/runtime/marketplace_runtime.py +50 -0
- ads/opctl/operator/runtime/python_marketplace_runtime_schema.yaml +21 -0
- ads/opctl/operator/runtime/python_runtime_schema.yaml +21 -0
- ads/opctl/operator/runtime/runtime.py +115 -0
- ads/opctl/schema.yaml.yml +36 -0
- ads/opctl/script.py +40 -0
- ads/opctl/spark/__init__.py +5 -0
- ads/opctl/spark/cli.py +43 -0
- ads/opctl/spark/cmds.py +147 -0
- ads/opctl/templates/diagnostic_report_template.jinja2 +102 -0
- ads/opctl/utils.py +344 -0
- ads/oracledb/__init__.py +5 -0
- ads/oracledb/oracle_db.py +346 -0
- ads/pipeline/__init__.py +39 -0
- ads/pipeline/ads_pipeline.py +2279 -0
- ads/pipeline/ads_pipeline_run.py +772 -0
- ads/pipeline/ads_pipeline_step.py +605 -0
- ads/pipeline/builders/__init__.py +5 -0
- ads/pipeline/builders/infrastructure/__init__.py +5 -0
- ads/pipeline/builders/infrastructure/custom_script.py +32 -0
- ads/pipeline/cli.py +119 -0
- ads/pipeline/extension.py +291 -0
- ads/pipeline/schema/__init__.py +5 -0
- ads/pipeline/schema/cs_step_schema.json +35 -0
- ads/pipeline/schema/ml_step_schema.json +31 -0
- ads/pipeline/schema/pipeline_schema.json +71 -0
- ads/pipeline/visualizer/__init__.py +5 -0
- ads/pipeline/visualizer/base.py +570 -0
- ads/pipeline/visualizer/graph_renderer.py +272 -0
- ads/pipeline/visualizer/text_renderer.py +84 -0
- ads/secrets/__init__.py +11 -0
- ads/secrets/adb.py +386 -0
- ads/secrets/auth_token.py +86 -0
- ads/secrets/big_data_service.py +365 -0
- ads/secrets/mysqldb.py +149 -0
- ads/secrets/oracledb.py +160 -0
- ads/secrets/secrets.py +407 -0
- ads/telemetry/__init__.py +7 -0
- ads/telemetry/base.py +69 -0
- ads/telemetry/client.py +122 -0
- ads/telemetry/telemetry.py +257 -0
- ads/templates/dataflow_pyspark.jinja2 +13 -0
- ads/templates/dataflow_sparksql.jinja2 +22 -0
- ads/templates/func.jinja2 +20 -0
- ads/templates/schemas/openapi.json +1740 -0
- ads/templates/score-pkl.jinja2 +173 -0
- ads/templates/score.jinja2 +322 -0
- ads/templates/score_embedding_onnx.jinja2 +202 -0
- ads/templates/score_generic.jinja2 +165 -0
- ads/templates/score_huggingface_pipeline.jinja2 +217 -0
- ads/templates/score_lightgbm.jinja2 +185 -0
- ads/templates/score_onnx.jinja2 +407 -0
- ads/templates/score_onnx_new.jinja2 +473 -0
- ads/templates/score_oracle_automl.jinja2 +185 -0
- ads/templates/score_pyspark.jinja2 +154 -0
- ads/templates/score_pytorch.jinja2 +219 -0
- ads/templates/score_scikit-learn.jinja2 +184 -0
- ads/templates/score_tensorflow.jinja2 +184 -0
- ads/templates/score_xgboost.jinja2 +178 -0
- ads/text_dataset/__init__.py +5 -0
- ads/text_dataset/backends.py +211 -0
- ads/text_dataset/dataset.py +445 -0
- ads/text_dataset/extractor.py +207 -0
- ads/text_dataset/options.py +53 -0
- ads/text_dataset/udfs.py +22 -0
- ads/text_dataset/utils.py +49 -0
- ads/type_discovery/__init__.py +9 -0
- ads/type_discovery/abstract_detector.py +21 -0
- ads/type_discovery/constant_detector.py +41 -0
- ads/type_discovery/continuous_detector.py +54 -0
- ads/type_discovery/credit_card_detector.py +99 -0
- ads/type_discovery/datetime_detector.py +92 -0
- ads/type_discovery/discrete_detector.py +118 -0
- ads/type_discovery/document_detector.py +146 -0
- ads/type_discovery/ip_detector.py +68 -0
- ads/type_discovery/latlon_detector.py +90 -0
- ads/type_discovery/phone_number_detector.py +63 -0
- ads/type_discovery/type_discovery_driver.py +87 -0
- ads/type_discovery/typed_feature.py +594 -0
- ads/type_discovery/unknown_detector.py +41 -0
- ads/type_discovery/zipcode_detector.py +48 -0
- ads/vault/__init__.py +7 -0
- ads/vault/vault.py +237 -0
- {oracle_ads-2.13.9rc0.dist-info → oracle_ads-2.13.10rc0.dist-info}/METADATA +150 -149
- oracle_ads-2.13.10rc0.dist-info/RECORD +858 -0
- {oracle_ads-2.13.9rc0.dist-info → oracle_ads-2.13.10rc0.dist-info}/WHEEL +1 -2
- {oracle_ads-2.13.9rc0.dist-info → oracle_ads-2.13.10rc0.dist-info}/entry_points.txt +2 -1
- oracle_ads-2.13.9rc0.dist-info/RECORD +0 -9
- oracle_ads-2.13.9rc0.dist-info/top_level.txt +0 -1
- {oracle_ads-2.13.9rc0.dist-info → oracle_ads-2.13.10rc0.dist-info}/licenses/LICENSE.txt +0 -0
@@ -0,0 +1,87 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding: utf-8 -*--
|
3
|
+
|
4
|
+
# Copyright (c) 2021, 2022 Oracle and/or its affiliates.
|
5
|
+
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/
|
6
|
+
|
7
|
+
from ads.model.extractor.model_info_extractor import ModelInfoExtractor
|
8
|
+
from ads.model.model_metadata import Framework
|
9
|
+
from ads.common.decorator.runtime_dependency import (
|
10
|
+
runtime_dependency,
|
11
|
+
OptionalDependency,
|
12
|
+
)
|
13
|
+
|
14
|
+
|
15
|
+
class PyTorchExtractor(ModelInfoExtractor):
|
16
|
+
"""Class that extract model metadata from pytorch models.
|
17
|
+
|
18
|
+
Attributes
|
19
|
+
----------
|
20
|
+
model: object
|
21
|
+
The model to extract metadata from.
|
22
|
+
estimator: object
|
23
|
+
The estimator to extract metadata from.
|
24
|
+
|
25
|
+
Methods
|
26
|
+
-------
|
27
|
+
framework(self) -> str
|
28
|
+
Returns the framework of the model.
|
29
|
+
algorithm(self) -> object
|
30
|
+
Returns the algorithm of the model.
|
31
|
+
version(self) -> str
|
32
|
+
Returns the version of framework of the model.
|
33
|
+
hyperparameter(self) -> dict
|
34
|
+
Returns the hyperparameter of the model.
|
35
|
+
"""
|
36
|
+
|
37
|
+
def __init__(self, model):
|
38
|
+
self.model = model
|
39
|
+
|
40
|
+
@property
|
41
|
+
def framework(self):
|
42
|
+
"""Extracts the framework of the model.
|
43
|
+
|
44
|
+
Returns
|
45
|
+
----------
|
46
|
+
str:
|
47
|
+
The framework of the model.
|
48
|
+
"""
|
49
|
+
return Framework.PYTORCH
|
50
|
+
|
51
|
+
@property
|
52
|
+
def algorithm(self):
|
53
|
+
"""Extracts the algorithm of the model.
|
54
|
+
|
55
|
+
Returns
|
56
|
+
----------
|
57
|
+
object:
|
58
|
+
The algorithm of the model.
|
59
|
+
"""
|
60
|
+
return self.model.__class__.__name__
|
61
|
+
|
62
|
+
@property
|
63
|
+
@runtime_dependency(module="torch", install_from=OptionalDependency.PYTORCH)
|
64
|
+
def version(self):
|
65
|
+
"""Extracts the framework version of the model.
|
66
|
+
|
67
|
+
Returns
|
68
|
+
----------
|
69
|
+
str:
|
70
|
+
The framework version of the model.
|
71
|
+
"""
|
72
|
+
return torch.__version__
|
73
|
+
|
74
|
+
@property
|
75
|
+
def hyperparameter(self):
|
76
|
+
"""Extracts the hyperparameters of the model.
|
77
|
+
|
78
|
+
Returns
|
79
|
+
----------
|
80
|
+
dict:
|
81
|
+
The hyperparameters of the model.
|
82
|
+
"""
|
83
|
+
return None
|
84
|
+
|
85
|
+
|
86
|
+
class PytorchExtractor(PyTorchExtractor):
|
87
|
+
pass
|
@@ -0,0 +1,112 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding: utf-8 -*--
|
3
|
+
|
4
|
+
# Copyright (c) 2021, 2022 Oracle and/or its affiliates.
|
5
|
+
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/
|
6
|
+
|
7
|
+
|
8
|
+
import logging
|
9
|
+
import re
|
10
|
+
from collections import defaultdict
|
11
|
+
|
12
|
+
from ads.model.extractor.model_info_extractor import (
|
13
|
+
ModelInfoExtractor,
|
14
|
+
normalize_hyperparameter,
|
15
|
+
)
|
16
|
+
from ads.model.model_metadata import Framework
|
17
|
+
|
18
|
+
|
19
|
+
class SklearnExtractor(ModelInfoExtractor):
|
20
|
+
"""Class that extract model metadata from sklearn models.
|
21
|
+
|
22
|
+
Attributes
|
23
|
+
----------
|
24
|
+
model: object
|
25
|
+
The model to extract metadata from.
|
26
|
+
estimator: object
|
27
|
+
The estimator to extract metadata from.
|
28
|
+
|
29
|
+
Methods
|
30
|
+
-------
|
31
|
+
framework(self) -> str
|
32
|
+
Returns the framework of the model.
|
33
|
+
algorithm(self) -> object
|
34
|
+
Returns the algorithm of the model.
|
35
|
+
version(self) -> str
|
36
|
+
Returns the version of framework of the model.
|
37
|
+
hyperparameter(self) -> dict
|
38
|
+
Returns the hyperparameter of the model.
|
39
|
+
"""
|
40
|
+
|
41
|
+
def __init__(self, model):
|
42
|
+
self.model = model
|
43
|
+
|
44
|
+
@property
|
45
|
+
def framework(self):
|
46
|
+
"""Extracts the framework of the model.
|
47
|
+
|
48
|
+
Returns
|
49
|
+
----------
|
50
|
+
str:
|
51
|
+
The framework of the model.
|
52
|
+
"""
|
53
|
+
return Framework.SCIKIT_LEARN
|
54
|
+
|
55
|
+
@property
|
56
|
+
def algorithm(self):
|
57
|
+
"""Extracts the algorithm of the model.
|
58
|
+
|
59
|
+
Returns
|
60
|
+
----------
|
61
|
+
object:
|
62
|
+
The algorithm of the model.
|
63
|
+
"""
|
64
|
+
return self.model.__class__.__name__
|
65
|
+
|
66
|
+
@property
|
67
|
+
def version(self):
|
68
|
+
"""Extracts the framework version of the model.
|
69
|
+
|
70
|
+
Returns
|
71
|
+
----------
|
72
|
+
str:
|
73
|
+
The framework version of the model.
|
74
|
+
"""
|
75
|
+
import sklearn
|
76
|
+
|
77
|
+
return sklearn.__version__
|
78
|
+
|
79
|
+
@property
|
80
|
+
def hyperparameter(self):
|
81
|
+
"""Extracts the hyperparameters of the model.
|
82
|
+
|
83
|
+
Returns
|
84
|
+
----------
|
85
|
+
dict:
|
86
|
+
The hyperparameters of the model.
|
87
|
+
"""
|
88
|
+
if hasattr(self.model, "get_params"):
|
89
|
+
hp_dict = self.model.get_params()
|
90
|
+
# make shallow copy to avoid modifying the model object
|
91
|
+
new_dict = hp_dict.copy()
|
92
|
+
# handle sklearn pipeline case
|
93
|
+
if "steps" in hp_dict:
|
94
|
+
new_dict["steps"] = defaultdict(list)
|
95
|
+
for i, (k, v) in enumerate(hp_dict["steps"]):
|
96
|
+
new_dict["steps"][i] = {k: re.sub("[()]", "", str(v))}
|
97
|
+
new_dict[k] = re.sub("[()]", "", str(v))
|
98
|
+
# handle sklearn model selection case
|
99
|
+
elif "param_grid" in hp_dict:
|
100
|
+
new_dict["estimator"] = str(hp_dict["estimator"])
|
101
|
+
new_dict["param_grid"] = defaultdict(list)
|
102
|
+
for k, v in hp_dict["param_grid"].items():
|
103
|
+
new_dict["param_grid"][k] = v.tolist()
|
104
|
+
new_dict.update(self.model.best_params_)
|
105
|
+
|
106
|
+
return normalize_hyperparameter(new_dict)
|
107
|
+
else:
|
108
|
+
# for onnx model case.
|
109
|
+
logging.warning(
|
110
|
+
"Cannot extract the hyperparameters from this model automatically."
|
111
|
+
)
|
112
|
+
return {}
|
@@ -0,0 +1,89 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding: utf-8 -*--
|
3
|
+
|
4
|
+
# Copyright (c) 2021, 2022 Oracle and/or its affiliates.
|
5
|
+
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/
|
6
|
+
|
7
|
+
|
8
|
+
from ads.common.decorator.runtime_dependency import (
|
9
|
+
runtime_dependency,
|
10
|
+
OptionalDependency,
|
11
|
+
)
|
12
|
+
|
13
|
+
from ads.model.extractor.model_info_extractor import (
|
14
|
+
ModelInfoExtractor,
|
15
|
+
normalize_hyperparameter,
|
16
|
+
)
|
17
|
+
from ads.model.model_metadata import Framework
|
18
|
+
|
19
|
+
|
20
|
+
class SparkExtractor(ModelInfoExtractor):
|
21
|
+
"""Class that extract model metadata from pyspark models.
|
22
|
+
|
23
|
+
Attributes
|
24
|
+
----------
|
25
|
+
model: object
|
26
|
+
The model to extract metadata from.
|
27
|
+
estimator: object
|
28
|
+
The estimator to extract metadata from.
|
29
|
+
|
30
|
+
Methods
|
31
|
+
-------
|
32
|
+
framework(self) -> str
|
33
|
+
Returns the framework of the model.
|
34
|
+
algorithm(self) -> object
|
35
|
+
Returns the algorithm of the model.
|
36
|
+
version(self) -> str
|
37
|
+
Returns the version of framework of the model.
|
38
|
+
hyperparameter(self) -> dict
|
39
|
+
Returns the hyperparameter of the model.
|
40
|
+
"""
|
41
|
+
|
42
|
+
def __init__(self, model):
|
43
|
+
self.model = model
|
44
|
+
|
45
|
+
@property
|
46
|
+
def framework(self):
|
47
|
+
"""Extracts the framework of the model.
|
48
|
+
|
49
|
+
Returns
|
50
|
+
----------
|
51
|
+
str:
|
52
|
+
The framework of the model.
|
53
|
+
"""
|
54
|
+
return Framework.SPARK
|
55
|
+
|
56
|
+
@property
|
57
|
+
def algorithm(self):
|
58
|
+
"""Extracts the algorithm of the model.
|
59
|
+
|
60
|
+
Returns
|
61
|
+
----------
|
62
|
+
object:
|
63
|
+
The algorithm of the model.
|
64
|
+
"""
|
65
|
+
return self.model.__class__.__name__
|
66
|
+
|
67
|
+
@property
|
68
|
+
@runtime_dependency(module="pyspark", install_from=OptionalDependency.SPARK)
|
69
|
+
def version(self):
|
70
|
+
"""Extracts the framework version of the model.
|
71
|
+
|
72
|
+
Returns
|
73
|
+
----------
|
74
|
+
str:
|
75
|
+
The framework version of the model.
|
76
|
+
"""
|
77
|
+
return pyspark.__version__
|
78
|
+
|
79
|
+
@property
|
80
|
+
def hyperparameter(self):
|
81
|
+
"""Extracts the hyperparameters of the model.
|
82
|
+
|
83
|
+
Returns
|
84
|
+
----------
|
85
|
+
dict:
|
86
|
+
The hyperparameters of the model
|
87
|
+
"""
|
88
|
+
hyperparams = {str(stage): stage.explainParams() for stage in self.model.stages}
|
89
|
+
return normalize_hyperparameter(hyperparams)
|
@@ -0,0 +1,85 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding: utf-8 -*--
|
3
|
+
|
4
|
+
# Copyright (c) 2021, 2022 Oracle and/or its affiliates.
|
5
|
+
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/
|
6
|
+
|
7
|
+
from ads.model.extractor.model_info_extractor import ModelInfoExtractor
|
8
|
+
from ads.model.model_metadata import Framework
|
9
|
+
from ads.common.decorator.runtime_dependency import (
|
10
|
+
runtime_dependency,
|
11
|
+
OptionalDependency,
|
12
|
+
)
|
13
|
+
|
14
|
+
|
15
|
+
class TensorflowExtractor(ModelInfoExtractor):
|
16
|
+
"""Class that extract model metadata from tensorflow models.
|
17
|
+
|
18
|
+
Attributes
|
19
|
+
----------
|
20
|
+
model: object
|
21
|
+
The model to extract metadata from.
|
22
|
+
estimator: object
|
23
|
+
The estimator to extract metadata from.
|
24
|
+
|
25
|
+
Methods
|
26
|
+
-------
|
27
|
+
framework(self) -> str
|
28
|
+
Returns the framework of the model.
|
29
|
+
algorithm(self) -> object
|
30
|
+
Returns the algorithm of the model.
|
31
|
+
version(self) -> str
|
32
|
+
Returns the version of framework of the model.
|
33
|
+
hyperparameter(self) -> dict
|
34
|
+
Returns the hyperparameter of the model.
|
35
|
+
"""
|
36
|
+
|
37
|
+
def __init__(self, model):
|
38
|
+
self.model = model
|
39
|
+
|
40
|
+
@property
|
41
|
+
def framework(self):
|
42
|
+
"""Extracts the framework of the model.
|
43
|
+
|
44
|
+
Returns
|
45
|
+
----------
|
46
|
+
str:
|
47
|
+
The framework of the model.
|
48
|
+
"""
|
49
|
+
return Framework.TENSORFLOW
|
50
|
+
|
51
|
+
@property
|
52
|
+
def algorithm(self):
|
53
|
+
"""Extracts the algorithm of the model.
|
54
|
+
|
55
|
+
Returns
|
56
|
+
----------
|
57
|
+
object:
|
58
|
+
The algorithm of the model.
|
59
|
+
"""
|
60
|
+
return self.model.__class__.__name__
|
61
|
+
|
62
|
+
@property
|
63
|
+
@runtime_dependency(
|
64
|
+
module="tensorflow", short_name="tf", install_from=OptionalDependency.TENSORFLOW
|
65
|
+
)
|
66
|
+
def version(self):
|
67
|
+
"""Extracts the framework version of the model.
|
68
|
+
|
69
|
+
Returns
|
70
|
+
----------
|
71
|
+
str:
|
72
|
+
The framework version of the model.
|
73
|
+
"""
|
74
|
+
return tf.__version__
|
75
|
+
|
76
|
+
@property
|
77
|
+
def hyperparameter(self):
|
78
|
+
"""Extracts the hyperparameters of the model.
|
79
|
+
|
80
|
+
Returns
|
81
|
+
----------
|
82
|
+
dict:
|
83
|
+
The hyperparameters of the model.
|
84
|
+
"""
|
85
|
+
return None
|
@@ -0,0 +1,94 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding: utf-8 -*--
|
3
|
+
|
4
|
+
# Copyright (c) 2021, 2022 Oracle and/or its affiliates.
|
5
|
+
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/
|
6
|
+
|
7
|
+
import logging
|
8
|
+
|
9
|
+
from ads.model.extractor.model_info_extractor import ModelInfoExtractor
|
10
|
+
from ads.model.model_metadata import Framework
|
11
|
+
from ads.common.decorator.runtime_dependency import (
|
12
|
+
runtime_dependency,
|
13
|
+
OptionalDependency,
|
14
|
+
)
|
15
|
+
import json
|
16
|
+
|
17
|
+
|
18
|
+
class XgboostExtractor(ModelInfoExtractor):
|
19
|
+
"""Class that extract model metadata from xgboost models.
|
20
|
+
|
21
|
+
Attributes
|
22
|
+
----------
|
23
|
+
model: object
|
24
|
+
The model to extract metadata from.
|
25
|
+
estimator: object
|
26
|
+
The estimator to extract metadata from.
|
27
|
+
|
28
|
+
Methods
|
29
|
+
-------
|
30
|
+
framework(self) -> str
|
31
|
+
Returns the framework of the model.
|
32
|
+
algorithm(self) -> object
|
33
|
+
Returns the algorithm of the model.
|
34
|
+
version(self) -> str
|
35
|
+
Returns the version of framework of the model.
|
36
|
+
hyperparameter(self) -> dict
|
37
|
+
Returns the hyperparameter of the model.
|
38
|
+
"""
|
39
|
+
|
40
|
+
def __init__(self, model):
|
41
|
+
self.model = model
|
42
|
+
|
43
|
+
@property
|
44
|
+
def framework(self):
|
45
|
+
"""Extracts the framework of the model.
|
46
|
+
|
47
|
+
Returns
|
48
|
+
----------
|
49
|
+
str:
|
50
|
+
The framework of the model.
|
51
|
+
"""
|
52
|
+
return Framework.XGBOOST
|
53
|
+
|
54
|
+
@property
|
55
|
+
def algorithm(self):
|
56
|
+
"""Extracts the algorithm of the model.
|
57
|
+
|
58
|
+
Returns
|
59
|
+
----------
|
60
|
+
object:
|
61
|
+
The algorithm of the model.
|
62
|
+
"""
|
63
|
+
return self.model.__class__.__name__
|
64
|
+
|
65
|
+
@property
|
66
|
+
@runtime_dependency(module="xgboost", install_from=OptionalDependency.BOOSTED)
|
67
|
+
def version(self):
|
68
|
+
"""Extracts the framework version of the model.
|
69
|
+
|
70
|
+
Returns
|
71
|
+
----------
|
72
|
+
str:
|
73
|
+
The framework version of the model.
|
74
|
+
"""
|
75
|
+
return xgboost.__version__
|
76
|
+
|
77
|
+
@property
|
78
|
+
def hyperparameter(self):
|
79
|
+
"""Extracts the hyperparameters of the model.
|
80
|
+
|
81
|
+
Returns
|
82
|
+
----------
|
83
|
+
dict:
|
84
|
+
The hyperparameters of the model.
|
85
|
+
"""
|
86
|
+
if hasattr(self.model, "get_params"):
|
87
|
+
return self.model.get_params()
|
88
|
+
elif hasattr(self.model, "save_config"):
|
89
|
+
return json.loads(self.model.save_config())
|
90
|
+
else:
|
91
|
+
logging.warning(
|
92
|
+
"Cannot extract the hyperparameters from this model automatically."
|
93
|
+
)
|
94
|
+
return {}
|
@@ -0,0 +1,178 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding: utf-8 -*--
|
3
|
+
|
4
|
+
# Copyright (c) 2022, 2023 Oracle and/or its affiliates.
|
5
|
+
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/
|
6
|
+
|
7
|
+
|
8
|
+
from typing import Callable, Dict, List, Optional
|
9
|
+
from ads.common import logger
|
10
|
+
from ads.model.extractor.automl_extractor import AutoMLExtractor
|
11
|
+
from ads.model.generic_model import FrameworkSpecificModel
|
12
|
+
from ads.model.model_properties import ModelProperties
|
13
|
+
from ads.model.serde.common import SERDE
|
14
|
+
from ads.common.decorator.deprecate import deprecated
|
15
|
+
|
16
|
+
|
17
|
+
class AutoMLModel(FrameworkSpecificModel):
|
18
|
+
"""AutoMLModel class for estimators from AutoML framework.
|
19
|
+
|
20
|
+
Attributes
|
21
|
+
----------
|
22
|
+
algorithm: str
|
23
|
+
"ensemble", the algorithm name of the model.
|
24
|
+
artifact_dir: str
|
25
|
+
Artifact directory to store the files needed for deployment.
|
26
|
+
auth: Dict
|
27
|
+
Default authentication is set using the `ads.set_auth` API. To override the
|
28
|
+
default, use the `ads.common.auth.api_keys` or `ads.common.auth.resource_principal` to create
|
29
|
+
an authentication signer to instantiate an IdentityClient object.
|
30
|
+
estimator: Callable
|
31
|
+
A trained automl estimator/model using oracle automl.
|
32
|
+
framework: str
|
33
|
+
"oracle_automl", the framework name of the estimator.
|
34
|
+
hyperparameter: dict
|
35
|
+
The hyperparameters of the estimator.
|
36
|
+
metadata_custom: ModelCustomMetadata
|
37
|
+
The model custom metadata.
|
38
|
+
metadata_provenance: ModelProvenanceMetadata
|
39
|
+
The model provenance metadata.
|
40
|
+
metadata_taxonomy: ModelTaxonomyMetadata
|
41
|
+
The model taxonomy metadata.
|
42
|
+
model_artifact: ModelArtifact
|
43
|
+
This is built by calling prepare.
|
44
|
+
model_deployment: ModelDeployment
|
45
|
+
A ModelDeployment instance.
|
46
|
+
model_file_name: str
|
47
|
+
Name of the serialized model. Default to "model.pkl".
|
48
|
+
model_id: str
|
49
|
+
The model ID.
|
50
|
+
properties: ModelProperties
|
51
|
+
ModelProperties object required to save and deploy model.
|
52
|
+
For more details, check https://accelerated-data-science.readthedocs.io/en/latest/ads.model.html#module-ads.model.model_properties.
|
53
|
+
runtime_info: RuntimeInfo
|
54
|
+
A RuntimeInfo instance.
|
55
|
+
schema_input: Schema
|
56
|
+
Schema describes the structure of the input data.
|
57
|
+
schema_output: Schema
|
58
|
+
Schema describes the structure of the output data.
|
59
|
+
serialize: bool
|
60
|
+
Whether to serialize the model to pkl file by default. If False, you need to serialize the model manually,
|
61
|
+
save it under artifact_dir and update the score.py manually.
|
62
|
+
version: str
|
63
|
+
The framework version of the model.
|
64
|
+
|
65
|
+
Methods
|
66
|
+
-------
|
67
|
+
delete_deployment(...)
|
68
|
+
Deletes the current model deployment.
|
69
|
+
deploy(..., **kwargs)
|
70
|
+
Deploys a model.
|
71
|
+
from_model_artifact(uri, model_file_name, artifact_dir, ..., **kwargs)
|
72
|
+
Loads model from the specified folder, or zip/tar archive.
|
73
|
+
from_model_catalog(model_id, model_file_name, artifact_dir, ..., **kwargs)
|
74
|
+
Loads model from model catalog.
|
75
|
+
introspect(...)
|
76
|
+
Runs model introspection.
|
77
|
+
predict(data, ...)
|
78
|
+
Returns prediction of input data run against the model deployment endpoint.
|
79
|
+
prepare(..., **kwargs)
|
80
|
+
Prepare and save the score.py, serialized model and runtime.yaml file.
|
81
|
+
reload(...)
|
82
|
+
Reloads the model artifact files: `score.py` and the `runtime.yaml`.
|
83
|
+
save(..., **kwargs)
|
84
|
+
Saves model artifacts to the model catalog.
|
85
|
+
summary_status(...)
|
86
|
+
Gets a summary table of the current status.
|
87
|
+
verify(data, ...)
|
88
|
+
Tests if deployment works in local environment.
|
89
|
+
|
90
|
+
Examples
|
91
|
+
--------
|
92
|
+
>>> import tempfile
|
93
|
+
>>> import logging
|
94
|
+
>>> import warnings
|
95
|
+
>>> from ads.automl.driver import AutoML
|
96
|
+
>>> from ads.automl.provider import OracleAutoMLProvider
|
97
|
+
>>> from ads.dataset.dataset_browser import DatasetBrowser
|
98
|
+
>>> from ads.model.framework.automl_model import AutoMLModel
|
99
|
+
>>> from ads.model.model_metadata import UseCaseType
|
100
|
+
>>> ds = DatasetBrowser.sklearn().open("wine").set_target("target")
|
101
|
+
>>> train, test = ds.train_test_split(test_size=0.1, random_state = 42)
|
102
|
+
|
103
|
+
>>> ml_engine = OracleAutoMLProvider(n_jobs=-1, loglevel=logging.ERROR)
|
104
|
+
>>> oracle_automl = AutoML(train, provider=ml_engine)
|
105
|
+
>>> model, baseline = oracle_automl.train(
|
106
|
+
... model_list=['LogisticRegression', 'DecisionTreeClassifier'],
|
107
|
+
... random_state = 42,
|
108
|
+
... time_budget = 500
|
109
|
+
... )
|
110
|
+
|
111
|
+
>>> automl_model.prepare(inference_conda_env=inference_conda_env, force_overwrite=True)
|
112
|
+
>>> automl_model.verify(...)
|
113
|
+
>>> automl_model.save()
|
114
|
+
>>> model_deployment = automl_model.deploy(wait_for_completion=False)
|
115
|
+
"""
|
116
|
+
|
117
|
+
_PREFIX = "automl"
|
118
|
+
|
119
|
+
@deprecated(
|
120
|
+
details=f"Working with AutoML has moved from within ADS to working directly with the automlx library. Please use `GenericModel` https://accelerated-data-science.readthedocs.io/en/latest/user_guide/model_registration/frameworks/genericmodel.html class instead. An example can be found at https://accelerated-data-science.readthedocs.io/en/latest/user_guide/model_registration/frameworks/automlmodel.html",
|
121
|
+
raise_error=True,
|
122
|
+
)
|
123
|
+
def __init__(
|
124
|
+
self,
|
125
|
+
estimator: Callable,
|
126
|
+
artifact_dir: str,
|
127
|
+
properties: Optional[ModelProperties] = None,
|
128
|
+
auth: Dict = None,
|
129
|
+
model_save_serializer: Optional[SERDE] = None,
|
130
|
+
model_input_serializer: Optional[SERDE] = None,
|
131
|
+
**kwargs,
|
132
|
+
):
|
133
|
+
"""
|
134
|
+
Initiates a AutoMLModel instance.
|
135
|
+
|
136
|
+
Parameters
|
137
|
+
----------
|
138
|
+
estimator: Callable
|
139
|
+
Any model object generated by automl framework.
|
140
|
+
artifact_dir: str
|
141
|
+
Directory for generate artifact.
|
142
|
+
properties: (ModelProperties, optional). Defaults to None.
|
143
|
+
ModelProperties object required to save and deploy model.
|
144
|
+
auth: (Dict, optional). Defaults to None.
|
145
|
+
The default authetication is set using `ads.set_auth` API. If you need to override the
|
146
|
+
default, use the `ads.common.auth.api_keys` or `ads.common.auth.resource_principal` to create appropriate
|
147
|
+
authentication signer and kwargs required to instantiate IdentityClient object.
|
148
|
+
model_save_serializer: (SERDE or str, optional). Defaults to None.
|
149
|
+
Instance of ads.model.SERDE. Used for serialize/deserialize model.
|
150
|
+
model_input_serializer: (SERDE, optional). Defaults to None.
|
151
|
+
Instance of ads.model.SERDE. Used for serialize/deserialize data.
|
152
|
+
|
153
|
+
Returns
|
154
|
+
-------
|
155
|
+
AutoMLModel
|
156
|
+
AutoMLModel instance.
|
157
|
+
|
158
|
+
Raises
|
159
|
+
------
|
160
|
+
TypeError
|
161
|
+
If the input model is not an AutoML model.
|
162
|
+
"""
|
163
|
+
if not str(type(estimator)).startswith("<class 'ads.common.model.ADSModel'"):
|
164
|
+
raise TypeError(f"{str(type(estimator))} is not supported in AutoMLModel.")
|
165
|
+
super().__init__(
|
166
|
+
estimator=estimator,
|
167
|
+
artifact_dir=artifact_dir,
|
168
|
+
properties=properties,
|
169
|
+
auth=auth,
|
170
|
+
model_save_serializer=model_save_serializer,
|
171
|
+
model_input_serializer=model_input_serializer,
|
172
|
+
**kwargs,
|
173
|
+
)
|
174
|
+
self._extractor = AutoMLExtractor(estimator)
|
175
|
+
self.framework = self._extractor.framework
|
176
|
+
self.algorithm = self._extractor.algorithm
|
177
|
+
self.version = self._extractor.version
|
178
|
+
self.hyperparameter = self._extractor.hyperparameter
|