snowflake-ml-python 1.4.0__py3-none-any.whl → 1.5.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- snowflake/ml/_internal/env_utils.py +77 -32
- snowflake/ml/_internal/exceptions/dataset_error_messages.py +5 -0
- snowflake/ml/_internal/exceptions/dataset_errors.py +24 -0
- snowflake/ml/_internal/exceptions/error_codes.py +3 -0
- snowflake/ml/_internal/lineage/data_source.py +10 -0
- snowflake/ml/_internal/lineage/dataset_dataframe.py +44 -0
- snowflake/ml/_internal/utils/identifier.py +3 -1
- snowflake/ml/_internal/utils/sql_identifier.py +2 -6
- snowflake/ml/dataset/__init__.py +10 -0
- snowflake/ml/dataset/dataset.py +454 -129
- snowflake/ml/dataset/dataset_factory.py +53 -0
- snowflake/ml/dataset/dataset_metadata.py +103 -0
- snowflake/ml/dataset/dataset_reader.py +202 -0
- snowflake/ml/feature_store/feature_store.py +531 -332
- snowflake/ml/feature_store/feature_view.py +40 -23
- snowflake/ml/fileset/embedded_stage_fs.py +146 -0
- snowflake/ml/fileset/sfcfs.py +56 -54
- snowflake/ml/fileset/snowfs.py +159 -0
- snowflake/ml/fileset/stage_fs.py +49 -17
- snowflake/ml/model/__init__.py +2 -2
- snowflake/ml/model/_api.py +16 -1
- snowflake/ml/model/_client/model/model_impl.py +27 -0
- snowflake/ml/model/_client/model/model_version_impl.py +137 -50
- snowflake/ml/model/_client/ops/model_ops.py +159 -40
- snowflake/ml/model/_client/sql/model.py +25 -2
- snowflake/ml/model/_client/sql/model_version.py +131 -2
- snowflake/ml/model/_deploy_client/image_builds/server_image_builder.py +5 -1
- snowflake/ml/model/_deploy_client/image_builds/templates/dockerfile_template +1 -0
- snowflake/ml/model/_deploy_client/snowservice/deploy.py +2 -0
- snowflake/ml/model/_deploy_client/utils/constants.py +0 -5
- snowflake/ml/model/_deploy_client/utils/snowservice_client.py +21 -50
- snowflake/ml/model/_model_composer/model_composer.py +22 -1
- snowflake/ml/model/_model_composer/model_manifest/model_manifest.py +38 -51
- snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py +19 -1
- snowflake/ml/model/_model_composer/model_method/model_method.py +6 -10
- snowflake/ml/model/_packager/model_env/model_env.py +41 -0
- snowflake/ml/model/_packager/model_handlers/catboost.py +206 -0
- snowflake/ml/model/_packager/model_handlers/lightgbm.py +218 -0
- snowflake/ml/model/_packager/model_handlers/sklearn.py +3 -0
- snowflake/ml/model/_packager/model_meta/_core_requirements.py +1 -1
- snowflake/ml/model/_packager/model_meta/model_meta.py +37 -11
- snowflake/ml/model/_packager/model_meta/model_meta_schema.py +20 -1
- snowflake/ml/model/_packager/model_meta_migrator/migrator_plans.py +3 -1
- snowflake/ml/model/_packager/model_packager.py +2 -5
- snowflake/ml/model/{_model_composer/model_runtime/_runtime_requirements.py → _packager/model_runtime/_snowml_inference_alternative_requirements.py} +1 -1
- snowflake/ml/model/_packager/model_runtime/model_runtime.py +137 -0
- snowflake/ml/model/type_hints.py +21 -2
- snowflake/ml/modeling/_internal/estimator_utils.py +16 -11
- snowflake/ml/modeling/_internal/local_implementations/pandas_handlers.py +4 -1
- snowflake/ml/modeling/_internal/local_implementations/pandas_trainer.py +55 -3
- snowflake/ml/modeling/_internal/ml_runtime_implementations/ml_runtime_handlers.py +34 -18
- snowflake/ml/modeling/_internal/model_trainer.py +7 -0
- snowflake/ml/modeling/_internal/model_trainer_builder.py +42 -9
- snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py +13 -14
- snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_handlers.py +29 -7
- snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_trainer.py +261 -16
- snowflake/ml/modeling/calibration/calibrated_classifier_cv.py +246 -175
- snowflake/ml/modeling/cluster/affinity_propagation.py +246 -175
- snowflake/ml/modeling/cluster/agglomerative_clustering.py +246 -175
- snowflake/ml/modeling/cluster/birch.py +248 -175
- snowflake/ml/modeling/cluster/bisecting_k_means.py +248 -175
- snowflake/ml/modeling/cluster/dbscan.py +246 -175
- snowflake/ml/modeling/cluster/feature_agglomeration.py +248 -175
- snowflake/ml/modeling/cluster/k_means.py +248 -175
- snowflake/ml/modeling/cluster/mean_shift.py +246 -175
- snowflake/ml/modeling/cluster/mini_batch_k_means.py +248 -175
- snowflake/ml/modeling/cluster/optics.py +246 -175
- snowflake/ml/modeling/cluster/spectral_biclustering.py +246 -175
- snowflake/ml/modeling/cluster/spectral_clustering.py +246 -175
- snowflake/ml/modeling/cluster/spectral_coclustering.py +246 -175
- snowflake/ml/modeling/compose/column_transformer.py +248 -175
- snowflake/ml/modeling/compose/transformed_target_regressor.py +246 -175
- snowflake/ml/modeling/covariance/elliptic_envelope.py +246 -175
- snowflake/ml/modeling/covariance/empirical_covariance.py +246 -175
- snowflake/ml/modeling/covariance/graphical_lasso.py +246 -175
- snowflake/ml/modeling/covariance/graphical_lasso_cv.py +246 -175
- snowflake/ml/modeling/covariance/ledoit_wolf.py +246 -175
- snowflake/ml/modeling/covariance/min_cov_det.py +246 -175
- snowflake/ml/modeling/covariance/oas.py +246 -175
- snowflake/ml/modeling/covariance/shrunk_covariance.py +246 -175
- snowflake/ml/modeling/decomposition/dictionary_learning.py +248 -175
- snowflake/ml/modeling/decomposition/factor_analysis.py +248 -175
- snowflake/ml/modeling/decomposition/fast_ica.py +248 -175
- snowflake/ml/modeling/decomposition/incremental_pca.py +248 -175
- snowflake/ml/modeling/decomposition/kernel_pca.py +248 -175
- snowflake/ml/modeling/decomposition/mini_batch_dictionary_learning.py +248 -175
- snowflake/ml/modeling/decomposition/mini_batch_sparse_pca.py +248 -175
- snowflake/ml/modeling/decomposition/pca.py +248 -175
- snowflake/ml/modeling/decomposition/sparse_pca.py +248 -175
- snowflake/ml/modeling/decomposition/truncated_svd.py +248 -175
- snowflake/ml/modeling/discriminant_analysis/linear_discriminant_analysis.py +248 -175
- snowflake/ml/modeling/discriminant_analysis/quadratic_discriminant_analysis.py +246 -175
- snowflake/ml/modeling/ensemble/ada_boost_classifier.py +246 -175
- snowflake/ml/modeling/ensemble/ada_boost_regressor.py +246 -175
- snowflake/ml/modeling/ensemble/bagging_classifier.py +246 -175
- snowflake/ml/modeling/ensemble/bagging_regressor.py +246 -175
- snowflake/ml/modeling/ensemble/extra_trees_classifier.py +246 -175
- snowflake/ml/modeling/ensemble/extra_trees_regressor.py +246 -175
- snowflake/ml/modeling/ensemble/gradient_boosting_classifier.py +246 -175
- snowflake/ml/modeling/ensemble/gradient_boosting_regressor.py +246 -175
- snowflake/ml/modeling/ensemble/hist_gradient_boosting_classifier.py +246 -175
- snowflake/ml/modeling/ensemble/hist_gradient_boosting_regressor.py +246 -175
- snowflake/ml/modeling/ensemble/isolation_forest.py +246 -175
- snowflake/ml/modeling/ensemble/random_forest_classifier.py +246 -175
- snowflake/ml/modeling/ensemble/random_forest_regressor.py +246 -175
- snowflake/ml/modeling/ensemble/stacking_regressor.py +248 -175
- snowflake/ml/modeling/ensemble/voting_classifier.py +248 -175
- snowflake/ml/modeling/ensemble/voting_regressor.py +248 -175
- snowflake/ml/modeling/feature_selection/generic_univariate_select.py +248 -175
- snowflake/ml/modeling/feature_selection/select_fdr.py +248 -175
- snowflake/ml/modeling/feature_selection/select_fpr.py +248 -175
- snowflake/ml/modeling/feature_selection/select_fwe.py +248 -175
- snowflake/ml/modeling/feature_selection/select_k_best.py +248 -175
- snowflake/ml/modeling/feature_selection/select_percentile.py +248 -175
- snowflake/ml/modeling/feature_selection/sequential_feature_selector.py +248 -175
- snowflake/ml/modeling/feature_selection/variance_threshold.py +248 -175
- snowflake/ml/modeling/framework/_utils.py +8 -1
- snowflake/ml/modeling/framework/base.py +72 -37
- snowflake/ml/modeling/gaussian_process/gaussian_process_classifier.py +246 -175
- snowflake/ml/modeling/gaussian_process/gaussian_process_regressor.py +246 -175
- snowflake/ml/modeling/impute/iterative_imputer.py +248 -175
- snowflake/ml/modeling/impute/knn_imputer.py +248 -175
- snowflake/ml/modeling/impute/missing_indicator.py +248 -175
- snowflake/ml/modeling/kernel_approximation/additive_chi2_sampler.py +248 -175
- snowflake/ml/modeling/kernel_approximation/nystroem.py +248 -175
- snowflake/ml/modeling/kernel_approximation/polynomial_count_sketch.py +248 -175
- snowflake/ml/modeling/kernel_approximation/rbf_sampler.py +248 -175
- snowflake/ml/modeling/kernel_approximation/skewed_chi2_sampler.py +248 -175
- snowflake/ml/modeling/kernel_ridge/kernel_ridge.py +246 -175
- snowflake/ml/modeling/lightgbm/lgbm_classifier.py +246 -175
- snowflake/ml/modeling/lightgbm/lgbm_regressor.py +246 -175
- snowflake/ml/modeling/linear_model/ard_regression.py +246 -175
- snowflake/ml/modeling/linear_model/bayesian_ridge.py +246 -175
- snowflake/ml/modeling/linear_model/elastic_net.py +246 -175
- snowflake/ml/modeling/linear_model/elastic_net_cv.py +246 -175
- snowflake/ml/modeling/linear_model/gamma_regressor.py +246 -175
- snowflake/ml/modeling/linear_model/huber_regressor.py +246 -175
- snowflake/ml/modeling/linear_model/lars.py +246 -175
- snowflake/ml/modeling/linear_model/lars_cv.py +246 -175
- snowflake/ml/modeling/linear_model/lasso.py +246 -175
- snowflake/ml/modeling/linear_model/lasso_cv.py +246 -175
- snowflake/ml/modeling/linear_model/lasso_lars.py +246 -175
- snowflake/ml/modeling/linear_model/lasso_lars_cv.py +246 -175
- snowflake/ml/modeling/linear_model/lasso_lars_ic.py +246 -175
- snowflake/ml/modeling/linear_model/linear_regression.py +246 -175
- snowflake/ml/modeling/linear_model/logistic_regression.py +246 -175
- snowflake/ml/modeling/linear_model/logistic_regression_cv.py +246 -175
- snowflake/ml/modeling/linear_model/multi_task_elastic_net.py +246 -175
- snowflake/ml/modeling/linear_model/multi_task_elastic_net_cv.py +246 -175
- snowflake/ml/modeling/linear_model/multi_task_lasso.py +246 -175
- snowflake/ml/modeling/linear_model/multi_task_lasso_cv.py +246 -175
- snowflake/ml/modeling/linear_model/orthogonal_matching_pursuit.py +246 -175
- snowflake/ml/modeling/linear_model/passive_aggressive_classifier.py +246 -175
- snowflake/ml/modeling/linear_model/passive_aggressive_regressor.py +246 -175
- snowflake/ml/modeling/linear_model/perceptron.py +246 -175
- snowflake/ml/modeling/linear_model/poisson_regressor.py +246 -175
- snowflake/ml/modeling/linear_model/ransac_regressor.py +246 -175
- snowflake/ml/modeling/linear_model/ridge.py +246 -175
- snowflake/ml/modeling/linear_model/ridge_classifier.py +246 -175
- snowflake/ml/modeling/linear_model/ridge_classifier_cv.py +246 -175
- snowflake/ml/modeling/linear_model/ridge_cv.py +246 -175
- snowflake/ml/modeling/linear_model/sgd_classifier.py +246 -175
- snowflake/ml/modeling/linear_model/sgd_one_class_svm.py +246 -175
- snowflake/ml/modeling/linear_model/sgd_regressor.py +246 -175
- snowflake/ml/modeling/linear_model/theil_sen_regressor.py +246 -175
- snowflake/ml/modeling/linear_model/tweedie_regressor.py +246 -175
- snowflake/ml/modeling/manifold/isomap.py +248 -175
- snowflake/ml/modeling/manifold/mds.py +248 -175
- snowflake/ml/modeling/manifold/spectral_embedding.py +248 -175
- snowflake/ml/modeling/manifold/tsne.py +248 -175
- snowflake/ml/modeling/mixture/bayesian_gaussian_mixture.py +246 -175
- snowflake/ml/modeling/mixture/gaussian_mixture.py +246 -175
- snowflake/ml/modeling/model_selection/grid_search_cv.py +63 -41
- snowflake/ml/modeling/model_selection/randomized_search_cv.py +80 -38
- snowflake/ml/modeling/multiclass/one_vs_one_classifier.py +246 -175
- snowflake/ml/modeling/multiclass/one_vs_rest_classifier.py +246 -175
- snowflake/ml/modeling/multiclass/output_code_classifier.py +246 -175
- snowflake/ml/modeling/naive_bayes/bernoulli_nb.py +246 -175
- snowflake/ml/modeling/naive_bayes/categorical_nb.py +246 -175
- snowflake/ml/modeling/naive_bayes/complement_nb.py +246 -175
- snowflake/ml/modeling/naive_bayes/gaussian_nb.py +246 -175
- snowflake/ml/modeling/naive_bayes/multinomial_nb.py +246 -175
- snowflake/ml/modeling/neighbors/k_neighbors_classifier.py +246 -175
- snowflake/ml/modeling/neighbors/k_neighbors_regressor.py +246 -175
- snowflake/ml/modeling/neighbors/kernel_density.py +246 -175
- snowflake/ml/modeling/neighbors/local_outlier_factor.py +246 -175
- snowflake/ml/modeling/neighbors/nearest_centroid.py +246 -175
- snowflake/ml/modeling/neighbors/nearest_neighbors.py +246 -175
- snowflake/ml/modeling/neighbors/neighborhood_components_analysis.py +248 -175
- snowflake/ml/modeling/neighbors/radius_neighbors_classifier.py +246 -175
- snowflake/ml/modeling/neighbors/radius_neighbors_regressor.py +246 -175
- snowflake/ml/modeling/neural_network/bernoulli_rbm.py +248 -175
- snowflake/ml/modeling/neural_network/mlp_classifier.py +246 -175
- snowflake/ml/modeling/neural_network/mlp_regressor.py +246 -175
- snowflake/ml/modeling/pipeline/pipeline.py +517 -35
- snowflake/ml/modeling/preprocessing/binarizer.py +1 -5
- snowflake/ml/modeling/preprocessing/k_bins_discretizer.py +1 -5
- snowflake/ml/modeling/preprocessing/label_encoder.py +1 -5
- snowflake/ml/modeling/preprocessing/max_abs_scaler.py +1 -5
- snowflake/ml/modeling/preprocessing/min_max_scaler.py +10 -12
- snowflake/ml/modeling/preprocessing/normalizer.py +1 -5
- snowflake/ml/modeling/preprocessing/one_hot_encoder.py +13 -5
- snowflake/ml/modeling/preprocessing/ordinal_encoder.py +1 -5
- snowflake/ml/modeling/preprocessing/polynomial_features.py +248 -175
- snowflake/ml/modeling/preprocessing/robust_scaler.py +1 -5
- snowflake/ml/modeling/preprocessing/standard_scaler.py +11 -11
- snowflake/ml/modeling/semi_supervised/label_propagation.py +246 -175
- snowflake/ml/modeling/semi_supervised/label_spreading.py +246 -175
- snowflake/ml/modeling/svm/linear_svc.py +246 -175
- snowflake/ml/modeling/svm/linear_svr.py +246 -175
- snowflake/ml/modeling/svm/nu_svc.py +246 -175
- snowflake/ml/modeling/svm/nu_svr.py +246 -175
- snowflake/ml/modeling/svm/svc.py +246 -175
- snowflake/ml/modeling/svm/svr.py +246 -175
- snowflake/ml/modeling/tree/decision_tree_classifier.py +246 -175
- snowflake/ml/modeling/tree/decision_tree_regressor.py +246 -175
- snowflake/ml/modeling/tree/extra_tree_classifier.py +246 -175
- snowflake/ml/modeling/tree/extra_tree_regressor.py +246 -175
- snowflake/ml/modeling/xgboost/xgb_classifier.py +246 -175
- snowflake/ml/modeling/xgboost/xgb_regressor.py +246 -175
- snowflake/ml/modeling/xgboost/xgbrf_classifier.py +246 -175
- snowflake/ml/modeling/xgboost/xgbrf_regressor.py +246 -175
- snowflake/ml/registry/model_registry.py +3 -149
- snowflake/ml/registry/registry.py +1 -1
- snowflake/ml/version.py +1 -1
- {snowflake_ml_python-1.4.0.dist-info → snowflake_ml_python-1.5.0.dist-info}/METADATA +129 -57
- snowflake_ml_python-1.5.0.dist-info/RECORD +380 -0
- snowflake/ml/model/_model_composer/model_runtime/model_runtime.py +0 -97
- snowflake/ml/registry/_artifact_manager.py +0 -156
- snowflake/ml/registry/artifact.py +0 -46
- snowflake_ml_python-1.4.0.dist-info/RECORD +0 -370
- {snowflake_ml_python-1.4.0.dist-info → snowflake_ml_python-1.5.0.dist-info}/LICENSE.txt +0 -0
- {snowflake_ml_python-1.4.0.dist-info → snowflake_ml_python-1.5.0.dist-info}/WHEEL +0 -0
- {snowflake_ml_python-1.4.0.dist-info → snowflake_ml_python-1.5.0.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: snowflake-ml-python
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.5.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,12 +236,13 @@ License-File: LICENSE.txt
|
|
236
236
|
Requires-Dist: absl-py <2,>=0.15
|
237
237
|
Requires-Dist: anyio <4,>=3.5.0
|
238
238
|
Requires-Dist: cachetools <6,>=3.1.1
|
239
|
+
Requires-Dist: catboost <1.3,>=1.2.0
|
239
240
|
Requires-Dist: cloudpickle >=2.0.0
|
240
241
|
Requires-Dist: fsspec[http] <2024,>=2022.11
|
241
242
|
Requires-Dist: importlib-resources <7,>=6.1.1
|
242
243
|
Requires-Dist: numpy <2,>=1.23
|
243
244
|
Requires-Dist: packaging <24,>=20.9
|
244
|
-
Requires-Dist: pandas <
|
245
|
+
Requires-Dist: pandas <3,>=1.0.0
|
245
246
|
Requires-Dist: pyarrow
|
246
247
|
Requires-Dist: pytimeparse <2,>=1.1.8
|
247
248
|
Requires-Dist: pyyaml <7,>=6.0
|
@@ -255,7 +256,7 @@ Requires-Dist: sqlparse <1,>=0.4
|
|
255
256
|
Requires-Dist: typing-extensions <5,>=4.1.0
|
256
257
|
Requires-Dist: xgboost <2,>=1.7.3
|
257
258
|
Provides-Extra: all
|
258
|
-
Requires-Dist: lightgbm
|
259
|
+
Requires-Dist: lightgbm <4.2,>=3.3.5 ; extra == 'all'
|
259
260
|
Requires-Dist: mlflow <2.4,>=2.1.0 ; extra == 'all'
|
260
261
|
Requires-Dist: peft <1,>=0.5.0 ; extra == 'all'
|
261
262
|
Requires-Dist: sentence-transformers <3,>=2.2.2 ; extra == 'all'
|
@@ -263,11 +264,11 @@ Requires-Dist: sentencepiece <0.2,>=0.1.95 ; extra == 'all'
|
|
263
264
|
Requires-Dist: shap ==0.42.1 ; extra == 'all'
|
264
265
|
Requires-Dist: tensorflow <3,>=2.10 ; extra == 'all'
|
265
266
|
Requires-Dist: tokenizers <1,>=0.10 ; extra == 'all'
|
267
|
+
Requires-Dist: torch <3,>=2.0.1 ; extra == 'all'
|
266
268
|
Requires-Dist: torchdata <1,>=0.4 ; extra == 'all'
|
267
269
|
Requires-Dist: transformers <5,>=4.32.1 ; extra == 'all'
|
268
|
-
Requires-Dist: torch <2.1.0,>=2.0.1 ; (platform_system == "Windows") and extra == 'all'
|
269
270
|
Provides-Extra: lightgbm
|
270
|
-
Requires-Dist: lightgbm
|
271
|
+
Requires-Dist: lightgbm <4.2,>=3.3.5 ; extra == 'lightgbm'
|
271
272
|
Provides-Extra: llm
|
272
273
|
Requires-Dist: peft <1,>=0.5.0 ; extra == 'llm'
|
273
274
|
Provides-Extra: mlflow
|
@@ -277,8 +278,8 @@ Requires-Dist: shap ==0.42.1 ; extra == 'shap'
|
|
277
278
|
Provides-Extra: tensorflow
|
278
279
|
Requires-Dist: tensorflow <3,>=2.10 ; extra == 'tensorflow'
|
279
280
|
Provides-Extra: torch
|
281
|
+
Requires-Dist: torch <3,>=2.0.1 ; extra == 'torch'
|
280
282
|
Requires-Dist: torchdata <1,>=0.4 ; extra == 'torch'
|
281
|
-
Requires-Dist: torch <2.1.0,>=2.0.1 ; (platform_system == "Windows") and extra == 'torch'
|
282
283
|
Provides-Extra: transformers
|
283
284
|
Requires-Dist: sentence-transformers <3,>=2.2.2 ; extra == 'transformers'
|
284
285
|
Requires-Dist: sentencepiece <0.2,>=0.1.95 ; extra == 'transformers'
|
@@ -370,17 +371,89 @@ be compatibility issues. Server-side functionality that `snowflake-ml-python` de
|
|
370
371
|
|
371
372
|
# Release History
|
372
373
|
|
373
|
-
## 1.
|
374
|
+
## 1.5.0
|
375
|
+
|
376
|
+
### Bug Fixes
|
377
|
+
|
378
|
+
- Registry: Fix invalid parameter 'SHOW_MODEL_DETAILS_IN_SHOW_VERSIONS_IN_MODEL' error.
|
379
|
+
|
380
|
+
### Behavior Changes
|
381
|
+
|
382
|
+
- Model Development: The behavior of `fit_transform` for all estimators is changed.
|
383
|
+
Firstly, it will cover all the estimator that contains this function,
|
384
|
+
secondly, the output would be the union of pandas DataFrame and snowpark DataFrame.
|
385
|
+
|
386
|
+
#### Model Registry (PrPr)
|
387
|
+
|
388
|
+
`snowflake.ml.registry.artifact` and related `snowflake.ml.model_registry.ModelRegistry` APIs have been removed.
|
389
|
+
|
390
|
+
- Removed `snowflake.ml.registry.artifact` module.
|
391
|
+
- Removed `ModelRegistry.log_artifact()`, `ModelRegistry.list_artifacts()`, `ModelRegistry.get_artifact()`
|
392
|
+
- Removed `artifacts` argument from `ModelRegistry.log_model()`
|
393
|
+
|
394
|
+
#### Dataset (PrPr)
|
395
|
+
|
396
|
+
`snowflake.ml.dataset.Dataset` has been redesigned to be backed by Snowflake Dataset entities.
|
397
|
+
|
398
|
+
- New `Dataset`s can be created with `Dataset.create()` and existing `Dataset`s may be loaded
|
399
|
+
with `Dataset.load()`.
|
400
|
+
- `Dataset`s now maintain an immutable `selected_version` state. The `Dataset.create_version()` and
|
401
|
+
`Dataset.load_version()` APIs return new `Dataset` objects with the requested `selected_version` state.
|
402
|
+
- Added `dataset.create_from_dataframe()` and `dataset.load_dataset()` convenience APIs as a shortcut
|
403
|
+
to creating and loading `Dataset`s with a pre-selected version.
|
404
|
+
- `Dataset.materialized_table` and `Dataset.snapshot_table` no longer exist with `Dataset.fully_qualified_name`
|
405
|
+
as the closest equivalent.
|
406
|
+
- `Dataset.df` no longer exists. Instead, use `DatasetReader.read.to_snowpark_dataframe()`.
|
407
|
+
- `Dataset.owner` has been moved to `Dataset.selected_version.owner`
|
408
|
+
- `Dataset.desc` has been moved to `DatasetVersion.selected_version.comment`
|
409
|
+
- `Dataset.timestamp_col`, `Dataset.label_cols`, `Dataset.feature_store_metadata`, and
|
410
|
+
`Dataset.schema_version` have been removed.
|
411
|
+
|
412
|
+
#### Feature Store (PrPr)
|
413
|
+
|
414
|
+
`FeatureStore.generate_dataset` argument list has been changed to match the new
|
415
|
+
`snowflake.ml.dataset.Dataset` definition
|
416
|
+
|
417
|
+
- `materialized_table` has been removed and replaced with `name` and `version`.
|
418
|
+
- `name` moved to first positional argument
|
419
|
+
- `save_mode` has been removed as `merge` behavior is no longer supported. The new behavior is always `errorifexists`.
|
420
|
+
|
421
|
+
### New Features
|
422
|
+
|
423
|
+
- Registry: Add `export` method to `ModelVersion` instance to export model files.
|
424
|
+
- Registry: Add `load` method to `ModelVersion` instance to load the underlying object from the model.
|
425
|
+
- Registry: Add `Model.rename` method to `Model` instance to rename or move a model.
|
426
|
+
|
427
|
+
#### Dataset (PrPr)
|
428
|
+
|
429
|
+
- Added Snowpark DataFrame integration using `Dataset.read.to_snowpark_dataframe()`
|
430
|
+
- Added Pandas DataFrame integration using `Dataset.read.to_pandas()`
|
431
|
+
- Added PyTorch and TensorFlow integrations using `Dataset.read.to_torch_datapipe()`
|
432
|
+
and `Dataset.read.to_tf_dataset()` respectively.
|
433
|
+
- Added `fsspec` style file integration using `Dataset.read.files()` and `Dataset.read.filesystem()`
|
434
|
+
|
435
|
+
## 1.4.1 (2024-04-18)
|
436
|
+
|
437
|
+
### New Features
|
438
|
+
|
439
|
+
- Registry: Add support for `catboost` model (`catboost.CatBoostClassifier`, `catboost.CatBoostRegressor`).
|
440
|
+
- Registry: Add support for `lightgbm` model (`lightgbm.Booster`, `lightgbm.LightGBMClassifier`, `lightgbm.LightGBMRegressor`).
|
441
|
+
|
442
|
+
### Bug Fixes
|
443
|
+
|
444
|
+
- Registry: Fix a bug that leads to relax_version option is not working.
|
445
|
+
|
446
|
+
## 1.4.0 (2024-04-08)
|
374
447
|
|
375
448
|
### Bug Fixes
|
376
449
|
|
377
450
|
- Registry: Fix a bug when multiple models are being called from the same query, models other than the first one will
|
378
451
|
have incorrect result. This fix only works for newly logged model.
|
379
452
|
- Modeling: When registering a model, only method(s) that is mentioned in `save_model` would be added to model signature
|
380
|
-
in SnowML models.
|
453
|
+
in SnowML models.
|
381
454
|
- Modeling: Fix a bug that when n_jobs is not 1, model cannot execute methods such as
|
382
|
-
predict, predict_log_proba, and other batch inference methods. The n_jobs would automatically
|
383
|
-
set to 1 because vectorized udf currently doesn't support joblib parallel backend.
|
455
|
+
predict, predict_log_proba, and other batch inference methods. The n_jobs would automatically
|
456
|
+
set to 1 because vectorized udf currently doesn't support joblib parallel backend.
|
384
457
|
- Modeling: Fix a bug that batch inference methods cannot infer the datatype when the first row of data contains NULL.
|
385
458
|
- Modeling: Matches Distributed HPO output column names with the snowflake identifier.
|
386
459
|
- Modeling: Relax package versions for all Distributed HPO methods if the installed version
|
@@ -440,8 +513,7 @@ set to 1 because vectorized udf currently doesn't support joblib parallel backen
|
|
440
513
|
- Registry: Improve the error message when specifying currently unsupported `pip_requirements` argument.
|
441
514
|
- Model Development: Fix precision_recall_fscore_support incorrect results when `average="samples"`.
|
442
515
|
- Model Registry: Fix an issue that leads to description, metrics or tags are not correctly returned in newly created
|
443
|
-
Model Registry (PrPr) due to Snowflake BCR [2024_01](
|
444
|
-
https://docs.snowflake.com/en/release-notes/bcr-bundles/2024_01/bcr-1483)
|
516
|
+
Model Registry (PrPr) due to Snowflake BCR [2024_01](https://docs.snowflake.com/en/release-notes/bcr-bundles/2024_01/bcr-1483)
|
445
517
|
|
446
518
|
### Behavior Changes
|
447
519
|
|
@@ -493,9 +565,9 @@ set to 1 because vectorized udf currently doesn't support joblib parallel backen
|
|
493
565
|
### Additional Notes
|
494
566
|
|
495
567
|
- Model Registry: The `snowflake.ml.registry.model_registry.ModelRegistry` has been deprecated starting from version
|
496
|
-
1.2.0. It will stay in the Private Preview phase. For future implementations, kindly utilize
|
497
|
-
`snowflake.ml.registry.Registry`, except when specifically required. The old model registry will be removed once all
|
498
|
-
its primary functionalities are fully integrated into the new registry.
|
568
|
+
1.2.0. It will stay in the Private Preview phase. For future implementations, kindly utilize
|
569
|
+
`snowflake.ml.registry.Registry`, except when specifically required. The old model registry will be removed once all
|
570
|
+
its primary functionalities are fully integrated into the new registry.
|
499
571
|
|
500
572
|
## 1.1.2 (2023-12-18)
|
501
573
|
|
@@ -550,7 +622,7 @@ its primary functionalities are fully integrated into the new registry.
|
|
550
622
|
- Model Registry: Fix regression issue that container logging is not shown during model deployment to SPCS.
|
551
623
|
- Model Development: Enhance the column capacity of OrdinalEncoder.
|
552
624
|
- Model Registry: Fix unbound `batch_size` error when deploying a model other than Hugging Face Pipeline
|
553
|
-
|
625
|
+
and LLM with GPU on SPCS.
|
554
626
|
|
555
627
|
### Behavior Changes
|
556
628
|
|
@@ -592,7 +664,7 @@ its primary functionalities are fully integrated into the new registry.
|
|
592
664
|
### Behavior Changes
|
593
665
|
|
594
666
|
- Model Development: precision_score, recall_score, f1_score, fbeta_score, precision_recall_fscore_support,
|
595
|
-
mean_absolute_error, mean_squared_error, and mean_absolute_percentage_error metric calculations are now distributed.
|
667
|
+
mean_absolute_error, mean_squared_error, and mean_absolute_percentage_error metric calculations are now distributed.
|
596
668
|
- Model Registry: `deploy` will now return `Deployment` for deployment information.
|
597
669
|
|
598
670
|
### New Features
|
@@ -606,7 +678,7 @@ mean_absolute_error, mean_squared_error, and mean_absolute_percentage_error metr
|
|
606
678
|
- Model Development: Fix an issue that alias definitions cause `SnowparkSQLUnexpectedAliasException` in inference.
|
607
679
|
- Model Registry: Fix an issue that signature inference could be incorrect when using Snowpark DataFrame as sample input.
|
608
680
|
- Model Registry: Fix too strict data type validation when predicting. Now, for example, if you have a INT8
|
609
|
-
|
681
|
+
type feature in the signature, if providing a INT64 dataframe but all values are within the range, it would not fail.
|
610
682
|
|
611
683
|
## 1.0.9 (2023-09-28)
|
612
684
|
|
@@ -629,7 +701,7 @@ mean_absolute_error, mean_squared_error, and mean_absolute_percentage_error metr
|
|
629
701
|
- Model Development: Fix an issue when the sklearn default value is `np.nan`.
|
630
702
|
- Model Registry: Fix an issue that incorrect docker executable is used when building images.
|
631
703
|
- Model Registry: Fix an issue that specifying `token` argument when using
|
632
|
-
`snowflake.ml.model.models.huggingface_pipeline.HuggingFacePipelineModel` with `transformers < 4.32.0` is not effective.
|
704
|
+
`snowflake.ml.model.models.huggingface_pipeline.HuggingFacePipelineModel` with `transformers < 4.32.0` is not effective.
|
633
705
|
- Model Registry: Fix an issue that incorrect system function call is used when deploying to SPCS.
|
634
706
|
- Model Registry: Fix an issue when using a `transformers.pipeline` that does not have a `tokenizer`.
|
635
707
|
- Model Registry: Fix incorrectly-inferred image repository name during model deployment to SPCS.
|
@@ -649,17 +721,17 @@ mean_absolute_error, mean_squared_error, and mean_absolute_percentage_error metr
|
|
649
721
|
- Model Registry: add `create_if_not_exists` parameter in constructor.
|
650
722
|
- Model Registry: Added get_or_create_model_registry API.
|
651
723
|
- Model Registry: Added support for using GPU inference when deploying XGBoost (`xgboost.XGBModel` and `xgboost.Booster`
|
652
|
-
), PyTorch (`torch.nn.Module` and `torch.jit.ScriptModule`) and TensorFlow (`tensorflow.Module` and
|
653
|
-
`tensorflow.keras.Model`) models to Snowpark Container Services.
|
724
|
+
), PyTorch (`torch.nn.Module` and `torch.jit.ScriptModule`) and TensorFlow (`tensorflow.Module` and
|
725
|
+
`tensorflow.keras.Model`) models to Snowpark Container Services.
|
654
726
|
- Model Registry: When inferring model signature, `Sequence` of built-in types, `Sequence` of `numpy.ndarray`,
|
655
|
-
`Sequence` of `torch.Tensor`, `Sequence` of `tensorflow.Tensor` and `Sequence` of `tensorflow.Tensor` can be used
|
656
|
-
|
727
|
+
`Sequence` of `torch.Tensor`, `Sequence` of `tensorflow.Tensor` and `Sequence` of `tensorflow.Tensor` can be used
|
728
|
+
instead of only `List` of them.
|
657
729
|
- Model Registry: Added `get_training_dataset` API.
|
658
730
|
- Model Development: Size of metrics result can exceed previous 8MB limit.
|
659
731
|
- Model Registry: Added support save/load/deploy HuggingFace pipeline object (`transformers.Pipeline`) and our wrapper
|
660
|
-
(`snowflake.ml.model.models.huggingface_pipeline.HuggingFacePipelineModel`) to it. Using the wrapper to specify
|
661
|
-
configurations and the model for the pipeline will be loaded dynamically when deploying. Currently, following tasks
|
662
|
-
are supported to log without manually specifying model signatures:
|
732
|
+
(`snowflake.ml.model.models.huggingface_pipeline.HuggingFacePipelineModel`) to it. Using the wrapper to specify
|
733
|
+
configurations and the model for the pipeline will be loaded dynamically when deploying. Currently, following tasks
|
734
|
+
are supported to log without manually specifying model signatures:
|
663
735
|
- "conversational"
|
664
736
|
- "fill-mask"
|
665
737
|
- "question-answering"
|
@@ -683,18 +755,18 @@ are supported to log without manually specifying model signatures:
|
|
683
755
|
- Model Registry: `log_model()` now return a `ModelReference` object instead of a model ID.
|
684
756
|
- Model Registry: When deploying a model with 1 `target method` only, the `target_method` argument can be omitted.
|
685
757
|
- Model Registry: When using the snowflake-ml-python with version newer than what is available in Snowflake Anaconda
|
686
|
-
Channel, `embed_local_ml_library` option will be set as `True` automatically if not.
|
758
|
+
Channel, `embed_local_ml_library` option will be set as `True` automatically if not.
|
687
759
|
- Model Registry: When deploying a model to Snowpark Container Services and using GPU, the default value of num_workers
|
688
|
-
will be 1.
|
760
|
+
will be 1.
|
689
761
|
- Model Registry: `keep_order` and `output_with_input_features` in the deploy options have been removed. Now the
|
690
|
-
behavior is controlled by the type of the input when calling `model.predict()`. If the input is a `pandas.DataFrame`,
|
691
|
-
the behavior will be the same as `keep_order=True` and `output_with_input_features=False` before. If the input is a
|
692
|
-
`snowpark.DataFrame`, the behavior will be the same as `keep_order=False` and `output_with_input_features=True` before.
|
762
|
+
behavior is controlled by the type of the input when calling `model.predict()`. If the input is a `pandas.DataFrame`,
|
763
|
+
the behavior will be the same as `keep_order=True` and `output_with_input_features=False` before. If the input is a
|
764
|
+
`snowpark.DataFrame`, the behavior will be the same as `keep_order=False` and `output_with_input_features=True` before.
|
693
765
|
- Model Registry: When logging and deploying PyTorch (`torch.nn.Module` and `torch.jit.ScriptModule`) and TensorFlow
|
694
|
-
(`tensorflow.Module` and `tensorflow.keras.Model`) models, we no longer accept models whose input is a list of tensor
|
695
|
-
and output is a list of tensors. Instead, now we accept models whose input is 1 or more tensors as positional arguments,
|
696
|
-
|
697
|
-
|
766
|
+
(`tensorflow.Module` and `tensorflow.keras.Model`) models, we no longer accept models whose input is a list of tensor
|
767
|
+
and output is a list of tensors. Instead, now we accept models whose input is 1 or more tensors as positional arguments,
|
768
|
+
and output is a tensor or a tuple of tensors. The input and output dataframe when predicting keep the same as before,
|
769
|
+
that is every column is an array feature and contains a tensor.
|
698
770
|
|
699
771
|
## 1.0.5 (2023-08-17)
|
700
772
|
|
@@ -707,7 +779,7 @@ and output is a list of tensors. Instead, now we accept models whose input is 1
|
|
707
779
|
|
708
780
|
- Model Registry: Restore the db/schema back to the session after `create_model_registry()`.
|
709
781
|
- Model Registry: Fixed an issue that the UDF name created when deploying a model is not identical to what is provided
|
710
|
-
and cannot be correctly dropped when deployment getting dropped.
|
782
|
+
and cannot be correctly dropped when deployment getting dropped.
|
711
783
|
- connection_params.SnowflakeLoginOptions(): Added support for `private_key_path`.
|
712
784
|
|
713
785
|
## 1.0.4 (2023-07-28)
|
@@ -728,7 +800,7 @@ and cannot be correctly dropped when deployment getting dropped.
|
|
728
800
|
### Behavior Changes
|
729
801
|
|
730
802
|
- Model Registry: When predicting a model whose output is a list of NumPy ndarray, the output would not be flattened,
|
731
|
-
instead, every ndarray will act as a feature(column) in the output.
|
803
|
+
instead, every ndarray will act as a feature(column) in the output.
|
732
804
|
|
733
805
|
### New Features
|
734
806
|
|
@@ -737,18 +809,18 @@ instead, every ndarray will act as a feature(column) in the output.
|
|
737
809
|
### Bug Fixes
|
738
810
|
|
739
811
|
- Model Registry: Fix an issue that when database or schema name provided to `create_model_registry` contains special
|
740
|
-
characters, the model registry cannot be created.
|
812
|
+
characters, the model registry cannot be created.
|
741
813
|
- Model Registry: Fix an issue that `get_model_description` returns with additional quotes.
|
742
814
|
- Model Registry: Fix incorrect error message when attempting to remove a unset tag of a model.
|
743
815
|
- Model Registry: Fix a typo in the default deployment table name.
|
744
816
|
- Model Registry: Snowpark dataframe for sample input or input for `predict` method that contains a column with
|
745
|
-
Snowflake `NUMBER(precision, scale)` data type where `scale = 0` will not lead to error, and will now correctly
|
746
|
-
recognized as `INT64` data type in model signature.
|
817
|
+
Snowflake `NUMBER(precision, scale)` data type where `scale = 0` will not lead to error, and will now correctly
|
818
|
+
recognized as `INT64` data type in model signature.
|
747
819
|
- Model Registry: Fix an issue that prevent model logged in the system whose default encoding is not UTF-8 compatible
|
748
|
-
from deploying.
|
820
|
+
from deploying.
|
749
821
|
- Model Registry: Added earlier and better error message when any file name in the model or the file name of model
|
750
|
-
itself contains characters that are unable to be encoded using ASCII. It is currently not supported to deploy such a
|
751
|
-
model.
|
822
|
+
itself contains characters that are unable to be encoded using ASCII. It is currently not supported to deploy such a
|
823
|
+
model.
|
752
824
|
|
753
825
|
## 1.0.2 (2023-06-22)
|
754
826
|
|
@@ -757,16 +829,16 @@ model.
|
|
757
829
|
- Model Registry: Prohibit non-snowflake-native models from being logged.
|
758
830
|
- Model Registry: `_use_local_snowml` parameter in options of `deploy()` has been removed.
|
759
831
|
- Model Registry: A default `False` `embed_local_ml_library` parameter has been added to the options of `log_model()`.
|
760
|
-
With this set to `False` (default), the version of the local snowflake-ml-python library will be recorded and used when
|
761
|
-
deploying the model. With this set to `True`, local snowflake-ml-python library will be embedded into the logged model,
|
762
|
-
and will be used when you load or deploy the model.
|
832
|
+
With this set to `False` (default), the version of the local snowflake-ml-python library will be recorded and used when
|
833
|
+
deploying the model. With this set to `True`, local snowflake-ml-python library will be embedded into the logged model,
|
834
|
+
and will be used when you load or deploy the model.
|
763
835
|
|
764
836
|
### New Features
|
765
837
|
|
766
838
|
- Model Registry: A new optional argument named `code_paths` has been added to the arguments of `log_model()` for users
|
767
|
-
to specify additional code paths to be imported when loading and deploying the model.
|
839
|
+
to specify additional code paths to be imported when loading and deploying the model.
|
768
840
|
- Model Registry: A new optional argument named `options` has been added to the arguments of `log_model()` to specify
|
769
|
-
any additional options when saving the model.
|
841
|
+
any additional options when saving the model.
|
770
842
|
- Model Development: Added metrics:
|
771
843
|
- d2_absolute_error_score
|
772
844
|
- d2_pinball_score
|
@@ -785,14 +857,14 @@ any additional options when saving the model.
|
|
785
857
|
|
786
858
|
- Model Development: Changed Metrics APIs to imitate sklearn metrics modules:
|
787
859
|
- `accuracy_score()`, `confusion_matrix()`, `precision_recall_fscore_support()`, `precision_score()` methods move from
|
788
|
-
|
860
|
+
respective modules to `metrics.classification`.
|
789
861
|
- Model Registry: The default table/stage created by the Registry now uses "_SYSTEM_" as a prefix.
|
790
862
|
- Model Registry: `get_model_history()` method as been enhanced to include the history of model deployment.
|
791
863
|
|
792
864
|
### New Features
|
793
865
|
|
794
866
|
- Model Registry: A default `False` flag named `replace_udf` has been added to the options of `deploy()`. Setting this
|
795
|
-
to `True` will allow overwrite existing UDF with the same name when deploying.
|
867
|
+
to `True` will allow overwrite existing UDF with the same name when deploying.
|
796
868
|
- Model Development: Added metrics:
|
797
869
|
- f1_score
|
798
870
|
- fbeta_score
|
@@ -802,9 +874,9 @@ to `True` will allow overwrite existing UDF with the same name when deploying.
|
|
802
874
|
- log_loss
|
803
875
|
- precision_recall_curve
|
804
876
|
- Model Registry: A new argument named `permanent` has been added to the argument of `deploy()`. Setting this to `True`
|
805
|
-
allows the creation of a permanent deployment without needing to specify the UDF location.
|
877
|
+
allows the creation of a permanent deployment without needing to specify the UDF location.
|
806
878
|
- Model Registry: A new method `list_deployments()` has been added to enumerate all permanent deployments originating
|
807
|
-
from a specific model.
|
879
|
+
from a specific model.
|
808
880
|
- Model Registry: A new method `get_deployment()` has been added to fetch a deployment by its deployment name.
|
809
881
|
- Model Registry: A new method `delete_deployment()` has been added to remove an existing permanent deployment.
|
810
882
|
|
@@ -814,13 +886,13 @@ from a specific model.
|
|
814
886
|
|
815
887
|
- Model Registry: `predict()` method moves from Registry to ModelReference.
|
816
888
|
- Model Registry: `_snowml_wheel_path` parameter in options of `deploy()`, is replaced with `_use_local_snowml` with
|
817
|
-
default value of `False`. Setting this to `True` will have the same effect of uploading local SnowML code when executing
|
818
|
-
model in the warehouse.
|
889
|
+
default value of `False`. Setting this to `True` will have the same effect of uploading local SnowML code when executing
|
890
|
+
model in the warehouse.
|
819
891
|
- Model Registry: Removed `id` field from `ModelReference` constructor.
|
820
892
|
- Model Development: Preprocessing and Metrics move to the modeling package: `snowflake.ml.modeling.preprocessing` and
|
821
|
-
`snowflake.ml.modeling.metrics`.
|
893
|
+
`snowflake.ml.modeling.metrics`.
|
822
894
|
- Model Development: `get_sklearn_object()` method is renamed to `to_sklearn()`, `to_xgboost()`, and `to_lightgbm()` for
|
823
|
-
respective native models.
|
895
|
+
respective native models.
|
824
896
|
|
825
897
|
### New Features
|
826
898
|
|
@@ -882,7 +954,7 @@ respective native models.
|
|
882
954
|
### New Features
|
883
955
|
|
884
956
|
- Model Registry: Added support for delete_model. Use delete_artifact = False to not delete the underlying model data
|
885
|
-
but just unregister.
|
957
|
+
but just unregister.
|
886
958
|
|
887
959
|
## 0.2.2 (2023-04-11)
|
888
960
|
|