snowflake-ml-python 1.49.0__tar.gz → 1.50.0__tar.gz
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.
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/CHANGELOG.md +22 -7
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/PKG-INFO +23 -9
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/pyproject.toml +1 -1
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/utils/query_result_checker.py +2 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/feature_store.py +13 -2
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/feature_view.py +28 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/online_service.py +10 -0
- snowflake_ml_python-1.50.0/snowflake/ml/model/_client/model/batch_inference_job_specs.py +166 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_client/model/batch_inference_serialization.py +3 -1
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_client/model/batch_inference_specs.py +7 -105
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_client/model/model_version_impl.py +37 -14
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_client/ops/service_ops.py +146 -40
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_client/service/inference_job_service_spec.py +8 -6
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_client/sql/model_version.py +10 -6
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py +0 -1
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/batch/__init__.py +4 -2
- snowflake_ml_python-1.50.0/snowflake/ml/model/batch_inference/__init__.py +25 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/version.py +1 -1
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake_ml_python.egg-info/PKG-INFO +23 -9
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake_ml_python.egg-info/SOURCES.txt +2 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake_ml_python.egg-info/requires.txt +0 -1
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/LICENSE.txt +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/README.md +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/setup.cfg +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/cortex/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/cortex/_classify_text.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/cortex/_complete.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/cortex/_embed_text_1024.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/cortex/_embed_text_768.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/cortex/_extract_answer.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/cortex/_finetune.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/cortex/_sentiment.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/cortex/_sse_client.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/cortex/_summarize.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/cortex/_translate.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/cortex/_util.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/env.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/env_utils.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/exceptions/dataset_error_messages.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/exceptions/dataset_errors.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/exceptions/error_codes.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/exceptions/error_messages.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/exceptions/exceptions.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/exceptions/fileset_error_messages.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/exceptions/fileset_errors.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/exceptions/modeling_error_messages.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/exceptions/sql_error_codes.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/file_utils.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/human_readable_id/adjectives.txt +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/human_readable_id/animals.txt +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/human_readable_id/hrid_generator.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/human_readable_id/hrid_generator_base.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/init_utils.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/lineage/lineage_utils.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/migrator_utils.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/platform_capabilities.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/relax_version_strategy.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/telemetry.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/type_utils.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/utils/connection_params.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/utils/db_utils.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/utils/formatting.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/utils/identifier.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/utils/import_utils.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/utils/jwt_generator.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/utils/mixins.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/utils/parallelize.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/utils/pkg_version_utils.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/utils/result.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/utils/service_logger.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/utils/snowflake_env.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/utils/snowpark_dataframe_utils.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/utils/sql_identifier.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/utils/table_manager.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/utils/tee.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/utils/temp_file_utils.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/_internal/utils/url.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/data/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/data/_internal/arrow_ingestor.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/data/data_connector.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/data/data_ingestor.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/data/data_source.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/data/ingestor_utils.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/data/torch_utils.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/dataset/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/dataset/dataset.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/dataset/dataset_factory.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/dataset/dataset_metadata.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/dataset/dataset_reader.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/experiment/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/experiment/_client/artifact.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/experiment/_client/experiment_tracking_sql_client.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/experiment/_entities/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/experiment/_entities/experiment.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/experiment/_entities/run.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/experiment/_entities/run_metadata.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/experiment/_experiment_info.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/experiment/_logging/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/experiment/_logging/experiment_logger.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/experiment/_logging/experiment_logging_context.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/experiment/_source_info.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/experiment/callback/keras.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/experiment/callback/lightgbm.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/experiment/callback/xgboost.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/experiment/experiment_tracking.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/experiment/utils.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/_compute_fn_validation.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/access_manager.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/aggregation.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/entity.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/examples/airline_features/entities.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/examples/airline_features/features/plane_features.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/examples/airline_features/features/weather_features.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/examples/airline_features/source.yaml +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/examples/citibike_trip_features/entities.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/station_feature.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/trip_feature.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/examples/citibike_trip_features/source.yaml +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/examples/example_helper.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/entities.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/location_features.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/trip_features.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/source.yaml +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/examples/source_data/airline.yaml +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/examples/source_data/citibike_trips.yaml +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/examples/source_data/fraud_transactions.yaml +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/examples/source_data/nyc_yellow_trips.yaml +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/examples/source_data/winequality_red.yaml +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/examples/wine_quality_features/entities.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/managed_wine_features.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/static_wine_features.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/examples/wine_quality_features/source.yaml +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/feature.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/feature_group.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/feature_view_append_only_validation.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/feature_view_refresh_freq.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/interval_utils.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/metadata_manager.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/online_service_http_client.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/realtime_config.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/realtime_dataset.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/realtime_dataset_udf.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/realtime_registration.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/request_source.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/spec/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/spec/builder.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/spec/enums.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/spec/models.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/spec/table_schema_evolution.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/stream_config.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/stream_source.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/streaming_registration.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/tile_sql_generator.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/fileset/embedded_stage_fs.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/fileset/fileset.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/fileset/sfcfs.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/fileset/snowfs.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/fileset/stage_fs.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/jobs/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/jobs/_interop/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/jobs/_interop/data_utils.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/jobs/_interop/dto_schema.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/jobs/_interop/exception_utils.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/jobs/_interop/legacy.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/jobs/_interop/protocols.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/jobs/_interop/results.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/jobs/_interop/utils.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/jobs/_utils/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/jobs/_utils/arg_protocol.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/jobs/_utils/constants.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/jobs/_utils/feature_flags.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/jobs/_utils/payload_utils.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/jobs/_utils/query_helper.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/jobs/_utils/runtime_env_utils.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/jobs/_utils/scripts/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/jobs/_utils/scripts/constants.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/jobs/_utils/scripts/get_instance_ip.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/jobs/_utils/scripts/mljob_launcher.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/jobs/_utils/scripts/signal_workers.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/jobs/_utils/scripts/start_mlruntime.sh +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/jobs/_utils/scripts/startup.sh +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/jobs/_utils/scripts/worker_shutdown_listener.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/jobs/_utils/stage_utils.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/jobs/_utils/type_utils.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/jobs/decorators.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/jobs/job.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/jobs/job_definition.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/jobs/manager.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/lineage/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/lineage/lineage_node.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_client/model/batch_inference_task.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_client/model/inference_engine_utils.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_client/model/model_impl.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_client/ops/deployment_step.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_client/ops/live_commit_naming.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_client/ops/metadata_ops.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_client/ops/model_ops.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_client/ops/param_ops.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_client/ops/param_utils.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_client/service/import_model_spec_schema.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_client/service/model_deployment_spec.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_client/service/model_deployment_spec_schema.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_client/sql/_base.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_client/sql/model.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_client/sql/service.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_client/sql/stage.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_client/sql/tag.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_model_composer/huggingface_lazy_uploader.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_model_composer/model_composer.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_model_composer/model_method/constants.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_model_composer/model_method/function_generator.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_model_composer/model_method/infer_function.py_template +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_model_composer/model_method/infer_function_init_once.py_template +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_model_composer/model_method/infer_partitioned.py_template +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_model_composer/model_method/infer_partitioned_init_once.py_template +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_model_composer/model_method/infer_table_function.py_template +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_model_composer/model_method/infer_table_function_init_once.py_template +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_model_composer/model_method/model_method.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_model_composer/model_method/utils.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_model_composer/model_user_file/model_user_file.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_env/model_env.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handler.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/_base.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/_utils.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/catboost.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/custom.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/huggingface/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_default.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_handler.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_openai_chat_wrapper.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_task_handler.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_utils.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/huggingface/audio_classification.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/huggingface/audio_text_to_text.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/huggingface/automatic_speech_recognition.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/huggingface/conversational.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/huggingface/document_question_answering.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/huggingface/fill_mask.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_classification.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_feature_extraction.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_text_to_text.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_to_text.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/huggingface/object_detection.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/huggingface/question_answering.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/huggingface/summarization.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/huggingface/table_question_answering.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/huggingface/text2text_generation.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/huggingface/text_classification.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/huggingface/text_generation.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/huggingface/token_classification.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/huggingface/translation.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/huggingface/video_classification.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/huggingface/video_text_to_text.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/huggingface/visual_question_answering.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_audio_classification.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_image_classification.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_object_detection.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_text_classification.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/keras.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/lightgbm.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/mlflow.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/prophet.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/pytorch.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/sentence_transformers.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/sklearn.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/snowmlmodel.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/tensorflow.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/torchscript.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers/xgboost.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers_migrator/base_migrator.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers_migrator/pytorch_migrator_2023_12_01.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2023_12_01.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2025_01_01.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_handlers_migrator/torchscript_migrator_2023_12_01.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_meta/model_blob_meta.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_meta/model_meta.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_meta/model_meta_schema.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_meta/model_sample_input_data.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_meta_migrator/base_migrator.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_plans.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_v1.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_packager.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_runtime/model_runtime.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_save_options.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_packager/model_task/model_task_utils.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_signatures/base_handler.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_signatures/builtins_handler.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_signatures/core.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_signatures/dmatrix_handler.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_signatures/numpy_handler.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_signatures/pandas_handler.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_signatures/pytorch_handler.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_signatures/snowpark_handler.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_signatures/tensorflow_handler.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/_signatures/utils.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/code_path.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/compute_pool.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/custom_model.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/event_handler.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/inference_engine.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/model_signature.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/models/huggingface.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/models/huggingface_pipeline.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/openai_signatures.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/target_platform.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/task.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/type_hints.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/model/volatility.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/_internal/estimator_utils.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_handlers.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_trainer.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/_internal/model_specifications.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/_internal/model_trainer.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/_internal/model_trainer_builder.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/_internal/model_transformer_builder.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_search_udf_file.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_handlers.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_trainer.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/_internal/snowpark_implementations/xgboost_external_memory_trainer.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/_internal/transformer_protocols.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/calibration/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/calibration/calibrated_classifier_cv.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/cluster/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/cluster/affinity_propagation.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/cluster/agglomerative_clustering.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/cluster/birch.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/cluster/bisecting_k_means.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/cluster/dbscan.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/cluster/feature_agglomeration.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/cluster/k_means.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/cluster/mean_shift.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/cluster/mini_batch_k_means.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/cluster/optics.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/cluster/spectral_biclustering.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/cluster/spectral_clustering.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/cluster/spectral_coclustering.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/compose/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/compose/column_transformer.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/compose/transformed_target_regressor.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/covariance/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/covariance/elliptic_envelope.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/covariance/empirical_covariance.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/covariance/graphical_lasso.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/covariance/graphical_lasso_cv.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/covariance/ledoit_wolf.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/covariance/min_cov_det.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/covariance/oas.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/covariance/shrunk_covariance.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/decomposition/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/decomposition/dictionary_learning.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/decomposition/factor_analysis.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/decomposition/fast_ica.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/decomposition/incremental_pca.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/decomposition/kernel_pca.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/decomposition/mini_batch_dictionary_learning.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/decomposition/mini_batch_sparse_pca.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/decomposition/pca.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/decomposition/sparse_pca.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/decomposition/truncated_svd.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/discriminant_analysis/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/discriminant_analysis/linear_discriminant_analysis.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/discriminant_analysis/quadratic_discriminant_analysis.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/ensemble/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/ensemble/ada_boost_classifier.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/ensemble/ada_boost_regressor.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/ensemble/bagging_classifier.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/ensemble/bagging_regressor.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/ensemble/extra_trees_classifier.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/ensemble/extra_trees_regressor.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/ensemble/gradient_boosting_classifier.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/ensemble/gradient_boosting_regressor.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_classifier.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_regressor.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/ensemble/isolation_forest.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/ensemble/random_forest_classifier.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/ensemble/random_forest_regressor.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/ensemble/stacking_regressor.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/ensemble/voting_classifier.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/ensemble/voting_regressor.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/feature_selection/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/feature_selection/generic_univariate_select.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/feature_selection/select_fdr.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/feature_selection/select_fpr.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/feature_selection/select_fwe.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/feature_selection/select_k_best.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/feature_selection/select_percentile.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/feature_selection/sequential_feature_selector.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/feature_selection/variance_threshold.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/framework/_utils.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/framework/base.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/gaussian_process/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_classifier.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_regressor.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/impute/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/impute/iterative_imputer.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/impute/knn_imputer.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/impute/missing_indicator.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/impute/simple_imputer.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/kernel_approximation/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/kernel_approximation/additive_chi2_sampler.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/kernel_approximation/nystroem.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/kernel_approximation/polynomial_count_sketch.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/kernel_approximation/rbf_sampler.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/kernel_approximation/skewed_chi2_sampler.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/kernel_ridge/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/kernel_ridge/kernel_ridge.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/lightgbm/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/lightgbm/lgbm_classifier.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/lightgbm/lgbm_regressor.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/ard_regression.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/bayesian_ridge.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/elastic_net.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/elastic_net_cv.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/gamma_regressor.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/huber_regressor.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/lars.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/lars_cv.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/lasso.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/lasso_cv.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/lasso_lars.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/lasso_lars_cv.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/lasso_lars_ic.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/linear_regression.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/logistic_regression.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/logistic_regression_cv.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net_cv.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/multi_task_lasso.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/multi_task_lasso_cv.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/orthogonal_matching_pursuit.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/passive_aggressive_classifier.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/passive_aggressive_regressor.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/perceptron.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/poisson_regressor.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/ransac_regressor.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/ridge.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/ridge_classifier.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/ridge_classifier_cv.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/ridge_cv.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/sgd_classifier.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/sgd_one_class_svm.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/sgd_regressor.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/theil_sen_regressor.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/linear_model/tweedie_regressor.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/manifold/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/manifold/isomap.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/manifold/mds.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/manifold/spectral_embedding.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/manifold/tsne.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/metrics/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/metrics/classification.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/metrics/correlation.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/metrics/covariance.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/metrics/metrics_utils.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/metrics/ranking.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/metrics/regression.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/mixture/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/mixture/bayesian_gaussian_mixture.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/mixture/gaussian_mixture.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/model_selection/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/model_selection/grid_search_cv.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/model_selection/randomized_search_cv.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/multiclass/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/multiclass/one_vs_one_classifier.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/multiclass/one_vs_rest_classifier.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/multiclass/output_code_classifier.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/naive_bayes/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/naive_bayes/bernoulli_nb.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/naive_bayes/categorical_nb.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/naive_bayes/complement_nb.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/naive_bayes/gaussian_nb.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/naive_bayes/multinomial_nb.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/neighbors/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/neighbors/k_neighbors_classifier.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/neighbors/k_neighbors_regressor.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/neighbors/kernel_density.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/neighbors/local_outlier_factor.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/neighbors/nearest_centroid.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/neighbors/nearest_neighbors.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/neighbors/neighborhood_components_analysis.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/neighbors/radius_neighbors_classifier.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/neighbors/radius_neighbors_regressor.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/neural_network/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/neural_network/bernoulli_rbm.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/neural_network/mlp_classifier.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/neural_network/mlp_regressor.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/parameters/disable_distributed_hpo.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/parameters/disable_model_tracer.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/parameters/enable_anonymous_sproc.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/pipeline/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/pipeline/pipeline.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/preprocessing/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/preprocessing/binarizer.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/preprocessing/k_bins_discretizer.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/preprocessing/label_encoder.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/preprocessing/max_abs_scaler.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/preprocessing/min_max_scaler.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/preprocessing/normalizer.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/preprocessing/one_hot_encoder.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/preprocessing/ordinal_encoder.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/preprocessing/polynomial_features.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/preprocessing/robust_scaler.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/preprocessing/standard_scaler.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/semi_supervised/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/semi_supervised/label_propagation.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/semi_supervised/label_spreading.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/svm/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/svm/linear_svc.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/svm/linear_svr.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/svm/nu_svc.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/svm/nu_svr.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/svm/svc.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/svm/svr.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/tree/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/tree/decision_tree_classifier.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/tree/decision_tree_regressor.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/tree/extra_tree_classifier.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/tree/extra_tree_regressor.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/xgboost/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/xgboost/xgb_classifier.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/xgboost/xgb_regressor.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/xgboost/xgbrf_classifier.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/modeling/xgboost/xgbrf_regressor.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/monitoring/_client/model_monitor_sql_client.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/monitoring/_client/queries/record_count.ssql +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/monitoring/_client/queries/rmse.ssql +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/monitoring/_manager/model_monitor_manager.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/monitoring/entities/model_monitor_config.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/monitoring/explain_visualize.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/monitoring/model_monitor.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/monitoring/shap.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/registry/__init__.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/registry/_manager/model_manager.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/registry/_manager/model_parameter_reconciler.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/registry/registry.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/utils/authentication.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/utils/connection_params.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/utils/html_utils.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/utils/sparse.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/utils/sql_client.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/utils/stage_file.py +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake_ml_python.egg-info/dependency_links.txt +0 -0
- {snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake_ml_python.egg-info/top_level.txt +0 -0
|
@@ -1,18 +1,28 @@
|
|
|
1
1
|
# Release History
|
|
2
2
|
|
|
3
|
-
## 1.
|
|
3
|
+
## 1.50.0
|
|
4
4
|
|
|
5
5
|
### New Features
|
|
6
6
|
|
|
7
7
|
### Bug Fixes
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
("There is no non-null data in column ...") when a numeric input column was entirely null within the background
|
|
11
|
-
sample. The `explain` method now reuses the model's existing input signature instead of re-inferring it from the
|
|
12
|
-
sample.
|
|
9
|
+
### Behavior Changes
|
|
13
10
|
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
### Deprecations
|
|
12
|
+
|
|
13
|
+
## 1.49.0 (2026-07-29)
|
|
14
|
+
|
|
15
|
+
### New Features
|
|
16
|
+
|
|
17
|
+
* Experiment Tracking: `ExperimentTracking` now captures best-effort source provenance (entry-point filename and any
|
|
18
|
+
surrounding git commit, branch, and remote URL) for each new run by default. Pass `capture_source_info=False` to
|
|
19
|
+
disable it. Collection is always non-fatal and never blocks run creation.
|
|
20
|
+
|
|
21
|
+
### Bug Fixes
|
|
22
|
+
|
|
23
|
+
* Registry: Fixed `ModelVersion.load()` failing with `Result for query <id> has expired` inside Snowflake Container
|
|
24
|
+
Runtime notebooks. Model file downloads now use the `session.file.get` FileOperation API (the same mechanism used
|
|
25
|
+
when logging a model) instead of a raw `GET` query, avoiding a dependency on `collect()` result sets.
|
|
16
26
|
|
|
17
27
|
### Behavior Changes
|
|
18
28
|
|
|
@@ -28,6 +38,11 @@
|
|
|
28
38
|
|
|
29
39
|
### Bug Fixes
|
|
30
40
|
|
|
41
|
+
* Registry: Fixed a bug where logging a model with explainability enabled could fail with a data validation error
|
|
42
|
+
("There is no non-null data in column ...") when a numeric input column was entirely null within the background
|
|
43
|
+
sample. The `explain` method now reuses the model's existing input signature instead of re-inferring it from the
|
|
44
|
+
sample.
|
|
45
|
+
|
|
31
46
|
### Behavior Changes
|
|
32
47
|
|
|
33
48
|
### Deprecations
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: snowflake-ml-python
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.50.0
|
|
4
4
|
Summary: The machine learning client library that is used for interacting with Snowflake to build machine learning solutions.
|
|
5
5
|
Author-email: "Snowflake, Inc" <support@snowflake.com>
|
|
6
6
|
License:
|
|
@@ -236,7 +236,6 @@ License-File: LICENSE.txt
|
|
|
236
236
|
Requires-Dist: anyio<5,>=3.5.0
|
|
237
237
|
Requires-Dist: cachetools>=3.1.1
|
|
238
238
|
Requires-Dist: cloudpickle>=2.0.0
|
|
239
|
-
Requires-Dist: cryptography
|
|
240
239
|
Requires-Dist: fsspec[http]<2026,>=2024.6.1
|
|
241
240
|
Requires-Dist: h2<5,>=4.3.0
|
|
242
241
|
Requires-Dist: importlib_resources<7,>=6.1.1
|
|
@@ -417,19 +416,29 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
|
|
|
417
416
|
|
|
418
417
|
# Release History
|
|
419
418
|
|
|
420
|
-
## 1.
|
|
419
|
+
## 1.50.0
|
|
421
420
|
|
|
422
421
|
### New Features
|
|
423
422
|
|
|
424
423
|
### Bug Fixes
|
|
425
424
|
|
|
426
|
-
|
|
427
|
-
("There is no non-null data in column ...") when a numeric input column was entirely null within the background
|
|
428
|
-
sample. The `explain` method now reuses the model's existing input signature instead of re-inferring it from the
|
|
429
|
-
sample.
|
|
425
|
+
### Behavior Changes
|
|
430
426
|
|
|
431
|
-
|
|
432
|
-
|
|
427
|
+
### Deprecations
|
|
428
|
+
|
|
429
|
+
## 1.49.0 (2026-07-29)
|
|
430
|
+
|
|
431
|
+
### New Features
|
|
432
|
+
|
|
433
|
+
* Experiment Tracking: `ExperimentTracking` now captures best-effort source provenance (entry-point filename and any
|
|
434
|
+
surrounding git commit, branch, and remote URL) for each new run by default. Pass `capture_source_info=False` to
|
|
435
|
+
disable it. Collection is always non-fatal and never blocks run creation.
|
|
436
|
+
|
|
437
|
+
### Bug Fixes
|
|
438
|
+
|
|
439
|
+
* Registry: Fixed `ModelVersion.load()` failing with `Result for query <id> has expired` inside Snowflake Container
|
|
440
|
+
Runtime notebooks. Model file downloads now use the `session.file.get` FileOperation API (the same mechanism used
|
|
441
|
+
when logging a model) instead of a raw `GET` query, avoiding a dependency on `collect()` result sets.
|
|
433
442
|
|
|
434
443
|
### Behavior Changes
|
|
435
444
|
|
|
@@ -445,6 +454,11 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
|
|
|
445
454
|
|
|
446
455
|
### Bug Fixes
|
|
447
456
|
|
|
457
|
+
* Registry: Fixed a bug where logging a model with explainability enabled could fail with a data validation error
|
|
458
|
+
("There is no non-null data in column ...") when a numeric input column was entirely null within the background
|
|
459
|
+
sample. The `explain` method now reuses the model's existing input signature instead of re-inferring it from the
|
|
460
|
+
sample.
|
|
461
|
+
|
|
448
462
|
### Behavior Changes
|
|
449
463
|
|
|
450
464
|
### Deprecations
|
|
@@ -8,7 +8,7 @@ description = "The machine learning client library that is used for interacting
|
|
|
8
8
|
classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Environment :: Other Environment", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Database", "Topic :: Software Development", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Application Frameworks", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Scientific/Engineering :: Information Analysis",]
|
|
9
9
|
requires-python = ">=3.9, <3.14"
|
|
10
10
|
dynamic = [ "version", "readme",]
|
|
11
|
-
dependencies = [ "anyio>=3.5.0,<5", "cachetools>=3.1.1", "cloudpickle>=2.0.0", "
|
|
11
|
+
dependencies = [ "anyio>=3.5.0,<5", "cachetools>=3.1.1", "cloudpickle>=2.0.0", "fsspec[http]>=2024.6.1,<2026", "h2>=4.3.0,<5", "importlib_resources>=6.1.1, <7", "jinja2>=3.1.0,<4", "numpy>=1.23,<3", "packaging>=20.9,<26", "pandas>=2.1.4,<3", "platformdirs<5", "pyarrow", "pydantic>=2.8.2, <3", "pyjwt>=2.0.0, <3", "pytimeparse>=1.1.8,<2", "pyyaml>=6.0,<7", "retrying>=1.3.3,<2", "scikit-learn<1.9", "scipy>=1.9,<2", "shap>=0.46.0,<1", "snowflake-connector-python[pandas]>=3.17.3,<5", "snowflake-snowpark-python>=1.17.0,<2,!=1.26.0", "sqlparse>=0.4,<1", "tqdm<5", "typing-extensions>=4.1.0,<5", "xgboost<4",]
|
|
12
12
|
[[project.authors]]
|
|
13
13
|
name = "Snowflake, Inc"
|
|
14
14
|
email = "support@snowflake.com"
|
|
@@ -270,4 +270,6 @@ class SqlResultValidator(ResultValidator):
|
|
|
270
270
|
|
|
271
271
|
def _get_result(self) -> list[snowpark.Row]:
|
|
272
272
|
"""Collect the result of the given SQL query."""
|
|
273
|
+
if self._params is None:
|
|
274
|
+
return self._session.sql(self._query).collect(statement_params=self._statement_params)
|
|
273
275
|
return self._session.sql(self._query, params=self._params).collect(statement_params=self._statement_params)
|
|
@@ -27,7 +27,6 @@ from typing_extensions import Concatenate, ParamSpec
|
|
|
27
27
|
|
|
28
28
|
import snowflake.ml.feature_store.feature_view as fv_mod
|
|
29
29
|
import snowflake.ml.version as snowml_version
|
|
30
|
-
from snowflake.ml import dataset
|
|
31
30
|
from snowflake.ml._internal import telemetry
|
|
32
31
|
from snowflake.ml._internal.exceptions import (
|
|
33
32
|
dataset_errors,
|
|
@@ -42,7 +41,10 @@ from snowflake.ml._internal.utils.sql_identifier import (
|
|
|
42
41
|
parse_fully_qualified_name,
|
|
43
42
|
to_sql_identifiers,
|
|
44
43
|
)
|
|
45
|
-
|
|
44
|
+
|
|
45
|
+
if TYPE_CHECKING:
|
|
46
|
+
from snowflake.ml import dataset
|
|
47
|
+
|
|
46
48
|
from snowflake.ml.feature_store import (
|
|
47
49
|
feature_group as fg_mod,
|
|
48
50
|
feature_view_append_only_validation,
|
|
@@ -3783,6 +3785,11 @@ class FeatureStore:
|
|
|
3783
3785
|
-------------------------------------------------------
|
|
3784
3786
|
|
|
3785
3787
|
"""
|
|
3788
|
+
from snowflake.ml import (
|
|
3789
|
+
dataset, # lazy import — heavy deps (numpy/pandas/pyarrow)
|
|
3790
|
+
)
|
|
3791
|
+
from snowflake.ml.dataset.dataset_metadata import FeatureStoreMetadata
|
|
3792
|
+
|
|
3786
3793
|
if output_type not in {"table", "dataset"}:
|
|
3787
3794
|
raise snowml_exceptions.SnowflakeMLException(
|
|
3788
3795
|
error_code=error_codes.INVALID_ARGUMENT,
|
|
@@ -3904,6 +3911,10 @@ class FeatureStore:
|
|
|
3904
3911
|
1.0
|
|
3905
3912
|
|
|
3906
3913
|
"""
|
|
3914
|
+
from snowflake.ml.dataset.dataset_metadata import (
|
|
3915
|
+
FeatureStoreMetadata, # lazy import
|
|
3916
|
+
)
|
|
3917
|
+
|
|
3907
3918
|
assert ds.selected_version is not None
|
|
3908
3919
|
source_meta = ds.selected_version._get_metadata()
|
|
3909
3920
|
if (
|
{snowflake_ml_python-1.49.0 → snowflake_ml_python-1.50.0}/snowflake/ml/feature_store/feature_view.py
RENAMED
|
@@ -66,6 +66,34 @@ _PG_IDENTIFIER_BYTE_LIMIT = 63
|
|
|
66
66
|
_POSTGRES_ONLINE_MAX_NAME_VERSION_LEN = 45
|
|
67
67
|
_POSTGRES_ONLINE_MAX_COLUMN_LEN = 30
|
|
68
68
|
|
|
69
|
+
# The online-store schema is derived as "{schema}__{oft_id}", so its budget reserves room for the "__"
|
|
70
|
+
# separator and a 19-digit (64-bit) oft_id, keeping the derived identifier within the limit (63 - 2 - 19).
|
|
71
|
+
_POSTGRES_ONLINE_MAX_SCHEMA_LEN = 42
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
def validate_postgres_online_schema_length(feature_store_schema: str) -> None:
|
|
75
|
+
"""Reject a Feature Store schema too long for the Postgres online-store schema identifier.
|
|
76
|
+
|
|
77
|
+
The online store derives its schema as "{feature_store_schema}__{oft_id}" and must fit PostgreSQL's
|
|
78
|
+
63-byte identifier limit, so the budget reserves room for the "__" separator and the downstream-assigned
|
|
79
|
+
oft_id. Called from :func:`online_service.create_online_service`, before any feature view or feature
|
|
80
|
+
group is materialized.
|
|
81
|
+
|
|
82
|
+
Args:
|
|
83
|
+
feature_store_schema: The Feature Store schema name that will prefix the Postgres online-store
|
|
84
|
+
schema.
|
|
85
|
+
|
|
86
|
+
Raises:
|
|
87
|
+
ValueError: If the schema length exceeds the Postgres online-store budget.
|
|
88
|
+
"""
|
|
89
|
+
if len(feature_store_schema) > _POSTGRES_ONLINE_MAX_SCHEMA_LEN:
|
|
90
|
+
raise ValueError(
|
|
91
|
+
f"feature store schema '{feature_store_schema}' is too long for the Postgres online store: "
|
|
92
|
+
f"it uses {len(feature_store_schema)} characters, but the limit is "
|
|
93
|
+
f"{_POSTGRES_ONLINE_MAX_SCHEMA_LEN}. Use a shorter Feature Store schema."
|
|
94
|
+
)
|
|
95
|
+
|
|
96
|
+
|
|
69
97
|
_RESULT_SCAN_QUERY_PATTERN = re.compile(
|
|
70
98
|
r".*FROM\s*TABLE\s*\(\s*RESULT_SCAN\s*\(.*",
|
|
71
99
|
flags=re.DOTALL | re.IGNORECASE | re.X,
|
|
@@ -241,6 +241,16 @@ def create_online_service(
|
|
|
241
241
|
error_code=error_codes.INVALID_ARGUMENT,
|
|
242
242
|
original_exception=ValueError("producer_role and consumer_role must be non-empty."),
|
|
243
243
|
)
|
|
244
|
+
from snowflake.ml.feature_store.feature_view import (
|
|
245
|
+
validate_postgres_online_schema_length,
|
|
246
|
+
)
|
|
247
|
+
|
|
248
|
+
try:
|
|
249
|
+
validate_postgres_online_schema_length(schema.resolved())
|
|
250
|
+
except ValueError as e:
|
|
251
|
+
raise snowml_exceptions.SnowflakeMLException(
|
|
252
|
+
error_code=error_codes.INVALID_ARGUMENT, original_exception=e
|
|
253
|
+
) from e
|
|
244
254
|
payload = json.dumps(
|
|
245
255
|
{
|
|
246
256
|
"roles": {
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
from enum import Enum
|
|
2
|
+
from typing import Any, Optional
|
|
3
|
+
|
|
4
|
+
from pydantic import BaseModel, ConfigDict, field_serializer, field_validator
|
|
5
|
+
from typing_extensions import TypedDict
|
|
6
|
+
|
|
7
|
+
from snowflake.ml.model import inference_engine as inference_engine_module
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class SaveMode(str, Enum):
|
|
11
|
+
"""Save mode options for batch inference output.
|
|
12
|
+
|
|
13
|
+
Determines the behavior when files already exist in the output stage location.
|
|
14
|
+
|
|
15
|
+
OVERWRITE: Remove existing files and write new results.
|
|
16
|
+
|
|
17
|
+
ERROR: Raise an error if files already exist in the output stage location.
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
OVERWRITE = "overwrite"
|
|
21
|
+
ERROR = "error"
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class InputFormat(str, Enum):
|
|
25
|
+
"""The format of the input column data."""
|
|
26
|
+
|
|
27
|
+
FULL_STAGE_PATH = "full_stage_path"
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class FileEncoding(str, Enum):
|
|
31
|
+
"""The encoding of the file content that will be passed to the custom model."""
|
|
32
|
+
|
|
33
|
+
RAW_BYTES = "raw_bytes"
|
|
34
|
+
BASE64 = "base64"
|
|
35
|
+
BASE64_DATA_URL = "base64_data_url"
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
class ColumnHandlingOptions(TypedDict):
|
|
39
|
+
"""Options for handling specific columns during run_batch for file I/O."""
|
|
40
|
+
|
|
41
|
+
input_format: InputFormat
|
|
42
|
+
convert_to: FileEncoding
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class InputSpec(BaseModel):
|
|
46
|
+
"""Input block of the batch inference job specification.
|
|
47
|
+
|
|
48
|
+
Attributes:
|
|
49
|
+
params (Optional[dict[str, Any]]): Optional dictionary of model inference parameters
|
|
50
|
+
(e.g., temperature, top_k for LLMs). These are passed as keyword arguments to the
|
|
51
|
+
model's inference method. Defaults to None.
|
|
52
|
+
column_handling (Optional[dict[str, ColumnHandlingOptions]]): Optional dictionary
|
|
53
|
+
specifying how to handle specific columns during file I/O. Maps column names to their
|
|
54
|
+
input format and file encoding configuration.
|
|
55
|
+
partition_column (Optional[str]): Optional column name to use for partitioning the input
|
|
56
|
+
data. When set, the batch inference job will partition the data by this column.
|
|
57
|
+
Defaults to None.
|
|
58
|
+
"""
|
|
59
|
+
|
|
60
|
+
model_config = ConfigDict(extra="forbid")
|
|
61
|
+
|
|
62
|
+
params: Optional[dict[str, Any]] = None
|
|
63
|
+
column_handling: Optional[dict[str, ColumnHandlingOptions]] = None
|
|
64
|
+
partition_column: Optional[str] = None
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
class OutputSpec(BaseModel):
|
|
68
|
+
"""Output block of the batch inference job specification.
|
|
69
|
+
|
|
70
|
+
Results are written under ``<stage_location>/<job_name>/``.
|
|
71
|
+
|
|
72
|
+
Attributes:
|
|
73
|
+
stage_location (str): The stage path under which batch inference results will be saved.
|
|
74
|
+
This should be a full path including the stage with @ prefix. For example,
|
|
75
|
+
'@My_DB.PUBLIC.MY_STAGE/some/path/'. Only Snowflake internal stages are supported.
|
|
76
|
+
mode (SaveMode): The save mode that determines behavior when files already exist
|
|
77
|
+
at the output stage location. Defaults to SaveMode.ERROR.
|
|
78
|
+
"""
|
|
79
|
+
|
|
80
|
+
model_config = ConfigDict(extra="forbid")
|
|
81
|
+
|
|
82
|
+
stage_location: str
|
|
83
|
+
mode: SaveMode = SaveMode.ERROR
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
class ResourcesSpec(BaseModel):
|
|
87
|
+
"""Resources block of the batch inference job specification.
|
|
88
|
+
|
|
89
|
+
Attributes:
|
|
90
|
+
cpu_requests (Optional[str]): The cpu limit for CPU based inference. Can be an integer,
|
|
91
|
+
fractional or string values. If None, we attempt to utilize all the vCPU of the node.
|
|
92
|
+
memory_requests (Optional[str]): The memory limit for inference. Can be an integer
|
|
93
|
+
or a fractional value, but requires a unit (GiB, MiB). If None, we attempt to utilize
|
|
94
|
+
all the memory of the node.
|
|
95
|
+
gpu_requests (Optional[str]): The gpu limit for GPU based inference. Can be integer or
|
|
96
|
+
string values. Use CPU if None.
|
|
97
|
+
"""
|
|
98
|
+
|
|
99
|
+
model_config = ConfigDict(extra="forbid")
|
|
100
|
+
|
|
101
|
+
cpu_requests: Optional[str] = None
|
|
102
|
+
memory_requests: Optional[str] = None
|
|
103
|
+
gpu_requests: Optional[str] = None
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
class EngineOptions(BaseModel):
|
|
107
|
+
"""``inference.engine_options`` sub-block of the job specification.
|
|
108
|
+
|
|
109
|
+
Attributes:
|
|
110
|
+
engine (Optional[InferenceEngine]): The inference engine to use.
|
|
111
|
+
engine_args_override (Optional[list[str]]): Arguments passed through to the inference engine.
|
|
112
|
+
"""
|
|
113
|
+
|
|
114
|
+
model_config = ConfigDict(extra="forbid")
|
|
115
|
+
|
|
116
|
+
engine: Optional[inference_engine_module.InferenceEngine] = None
|
|
117
|
+
engine_args_override: Optional[list[str]] = None
|
|
118
|
+
|
|
119
|
+
@field_validator("engine", mode="before")
|
|
120
|
+
@classmethod
|
|
121
|
+
def _coerce_engine(cls, value: Any) -> Optional[inference_engine_module.InferenceEngine]:
|
|
122
|
+
# Accept an InferenceEngine member or a case-insensitive value/name string
|
|
123
|
+
# (e.g. "vllm", "VLLM", "python_generic") rather than only the exact enum value.
|
|
124
|
+
if value is None:
|
|
125
|
+
return None
|
|
126
|
+
return inference_engine_module.InferenceEngine.from_value(value)
|
|
127
|
+
|
|
128
|
+
@field_serializer("engine")
|
|
129
|
+
def _serialize_engine(self, engine: Optional[inference_engine_module.InferenceEngine]) -> Optional[str]:
|
|
130
|
+
# Emit the enum member name (e.g. "VLLM") rather than its lower-case value,
|
|
131
|
+
# to match the canonical spelling used in the EXECUTE INFERENCE JOB SERVICE spec.
|
|
132
|
+
return engine.name if engine is not None else None
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
class InferenceSpec(BaseModel):
|
|
136
|
+
"""Inference block of the batch inference job specification.
|
|
137
|
+
|
|
138
|
+
Attributes:
|
|
139
|
+
num_workers (Optional[int]): The number of workers to run the inference service for handling
|
|
140
|
+
requests in parallel within an instance of the service. Auto determined if None.
|
|
141
|
+
max_batch_rows (Optional[int]): Maximum number of rows to process in a single batch.
|
|
142
|
+
Auto determined if None. Larger values may improve throughput.
|
|
143
|
+
engine_options (Optional[EngineOptions]): Options for a custom inference engine.
|
|
144
|
+
"""
|
|
145
|
+
|
|
146
|
+
model_config = ConfigDict(extra="forbid")
|
|
147
|
+
|
|
148
|
+
num_workers: Optional[int] = None
|
|
149
|
+
max_batch_rows: Optional[int] = None
|
|
150
|
+
engine_options: Optional[EngineOptions] = None
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
class ImageBuildSpec(BaseModel):
|
|
154
|
+
"""Image-build block of the batch inference job specification.
|
|
155
|
+
|
|
156
|
+
Attributes:
|
|
157
|
+
image_repo (Optional[str]): Container image repository for the inference job.
|
|
158
|
+
If not specified, uses the default repository.
|
|
159
|
+
force_rebuild (bool): Whether to force rebuilding the container image even if
|
|
160
|
+
it already exists. Defaults to False.
|
|
161
|
+
"""
|
|
162
|
+
|
|
163
|
+
model_config = ConfigDict(extra="forbid")
|
|
164
|
+
|
|
165
|
+
image_repo: Optional[str] = None
|
|
166
|
+
force_rebuild: bool = False
|
|
@@ -5,7 +5,9 @@ from typing import Any, Optional
|
|
|
5
5
|
|
|
6
6
|
from pydantic import TypeAdapter
|
|
7
7
|
|
|
8
|
-
from snowflake.ml.model._client.model.
|
|
8
|
+
from snowflake.ml.model._client.model.batch_inference_job_specs import (
|
|
9
|
+
ColumnHandlingOptions,
|
|
10
|
+
)
|
|
9
11
|
|
|
10
12
|
_UTF8_ENCODING = "utf-8"
|
|
11
13
|
|
|
@@ -1,45 +1,11 @@
|
|
|
1
|
-
from enum import Enum
|
|
2
1
|
from typing import Any, Optional
|
|
3
2
|
|
|
4
|
-
from pydantic import BaseModel,
|
|
5
|
-
from typing_extensions import TypedDict
|
|
3
|
+
from pydantic import BaseModel, model_validator
|
|
6
4
|
|
|
7
|
-
from snowflake.ml.model import
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
"""Save mode options for batch inference output.
|
|
12
|
-
|
|
13
|
-
Determines the behavior when files already exist in the output location.
|
|
14
|
-
|
|
15
|
-
OVERWRITE: Remove existing files and write new results.
|
|
16
|
-
|
|
17
|
-
ERROR: Raise an error if files already exist in the output location.
|
|
18
|
-
"""
|
|
19
|
-
|
|
20
|
-
OVERWRITE = "overwrite"
|
|
21
|
-
ERROR = "error"
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
class InputFormat(str, Enum):
|
|
25
|
-
"""The format of the input column data."""
|
|
26
|
-
|
|
27
|
-
FULL_STAGE_PATH = "full_stage_path"
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
class FileEncoding(str, Enum):
|
|
31
|
-
"""The encoding of the file content that will be passed to the custom model."""
|
|
32
|
-
|
|
33
|
-
RAW_BYTES = "raw_bytes"
|
|
34
|
-
BASE64 = "base64"
|
|
35
|
-
BASE64_DATA_URL = "base64_data_url"
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
class ColumnHandlingOptions(TypedDict):
|
|
39
|
-
"""Options for handling specific columns during run_batch for file I/O."""
|
|
40
|
-
|
|
41
|
-
input_format: InputFormat
|
|
42
|
-
convert_to: FileEncoding
|
|
5
|
+
from snowflake.ml.model._client.model.batch_inference_job_specs import (
|
|
6
|
+
ColumnHandlingOptions,
|
|
7
|
+
SaveMode,
|
|
8
|
+
)
|
|
43
9
|
|
|
44
10
|
|
|
45
11
|
class InputSpec(BaseModel):
|
|
@@ -79,7 +45,7 @@ class OutputSpec(BaseModel):
|
|
|
79
45
|
"""Specification for batch inference output.
|
|
80
46
|
|
|
81
47
|
Defines where the inference results should be written and how to handle
|
|
82
|
-
existing files at the output location. Exactly one of ``stage_location`` or
|
|
48
|
+
existing files at the output stage location. Exactly one of ``stage_location`` or
|
|
83
49
|
``base_stage_location`` must be provided.
|
|
84
50
|
|
|
85
51
|
Attributes:
|
|
@@ -92,7 +58,7 @@ class OutputSpec(BaseModel):
|
|
|
92
58
|
derives the output path as ``<base_stage_location>/<job_name>/``.
|
|
93
59
|
Mutually exclusive with stage_location.
|
|
94
60
|
mode (SaveMode): The save mode that determines behavior when files already exist
|
|
95
|
-
at the output location. Defaults to SaveMode.ERROR which raises an error
|
|
61
|
+
at the output stage location. Defaults to SaveMode.ERROR which raises an error
|
|
96
62
|
if files exist. Can be set to SaveMode.OVERWRITE to replace existing files.
|
|
97
63
|
|
|
98
64
|
Example:
|
|
@@ -185,67 +151,3 @@ class JobSpec(BaseModel):
|
|
|
185
151
|
if self.job_name is not None and self.job_name_prefix is not None:
|
|
186
152
|
raise ValueError("job_name and job_name_prefix are mutually exclusive. Please specify only one or neither.")
|
|
187
153
|
return self
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
# ----------------------------------------------------------------------------
|
|
191
|
-
# Spec types for EXECUTE INFERENCE JOB SERVICE.
|
|
192
|
-
#
|
|
193
|
-
# These types mirror the YAML body 1:1 (`input` / `output` / `resources`
|
|
194
|
-
# / `inference` / `image_build`).
|
|
195
|
-
# ----------------------------------------------------------------------------
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
class Input(BaseModel):
|
|
199
|
-
"""Input block of the batch inference YAML body."""
|
|
200
|
-
|
|
201
|
-
params: Optional[dict[str, Any]] = None
|
|
202
|
-
column_handling: Optional[dict[str, ColumnHandlingOptions]] = None
|
|
203
|
-
partition_column: Optional[str] = None
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
class Output(BaseModel):
|
|
207
|
-
"""Output block of the batch inference YAML body.
|
|
208
|
-
|
|
209
|
-
``stage_location`` is required and is treated as a base: results are written under a
|
|
210
|
-
per-job subdirectory, ``<stage_location>/<job_name>/``.
|
|
211
|
-
"""
|
|
212
|
-
|
|
213
|
-
stage_location: str
|
|
214
|
-
mode: SaveMode = SaveMode.ERROR
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
class Resources(BaseModel):
|
|
218
|
-
"""Resources block of the batch inference YAML body."""
|
|
219
|
-
|
|
220
|
-
cpu_requests: Optional[str] = None
|
|
221
|
-
memory_requests: Optional[str] = None
|
|
222
|
-
gpu_requests: Optional[str] = None
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
class EngineOptions(BaseModel):
|
|
226
|
-
"""``inference.engine_options`` sub-block of the YAML body."""
|
|
227
|
-
|
|
228
|
-
engine: Optional[inference_engine_module.InferenceEngine] = None
|
|
229
|
-
engine_args_override: Optional[list[str]] = None
|
|
230
|
-
|
|
231
|
-
@field_serializer("engine")
|
|
232
|
-
def _serialize_engine(self, engine: Optional[inference_engine_module.InferenceEngine]) -> Optional[str]:
|
|
233
|
-
# The EXECUTE INFERENCE JOB SERVICE engine enum is upper-case
|
|
234
|
-
# (DEFAULT / VLLM / PYTHON_GENERIC), but the Python enum's value is
|
|
235
|
-
# lower-case. Emit the member name so the server accepts it.
|
|
236
|
-
return engine.name if engine is not None else None
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
class Inference(BaseModel):
|
|
240
|
-
"""Inference block of the batch inference YAML body."""
|
|
241
|
-
|
|
242
|
-
num_workers: Optional[int] = None
|
|
243
|
-
max_batch_rows: Optional[int] = None
|
|
244
|
-
engine_options: Optional[EngineOptions] = None
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
class ImageBuild(BaseModel):
|
|
248
|
-
"""Image-build block of the batch inference YAML body."""
|
|
249
|
-
|
|
250
|
-
image_repo: Optional[str] = None
|
|
251
|
-
force_rebuild: bool = False
|
|
@@ -14,6 +14,7 @@ from snowflake.ml.jobs import job
|
|
|
14
14
|
from snowflake.ml.lineage import lineage_node
|
|
15
15
|
from snowflake.ml.model import inference_engine, openai_signatures, task, type_hints
|
|
16
16
|
from snowflake.ml.model._client.model import (
|
|
17
|
+
batch_inference_job_specs,
|
|
17
18
|
batch_inference_specs,
|
|
18
19
|
inference_engine_utils,
|
|
19
20
|
)
|
|
@@ -664,6 +665,12 @@ class ModelVersion(lineage_node.LineageNode):
|
|
|
664
665
|
) -> job.MLJob[Any]:
|
|
665
666
|
"""Execute batch inference on datasets as an SPCS job.
|
|
666
667
|
|
|
668
|
+
.. deprecated::
|
|
669
|
+
The backend this method uses will be removed in a future release, and it will be
|
|
670
|
+
replaced by an updated batch inference jobs API. For new work, use
|
|
671
|
+
:meth:`_run_batch_v2`, which runs on the updated backend and becomes the public
|
|
672
|
+
``run_batch`` in the next major release (2.0).
|
|
673
|
+
|
|
667
674
|
Args:
|
|
668
675
|
compute_pool (str): Name of the compute pool to use for building the image containers and batch
|
|
669
676
|
inference execution.
|
|
@@ -768,6 +775,13 @@ class ModelVersion(lineage_node.LineageNode):
|
|
|
768
775
|
The input data is temporarily stored in the output stage location under /_temporary before
|
|
769
776
|
inference execution.
|
|
770
777
|
"""
|
|
778
|
+
warnings.warn(
|
|
779
|
+
"run_batch is deprecated: the batch inference backend it currently uses will be removed in a "
|
|
780
|
+
"future release, and the method will be replaced by an updated batch inference jobs API. Existing "
|
|
781
|
+
"calls will stop working once the backend is removed.",
|
|
782
|
+
DeprecationWarning,
|
|
783
|
+
stacklevel=2,
|
|
784
|
+
)
|
|
771
785
|
statement_params = telemetry.get_statement_params(
|
|
772
786
|
project=_TELEMETRY_PROJECT,
|
|
773
787
|
subproject=_TELEMETRY_SUBPROJECT,
|
|
@@ -894,26 +908,31 @@ class ModelVersion(lineage_node.LineageNode):
|
|
|
894
908
|
|
|
895
909
|
def _run_batch_v2(
|
|
896
910
|
self,
|
|
897
|
-
X: dataframe.DataFrame,
|
|
911
|
+
X: Optional[dataframe.DataFrame] = None,
|
|
898
912
|
*,
|
|
913
|
+
input_stage_location: Optional[str] = None,
|
|
899
914
|
compute_pool: str,
|
|
900
|
-
output_spec:
|
|
901
|
-
input_spec: Optional[
|
|
902
|
-
resources_spec: Optional[
|
|
903
|
-
inference_spec: Optional[
|
|
904
|
-
image_build_spec: Optional[
|
|
915
|
+
output_spec: batch_inference_job_specs.OutputSpec,
|
|
916
|
+
input_spec: Optional[batch_inference_job_specs.InputSpec] = None,
|
|
917
|
+
resources_spec: Optional[batch_inference_job_specs.ResourcesSpec] = None,
|
|
918
|
+
inference_spec: Optional[batch_inference_job_specs.InferenceSpec] = None,
|
|
919
|
+
image_build_spec: Optional[batch_inference_job_specs.ImageBuildSpec] = None,
|
|
905
920
|
function_name: Optional[str] = None,
|
|
906
921
|
job_name: Optional[str] = None,
|
|
907
922
|
replicas: Optional[int] = None,
|
|
908
923
|
async_: bool = True,
|
|
909
924
|
) -> job.MLJob[Any]:
|
|
910
|
-
"""Run batch inference
|
|
925
|
+
"""Run batch inference on a model as a Snowflake job.
|
|
911
926
|
|
|
912
|
-
This is
|
|
913
|
-
|
|
927
|
+
This is the batch inference jobs API that will become the public :meth:`run_batch`
|
|
928
|
+
in a future release; the deprecated :meth:`run_batch` runs on the older backend and
|
|
929
|
+
should not be used for new work.
|
|
914
930
|
|
|
915
931
|
Args:
|
|
916
|
-
X: Snowpark DataFrame with the input rows.
|
|
932
|
+
X: Optional Snowpark DataFrame with the input rows. Provide exactly one of ``X`` or
|
|
933
|
+
``input_stage_location``.
|
|
934
|
+
input_stage_location: Optional existing stage path holding the input data. Provide exactly
|
|
935
|
+
one of ``X`` or ``input_stage_location``.
|
|
917
936
|
compute_pool: Compute pool used by the SPCS job and image build.
|
|
918
937
|
output_spec: Output block. ``stage_location`` is treated as a base;
|
|
919
938
|
results are written under a per-job subdirectory,
|
|
@@ -933,16 +952,19 @@ class ModelVersion(lineage_node.LineageNode):
|
|
|
933
952
|
MLJob handle for the launched batch inference job.
|
|
934
953
|
|
|
935
954
|
Raises:
|
|
936
|
-
ValueError: If ``
|
|
937
|
-
|
|
938
|
-
the partition column collides with a partitioned model output.
|
|
955
|
+
ValueError: If not exactly one of ``X`` / ``input_stage_location`` is provided, or if
|
|
956
|
+
``input_spec.partition_column`` is supplied for a HuggingFace pipeline model or a
|
|
957
|
+
FUNCTION-type method, or if the partition column collides with a partitioned model output.
|
|
939
958
|
"""
|
|
940
959
|
statement_params = telemetry.get_statement_params(
|
|
941
960
|
project=_TELEMETRY_PROJECT,
|
|
942
961
|
subproject=_TELEMETRY_SUBPROJECT,
|
|
943
962
|
)
|
|
944
963
|
|
|
945
|
-
|
|
964
|
+
if (X is None) == (input_stage_location is None):
|
|
965
|
+
raise ValueError("Exactly one of X or input_stage_location must be provided.")
|
|
966
|
+
|
|
967
|
+
effective_input_spec = input_spec if input_spec is not None else batch_inference_job_specs.InputSpec()
|
|
946
968
|
partition_columns = (
|
|
947
969
|
[effective_input_spec.partition_column] if effective_input_spec.partition_column is not None else None
|
|
948
970
|
)
|
|
@@ -984,6 +1006,7 @@ class ModelVersion(lineage_node.LineageNode):
|
|
|
984
1006
|
|
|
985
1007
|
return self._service_ops.execute_inference_job_service(
|
|
986
1008
|
X=X,
|
|
1009
|
+
input_stage_location=input_stage_location,
|
|
987
1010
|
model_name=self._model_name,
|
|
988
1011
|
version_name=self._version_name,
|
|
989
1012
|
compute_pool_name=sql_identifier.SqlIdentifier(compute_pool),
|