snowflake-ml-python 1.4.0__py3-none-any.whl → 1.4.1__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 +11 -1
- snowflake/ml/_internal/utils/identifier.py +3 -1
- snowflake/ml/_internal/utils/sql_identifier.py +2 -6
- snowflake/ml/feature_store/feature_store.py +151 -78
- snowflake/ml/feature_store/feature_view.py +12 -24
- snowflake/ml/fileset/sfcfs.py +56 -50
- snowflake/ml/fileset/stage_fs.py +48 -13
- snowflake/ml/model/_client/model/model_version_impl.py +2 -50
- snowflake/ml/model/_client/ops/model_ops.py +78 -29
- snowflake/ml/model/_client/sql/model.py +23 -2
- snowflake/ml/model/_client/sql/model_version.py +22 -1
- snowflake/ml/model/_model_composer/model_manifest/model_manifest.py +19 -54
- snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py +8 -1
- snowflake/ml/model/_model_composer/model_method/model_method.py +6 -10
- 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 +36 -6
- 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 -2
- 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/snowpark_implementations/distributed_hpo_trainer.py +13 -14
- snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_handlers.py +5 -5
- snowflake/ml/modeling/calibration/calibrated_classifier_cv.py +195 -123
- snowflake/ml/modeling/cluster/affinity_propagation.py +195 -123
- snowflake/ml/modeling/cluster/agglomerative_clustering.py +195 -123
- snowflake/ml/modeling/cluster/birch.py +195 -123
- snowflake/ml/modeling/cluster/bisecting_k_means.py +195 -123
- snowflake/ml/modeling/cluster/dbscan.py +195 -123
- snowflake/ml/modeling/cluster/feature_agglomeration.py +195 -123
- snowflake/ml/modeling/cluster/k_means.py +195 -123
- snowflake/ml/modeling/cluster/mean_shift.py +195 -123
- snowflake/ml/modeling/cluster/mini_batch_k_means.py +195 -123
- snowflake/ml/modeling/cluster/optics.py +195 -123
- snowflake/ml/modeling/cluster/spectral_biclustering.py +195 -123
- snowflake/ml/modeling/cluster/spectral_clustering.py +195 -123
- snowflake/ml/modeling/cluster/spectral_coclustering.py +195 -123
- snowflake/ml/modeling/compose/column_transformer.py +195 -123
- snowflake/ml/modeling/compose/transformed_target_regressor.py +195 -123
- snowflake/ml/modeling/covariance/elliptic_envelope.py +195 -123
- snowflake/ml/modeling/covariance/empirical_covariance.py +195 -123
- snowflake/ml/modeling/covariance/graphical_lasso.py +195 -123
- snowflake/ml/modeling/covariance/graphical_lasso_cv.py +195 -123
- snowflake/ml/modeling/covariance/ledoit_wolf.py +195 -123
- snowflake/ml/modeling/covariance/min_cov_det.py +195 -123
- snowflake/ml/modeling/covariance/oas.py +195 -123
- snowflake/ml/modeling/covariance/shrunk_covariance.py +195 -123
- snowflake/ml/modeling/decomposition/dictionary_learning.py +195 -123
- snowflake/ml/modeling/decomposition/factor_analysis.py +195 -123
- snowflake/ml/modeling/decomposition/fast_ica.py +195 -123
- snowflake/ml/modeling/decomposition/incremental_pca.py +195 -123
- snowflake/ml/modeling/decomposition/kernel_pca.py +195 -123
- snowflake/ml/modeling/decomposition/mini_batch_dictionary_learning.py +195 -123
- snowflake/ml/modeling/decomposition/mini_batch_sparse_pca.py +195 -123
- snowflake/ml/modeling/decomposition/pca.py +195 -123
- snowflake/ml/modeling/decomposition/sparse_pca.py +195 -123
- snowflake/ml/modeling/decomposition/truncated_svd.py +195 -123
- snowflake/ml/modeling/discriminant_analysis/linear_discriminant_analysis.py +195 -123
- snowflake/ml/modeling/discriminant_analysis/quadratic_discriminant_analysis.py +195 -123
- snowflake/ml/modeling/ensemble/ada_boost_classifier.py +195 -123
- snowflake/ml/modeling/ensemble/ada_boost_regressor.py +195 -123
- snowflake/ml/modeling/ensemble/bagging_classifier.py +195 -123
- snowflake/ml/modeling/ensemble/bagging_regressor.py +195 -123
- snowflake/ml/modeling/ensemble/extra_trees_classifier.py +195 -123
- snowflake/ml/modeling/ensemble/extra_trees_regressor.py +195 -123
- snowflake/ml/modeling/ensemble/gradient_boosting_classifier.py +195 -123
- snowflake/ml/modeling/ensemble/gradient_boosting_regressor.py +195 -123
- snowflake/ml/modeling/ensemble/hist_gradient_boosting_classifier.py +195 -123
- snowflake/ml/modeling/ensemble/hist_gradient_boosting_regressor.py +195 -123
- snowflake/ml/modeling/ensemble/isolation_forest.py +195 -123
- snowflake/ml/modeling/ensemble/random_forest_classifier.py +195 -123
- snowflake/ml/modeling/ensemble/random_forest_regressor.py +195 -123
- snowflake/ml/modeling/ensemble/stacking_regressor.py +195 -123
- snowflake/ml/modeling/ensemble/voting_classifier.py +195 -123
- snowflake/ml/modeling/ensemble/voting_regressor.py +195 -123
- snowflake/ml/modeling/feature_selection/generic_univariate_select.py +195 -123
- snowflake/ml/modeling/feature_selection/select_fdr.py +195 -123
- snowflake/ml/modeling/feature_selection/select_fpr.py +195 -123
- snowflake/ml/modeling/feature_selection/select_fwe.py +195 -123
- snowflake/ml/modeling/feature_selection/select_k_best.py +195 -123
- snowflake/ml/modeling/feature_selection/select_percentile.py +195 -123
- snowflake/ml/modeling/feature_selection/sequential_feature_selector.py +195 -123
- snowflake/ml/modeling/feature_selection/variance_threshold.py +195 -123
- snowflake/ml/modeling/framework/_utils.py +8 -1
- snowflake/ml/modeling/framework/base.py +9 -1
- snowflake/ml/modeling/gaussian_process/gaussian_process_classifier.py +195 -123
- snowflake/ml/modeling/gaussian_process/gaussian_process_regressor.py +195 -123
- snowflake/ml/modeling/impute/iterative_imputer.py +195 -123
- snowflake/ml/modeling/impute/knn_imputer.py +195 -123
- snowflake/ml/modeling/impute/missing_indicator.py +195 -123
- snowflake/ml/modeling/kernel_approximation/additive_chi2_sampler.py +195 -123
- snowflake/ml/modeling/kernel_approximation/nystroem.py +195 -123
- snowflake/ml/modeling/kernel_approximation/polynomial_count_sketch.py +195 -123
- snowflake/ml/modeling/kernel_approximation/rbf_sampler.py +195 -123
- snowflake/ml/modeling/kernel_approximation/skewed_chi2_sampler.py +195 -123
- snowflake/ml/modeling/kernel_ridge/kernel_ridge.py +195 -123
- snowflake/ml/modeling/lightgbm/lgbm_classifier.py +195 -123
- snowflake/ml/modeling/lightgbm/lgbm_regressor.py +195 -123
- snowflake/ml/modeling/linear_model/ard_regression.py +195 -123
- snowflake/ml/modeling/linear_model/bayesian_ridge.py +195 -123
- snowflake/ml/modeling/linear_model/elastic_net.py +195 -123
- snowflake/ml/modeling/linear_model/elastic_net_cv.py +195 -123
- snowflake/ml/modeling/linear_model/gamma_regressor.py +195 -123
- snowflake/ml/modeling/linear_model/huber_regressor.py +195 -123
- snowflake/ml/modeling/linear_model/lars.py +195 -123
- snowflake/ml/modeling/linear_model/lars_cv.py +195 -123
- snowflake/ml/modeling/linear_model/lasso.py +195 -123
- snowflake/ml/modeling/linear_model/lasso_cv.py +195 -123
- snowflake/ml/modeling/linear_model/lasso_lars.py +195 -123
- snowflake/ml/modeling/linear_model/lasso_lars_cv.py +195 -123
- snowflake/ml/modeling/linear_model/lasso_lars_ic.py +195 -123
- snowflake/ml/modeling/linear_model/linear_regression.py +195 -123
- snowflake/ml/modeling/linear_model/logistic_regression.py +195 -123
- snowflake/ml/modeling/linear_model/logistic_regression_cv.py +195 -123
- snowflake/ml/modeling/linear_model/multi_task_elastic_net.py +195 -123
- snowflake/ml/modeling/linear_model/multi_task_elastic_net_cv.py +195 -123
- snowflake/ml/modeling/linear_model/multi_task_lasso.py +195 -123
- snowflake/ml/modeling/linear_model/multi_task_lasso_cv.py +195 -123
- snowflake/ml/modeling/linear_model/orthogonal_matching_pursuit.py +195 -123
- snowflake/ml/modeling/linear_model/passive_aggressive_classifier.py +195 -123
- snowflake/ml/modeling/linear_model/passive_aggressive_regressor.py +195 -123
- snowflake/ml/modeling/linear_model/perceptron.py +195 -123
- snowflake/ml/modeling/linear_model/poisson_regressor.py +195 -123
- snowflake/ml/modeling/linear_model/ransac_regressor.py +195 -123
- snowflake/ml/modeling/linear_model/ridge.py +195 -123
- snowflake/ml/modeling/linear_model/ridge_classifier.py +195 -123
- snowflake/ml/modeling/linear_model/ridge_classifier_cv.py +195 -123
- snowflake/ml/modeling/linear_model/ridge_cv.py +195 -123
- snowflake/ml/modeling/linear_model/sgd_classifier.py +195 -123
- snowflake/ml/modeling/linear_model/sgd_one_class_svm.py +195 -123
- snowflake/ml/modeling/linear_model/sgd_regressor.py +195 -123
- snowflake/ml/modeling/linear_model/theil_sen_regressor.py +195 -123
- snowflake/ml/modeling/linear_model/tweedie_regressor.py +195 -123
- snowflake/ml/modeling/manifold/isomap.py +195 -123
- snowflake/ml/modeling/manifold/mds.py +195 -123
- snowflake/ml/modeling/manifold/spectral_embedding.py +195 -123
- snowflake/ml/modeling/manifold/tsne.py +195 -123
- snowflake/ml/modeling/mixture/bayesian_gaussian_mixture.py +195 -123
- snowflake/ml/modeling/mixture/gaussian_mixture.py +195 -123
- snowflake/ml/modeling/model_selection/grid_search_cv.py +42 -18
- snowflake/ml/modeling/model_selection/randomized_search_cv.py +42 -18
- snowflake/ml/modeling/multiclass/one_vs_one_classifier.py +195 -123
- snowflake/ml/modeling/multiclass/one_vs_rest_classifier.py +195 -123
- snowflake/ml/modeling/multiclass/output_code_classifier.py +195 -123
- snowflake/ml/modeling/naive_bayes/bernoulli_nb.py +195 -123
- snowflake/ml/modeling/naive_bayes/categorical_nb.py +195 -123
- snowflake/ml/modeling/naive_bayes/complement_nb.py +195 -123
- snowflake/ml/modeling/naive_bayes/gaussian_nb.py +195 -123
- snowflake/ml/modeling/naive_bayes/multinomial_nb.py +195 -123
- snowflake/ml/modeling/neighbors/k_neighbors_classifier.py +195 -123
- snowflake/ml/modeling/neighbors/k_neighbors_regressor.py +195 -123
- snowflake/ml/modeling/neighbors/kernel_density.py +195 -123
- snowflake/ml/modeling/neighbors/local_outlier_factor.py +195 -123
- snowflake/ml/modeling/neighbors/nearest_centroid.py +195 -123
- snowflake/ml/modeling/neighbors/nearest_neighbors.py +195 -123
- snowflake/ml/modeling/neighbors/neighborhood_components_analysis.py +195 -123
- snowflake/ml/modeling/neighbors/radius_neighbors_classifier.py +195 -123
- snowflake/ml/modeling/neighbors/radius_neighbors_regressor.py +195 -123
- snowflake/ml/modeling/neural_network/bernoulli_rbm.py +195 -123
- snowflake/ml/modeling/neural_network/mlp_classifier.py +195 -123
- snowflake/ml/modeling/neural_network/mlp_regressor.py +195 -123
- snowflake/ml/modeling/pipeline/pipeline.py +4 -4
- 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 +1 -5
- snowflake/ml/modeling/preprocessing/ordinal_encoder.py +1 -5
- snowflake/ml/modeling/preprocessing/polynomial_features.py +195 -123
- 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 +195 -123
- snowflake/ml/modeling/semi_supervised/label_spreading.py +195 -123
- snowflake/ml/modeling/svm/linear_svc.py +195 -123
- snowflake/ml/modeling/svm/linear_svr.py +195 -123
- snowflake/ml/modeling/svm/nu_svc.py +195 -123
- snowflake/ml/modeling/svm/nu_svr.py +195 -123
- snowflake/ml/modeling/svm/svc.py +195 -123
- snowflake/ml/modeling/svm/svr.py +195 -123
- snowflake/ml/modeling/tree/decision_tree_classifier.py +195 -123
- snowflake/ml/modeling/tree/decision_tree_regressor.py +195 -123
- snowflake/ml/modeling/tree/extra_tree_classifier.py +195 -123
- snowflake/ml/modeling/tree/extra_tree_regressor.py +195 -123
- snowflake/ml/modeling/xgboost/xgb_classifier.py +195 -123
- snowflake/ml/modeling/xgboost/xgb_regressor.py +195 -123
- snowflake/ml/modeling/xgboost/xgbrf_classifier.py +195 -123
- snowflake/ml/modeling/xgboost/xgbrf_regressor.py +195 -123
- 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.4.1.dist-info}/METADATA +68 -57
- {snowflake_ml_python-1.4.0.dist-info → snowflake_ml_python-1.4.1.dist-info}/RECORD +202 -200
- snowflake/ml/model/_model_composer/model_runtime/model_runtime.py +0 -97
- {snowflake_ml_python-1.4.0.dist-info → snowflake_ml_python-1.4.1.dist-info}/LICENSE.txt +0 -0
- {snowflake_ml_python-1.4.0.dist-info → snowflake_ml_python-1.4.1.dist-info}/WHEEL +0 -0
- {snowflake_ml_python-1.4.0.dist-info → snowflake_ml_python-1.4.1.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.4.
|
3
|
+
Version: 1.4.1
|
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,28 @@ be compatibility issues. Server-side functionality that `snowflake-ml-python` de
|
|
370
371
|
|
371
372
|
# Release History
|
372
373
|
|
373
|
-
## 1.4.
|
374
|
+
## 1.4.1
|
375
|
+
|
376
|
+
### New Features
|
377
|
+
|
378
|
+
- Registry: Add support for `catboost` model (`catboost.CatBoostClassifier`, `catboost.CatBoostRegressor`).
|
379
|
+
- Registry: Add support for `lightgbm` model (`lightgbm.Booster`, `lightgbm.LightGBMClassifier`, `lightgbm.LightGBMRegressor`).
|
380
|
+
|
381
|
+
### Bug Fixes
|
382
|
+
|
383
|
+
- Registry: Fix a bug that leads to relax_version option is not working.
|
384
|
+
|
385
|
+
## 1.4.0 (2024-04-08)
|
374
386
|
|
375
387
|
### Bug Fixes
|
376
388
|
|
377
389
|
- Registry: Fix a bug when multiple models are being called from the same query, models other than the first one will
|
378
390
|
have incorrect result. This fix only works for newly logged model.
|
379
391
|
- Modeling: When registering a model, only method(s) that is mentioned in `save_model` would be added to model signature
|
380
|
-
in SnowML models.
|
392
|
+
in SnowML models.
|
381
393
|
- 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.
|
394
|
+
predict, predict_log_proba, and other batch inference methods. The n_jobs would automatically
|
395
|
+
set to 1 because vectorized udf currently doesn't support joblib parallel backend.
|
384
396
|
- Modeling: Fix a bug that batch inference methods cannot infer the datatype when the first row of data contains NULL.
|
385
397
|
- Modeling: Matches Distributed HPO output column names with the snowflake identifier.
|
386
398
|
- Modeling: Relax package versions for all Distributed HPO methods if the installed version
|
@@ -440,8 +452,7 @@ set to 1 because vectorized udf currently doesn't support joblib parallel backen
|
|
440
452
|
- Registry: Improve the error message when specifying currently unsupported `pip_requirements` argument.
|
441
453
|
- Model Development: Fix precision_recall_fscore_support incorrect results when `average="samples"`.
|
442
454
|
- 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)
|
455
|
+
Model Registry (PrPr) due to Snowflake BCR [2024_01](https://docs.snowflake.com/en/release-notes/bcr-bundles/2024_01/bcr-1483)
|
445
456
|
|
446
457
|
### Behavior Changes
|
447
458
|
|
@@ -493,9 +504,9 @@ set to 1 because vectorized udf currently doesn't support joblib parallel backen
|
|
493
504
|
### Additional Notes
|
494
505
|
|
495
506
|
- 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.
|
507
|
+
1.2.0. It will stay in the Private Preview phase. For future implementations, kindly utilize
|
508
|
+
`snowflake.ml.registry.Registry`, except when specifically required. The old model registry will be removed once all
|
509
|
+
its primary functionalities are fully integrated into the new registry.
|
499
510
|
|
500
511
|
## 1.1.2 (2023-12-18)
|
501
512
|
|
@@ -550,7 +561,7 @@ its primary functionalities are fully integrated into the new registry.
|
|
550
561
|
- Model Registry: Fix regression issue that container logging is not shown during model deployment to SPCS.
|
551
562
|
- Model Development: Enhance the column capacity of OrdinalEncoder.
|
552
563
|
- Model Registry: Fix unbound `batch_size` error when deploying a model other than Hugging Face Pipeline
|
553
|
-
|
564
|
+
and LLM with GPU on SPCS.
|
554
565
|
|
555
566
|
### Behavior Changes
|
556
567
|
|
@@ -592,7 +603,7 @@ its primary functionalities are fully integrated into the new registry.
|
|
592
603
|
### Behavior Changes
|
593
604
|
|
594
605
|
- 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.
|
606
|
+
mean_absolute_error, mean_squared_error, and mean_absolute_percentage_error metric calculations are now distributed.
|
596
607
|
- Model Registry: `deploy` will now return `Deployment` for deployment information.
|
597
608
|
|
598
609
|
### New Features
|
@@ -606,7 +617,7 @@ mean_absolute_error, mean_squared_error, and mean_absolute_percentage_error metr
|
|
606
617
|
- Model Development: Fix an issue that alias definitions cause `SnowparkSQLUnexpectedAliasException` in inference.
|
607
618
|
- Model Registry: Fix an issue that signature inference could be incorrect when using Snowpark DataFrame as sample input.
|
608
619
|
- Model Registry: Fix too strict data type validation when predicting. Now, for example, if you have a INT8
|
609
|
-
|
620
|
+
type feature in the signature, if providing a INT64 dataframe but all values are within the range, it would not fail.
|
610
621
|
|
611
622
|
## 1.0.9 (2023-09-28)
|
612
623
|
|
@@ -629,7 +640,7 @@ mean_absolute_error, mean_squared_error, and mean_absolute_percentage_error metr
|
|
629
640
|
- Model Development: Fix an issue when the sklearn default value is `np.nan`.
|
630
641
|
- Model Registry: Fix an issue that incorrect docker executable is used when building images.
|
631
642
|
- 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.
|
643
|
+
`snowflake.ml.model.models.huggingface_pipeline.HuggingFacePipelineModel` with `transformers < 4.32.0` is not effective.
|
633
644
|
- Model Registry: Fix an issue that incorrect system function call is used when deploying to SPCS.
|
634
645
|
- Model Registry: Fix an issue when using a `transformers.pipeline` that does not have a `tokenizer`.
|
635
646
|
- Model Registry: Fix incorrectly-inferred image repository name during model deployment to SPCS.
|
@@ -649,17 +660,17 @@ mean_absolute_error, mean_squared_error, and mean_absolute_percentage_error metr
|
|
649
660
|
- Model Registry: add `create_if_not_exists` parameter in constructor.
|
650
661
|
- Model Registry: Added get_or_create_model_registry API.
|
651
662
|
- 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.
|
663
|
+
), PyTorch (`torch.nn.Module` and `torch.jit.ScriptModule`) and TensorFlow (`tensorflow.Module` and
|
664
|
+
`tensorflow.keras.Model`) models to Snowpark Container Services.
|
654
665
|
- 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
|
-
|
666
|
+
`Sequence` of `torch.Tensor`, `Sequence` of `tensorflow.Tensor` and `Sequence` of `tensorflow.Tensor` can be used
|
667
|
+
instead of only `List` of them.
|
657
668
|
- Model Registry: Added `get_training_dataset` API.
|
658
669
|
- Model Development: Size of metrics result can exceed previous 8MB limit.
|
659
670
|
- 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:
|
671
|
+
(`snowflake.ml.model.models.huggingface_pipeline.HuggingFacePipelineModel`) to it. Using the wrapper to specify
|
672
|
+
configurations and the model for the pipeline will be loaded dynamically when deploying. Currently, following tasks
|
673
|
+
are supported to log without manually specifying model signatures:
|
663
674
|
- "conversational"
|
664
675
|
- "fill-mask"
|
665
676
|
- "question-answering"
|
@@ -683,18 +694,18 @@ are supported to log without manually specifying model signatures:
|
|
683
694
|
- Model Registry: `log_model()` now return a `ModelReference` object instead of a model ID.
|
684
695
|
- Model Registry: When deploying a model with 1 `target method` only, the `target_method` argument can be omitted.
|
685
696
|
- 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.
|
697
|
+
Channel, `embed_local_ml_library` option will be set as `True` automatically if not.
|
687
698
|
- Model Registry: When deploying a model to Snowpark Container Services and using GPU, the default value of num_workers
|
688
|
-
will be 1.
|
699
|
+
will be 1.
|
689
700
|
- 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.
|
701
|
+
behavior is controlled by the type of the input when calling `model.predict()`. If the input is a `pandas.DataFrame`,
|
702
|
+
the behavior will be the same as `keep_order=True` and `output_with_input_features=False` before. If the input is a
|
703
|
+
`snowpark.DataFrame`, the behavior will be the same as `keep_order=False` and `output_with_input_features=True` before.
|
693
704
|
- 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
|
-
|
705
|
+
(`tensorflow.Module` and `tensorflow.keras.Model`) models, we no longer accept models whose input is a list of tensor
|
706
|
+
and output is a list of tensors. Instead, now we accept models whose input is 1 or more tensors as positional arguments,
|
707
|
+
and output is a tensor or a tuple of tensors. The input and output dataframe when predicting keep the same as before,
|
708
|
+
that is every column is an array feature and contains a tensor.
|
698
709
|
|
699
710
|
## 1.0.5 (2023-08-17)
|
700
711
|
|
@@ -707,7 +718,7 @@ and output is a list of tensors. Instead, now we accept models whose input is 1
|
|
707
718
|
|
708
719
|
- Model Registry: Restore the db/schema back to the session after `create_model_registry()`.
|
709
720
|
- 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.
|
721
|
+
and cannot be correctly dropped when deployment getting dropped.
|
711
722
|
- connection_params.SnowflakeLoginOptions(): Added support for `private_key_path`.
|
712
723
|
|
713
724
|
## 1.0.4 (2023-07-28)
|
@@ -728,7 +739,7 @@ and cannot be correctly dropped when deployment getting dropped.
|
|
728
739
|
### Behavior Changes
|
729
740
|
|
730
741
|
- 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.
|
742
|
+
instead, every ndarray will act as a feature(column) in the output.
|
732
743
|
|
733
744
|
### New Features
|
734
745
|
|
@@ -737,18 +748,18 @@ instead, every ndarray will act as a feature(column) in the output.
|
|
737
748
|
### Bug Fixes
|
738
749
|
|
739
750
|
- 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.
|
751
|
+
characters, the model registry cannot be created.
|
741
752
|
- Model Registry: Fix an issue that `get_model_description` returns with additional quotes.
|
742
753
|
- Model Registry: Fix incorrect error message when attempting to remove a unset tag of a model.
|
743
754
|
- Model Registry: Fix a typo in the default deployment table name.
|
744
755
|
- 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.
|
756
|
+
Snowflake `NUMBER(precision, scale)` data type where `scale = 0` will not lead to error, and will now correctly
|
757
|
+
recognized as `INT64` data type in model signature.
|
747
758
|
- Model Registry: Fix an issue that prevent model logged in the system whose default encoding is not UTF-8 compatible
|
748
|
-
from deploying.
|
759
|
+
from deploying.
|
749
760
|
- 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.
|
761
|
+
itself contains characters that are unable to be encoded using ASCII. It is currently not supported to deploy such a
|
762
|
+
model.
|
752
763
|
|
753
764
|
## 1.0.2 (2023-06-22)
|
754
765
|
|
@@ -757,16 +768,16 @@ model.
|
|
757
768
|
- Model Registry: Prohibit non-snowflake-native models from being logged.
|
758
769
|
- Model Registry: `_use_local_snowml` parameter in options of `deploy()` has been removed.
|
759
770
|
- 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.
|
771
|
+
With this set to `False` (default), the version of the local snowflake-ml-python library will be recorded and used when
|
772
|
+
deploying the model. With this set to `True`, local snowflake-ml-python library will be embedded into the logged model,
|
773
|
+
and will be used when you load or deploy the model.
|
763
774
|
|
764
775
|
### New Features
|
765
776
|
|
766
777
|
- 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.
|
778
|
+
to specify additional code paths to be imported when loading and deploying the model.
|
768
779
|
- 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.
|
780
|
+
any additional options when saving the model.
|
770
781
|
- Model Development: Added metrics:
|
771
782
|
- d2_absolute_error_score
|
772
783
|
- d2_pinball_score
|
@@ -785,14 +796,14 @@ any additional options when saving the model.
|
|
785
796
|
|
786
797
|
- Model Development: Changed Metrics APIs to imitate sklearn metrics modules:
|
787
798
|
- `accuracy_score()`, `confusion_matrix()`, `precision_recall_fscore_support()`, `precision_score()` methods move from
|
788
|
-
|
799
|
+
respective modules to `metrics.classification`.
|
789
800
|
- Model Registry: The default table/stage created by the Registry now uses "_SYSTEM_" as a prefix.
|
790
801
|
- Model Registry: `get_model_history()` method as been enhanced to include the history of model deployment.
|
791
802
|
|
792
803
|
### New Features
|
793
804
|
|
794
805
|
- 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.
|
806
|
+
to `True` will allow overwrite existing UDF with the same name when deploying.
|
796
807
|
- Model Development: Added metrics:
|
797
808
|
- f1_score
|
798
809
|
- fbeta_score
|
@@ -802,9 +813,9 @@ to `True` will allow overwrite existing UDF with the same name when deploying.
|
|
802
813
|
- log_loss
|
803
814
|
- precision_recall_curve
|
804
815
|
- 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.
|
816
|
+
allows the creation of a permanent deployment without needing to specify the UDF location.
|
806
817
|
- Model Registry: A new method `list_deployments()` has been added to enumerate all permanent deployments originating
|
807
|
-
from a specific model.
|
818
|
+
from a specific model.
|
808
819
|
- Model Registry: A new method `get_deployment()` has been added to fetch a deployment by its deployment name.
|
809
820
|
- Model Registry: A new method `delete_deployment()` has been added to remove an existing permanent deployment.
|
810
821
|
|
@@ -814,13 +825,13 @@ from a specific model.
|
|
814
825
|
|
815
826
|
- Model Registry: `predict()` method moves from Registry to ModelReference.
|
816
827
|
- 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.
|
828
|
+
default value of `False`. Setting this to `True` will have the same effect of uploading local SnowML code when executing
|
829
|
+
model in the warehouse.
|
819
830
|
- Model Registry: Removed `id` field from `ModelReference` constructor.
|
820
831
|
- Model Development: Preprocessing and Metrics move to the modeling package: `snowflake.ml.modeling.preprocessing` and
|
821
|
-
`snowflake.ml.modeling.metrics`.
|
832
|
+
`snowflake.ml.modeling.metrics`.
|
822
833
|
- Model Development: `get_sklearn_object()` method is renamed to `to_sklearn()`, `to_xgboost()`, and `to_lightgbm()` for
|
823
|
-
respective native models.
|
834
|
+
respective native models.
|
824
835
|
|
825
836
|
### New Features
|
826
837
|
|
@@ -882,7 +893,7 @@ respective native models.
|
|
882
893
|
### New Features
|
883
894
|
|
884
895
|
- Model Registry: Added support for delete_model. Use delete_artifact = False to not delete the underlying model data
|
885
|
-
but just unregister.
|
896
|
+
but just unregister.
|
886
897
|
|
887
898
|
## 0.2.2 (2023-04-11)
|
888
899
|
|