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.
Files changed (203) hide show
  1. snowflake/ml/_internal/env_utils.py +11 -1
  2. snowflake/ml/_internal/utils/identifier.py +3 -1
  3. snowflake/ml/_internal/utils/sql_identifier.py +2 -6
  4. snowflake/ml/feature_store/feature_store.py +151 -78
  5. snowflake/ml/feature_store/feature_view.py +12 -24
  6. snowflake/ml/fileset/sfcfs.py +56 -50
  7. snowflake/ml/fileset/stage_fs.py +48 -13
  8. snowflake/ml/model/_client/model/model_version_impl.py +2 -50
  9. snowflake/ml/model/_client/ops/model_ops.py +78 -29
  10. snowflake/ml/model/_client/sql/model.py +23 -2
  11. snowflake/ml/model/_client/sql/model_version.py +22 -1
  12. snowflake/ml/model/_model_composer/model_manifest/model_manifest.py +19 -54
  13. snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py +8 -1
  14. snowflake/ml/model/_model_composer/model_method/model_method.py +6 -10
  15. snowflake/ml/model/_packager/model_handlers/catboost.py +206 -0
  16. snowflake/ml/model/_packager/model_handlers/lightgbm.py +218 -0
  17. snowflake/ml/model/_packager/model_handlers/sklearn.py +3 -0
  18. snowflake/ml/model/_packager/model_meta/_core_requirements.py +1 -1
  19. snowflake/ml/model/_packager/model_meta/model_meta.py +36 -6
  20. snowflake/ml/model/_packager/model_meta/model_meta_schema.py +20 -1
  21. snowflake/ml/model/_packager/model_meta_migrator/migrator_plans.py +3 -1
  22. snowflake/ml/model/_packager/model_packager.py +2 -2
  23. snowflake/ml/model/{_model_composer/model_runtime/_runtime_requirements.py → _packager/model_runtime/_snowml_inference_alternative_requirements.py} +1 -1
  24. snowflake/ml/model/_packager/model_runtime/model_runtime.py +137 -0
  25. snowflake/ml/model/type_hints.py +21 -2
  26. snowflake/ml/modeling/_internal/estimator_utils.py +16 -11
  27. snowflake/ml/modeling/_internal/local_implementations/pandas_handlers.py +4 -1
  28. snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py +13 -14
  29. snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_handlers.py +5 -5
  30. snowflake/ml/modeling/calibration/calibrated_classifier_cv.py +195 -123
  31. snowflake/ml/modeling/cluster/affinity_propagation.py +195 -123
  32. snowflake/ml/modeling/cluster/agglomerative_clustering.py +195 -123
  33. snowflake/ml/modeling/cluster/birch.py +195 -123
  34. snowflake/ml/modeling/cluster/bisecting_k_means.py +195 -123
  35. snowflake/ml/modeling/cluster/dbscan.py +195 -123
  36. snowflake/ml/modeling/cluster/feature_agglomeration.py +195 -123
  37. snowflake/ml/modeling/cluster/k_means.py +195 -123
  38. snowflake/ml/modeling/cluster/mean_shift.py +195 -123
  39. snowflake/ml/modeling/cluster/mini_batch_k_means.py +195 -123
  40. snowflake/ml/modeling/cluster/optics.py +195 -123
  41. snowflake/ml/modeling/cluster/spectral_biclustering.py +195 -123
  42. snowflake/ml/modeling/cluster/spectral_clustering.py +195 -123
  43. snowflake/ml/modeling/cluster/spectral_coclustering.py +195 -123
  44. snowflake/ml/modeling/compose/column_transformer.py +195 -123
  45. snowflake/ml/modeling/compose/transformed_target_regressor.py +195 -123
  46. snowflake/ml/modeling/covariance/elliptic_envelope.py +195 -123
  47. snowflake/ml/modeling/covariance/empirical_covariance.py +195 -123
  48. snowflake/ml/modeling/covariance/graphical_lasso.py +195 -123
  49. snowflake/ml/modeling/covariance/graphical_lasso_cv.py +195 -123
  50. snowflake/ml/modeling/covariance/ledoit_wolf.py +195 -123
  51. snowflake/ml/modeling/covariance/min_cov_det.py +195 -123
  52. snowflake/ml/modeling/covariance/oas.py +195 -123
  53. snowflake/ml/modeling/covariance/shrunk_covariance.py +195 -123
  54. snowflake/ml/modeling/decomposition/dictionary_learning.py +195 -123
  55. snowflake/ml/modeling/decomposition/factor_analysis.py +195 -123
  56. snowflake/ml/modeling/decomposition/fast_ica.py +195 -123
  57. snowflake/ml/modeling/decomposition/incremental_pca.py +195 -123
  58. snowflake/ml/modeling/decomposition/kernel_pca.py +195 -123
  59. snowflake/ml/modeling/decomposition/mini_batch_dictionary_learning.py +195 -123
  60. snowflake/ml/modeling/decomposition/mini_batch_sparse_pca.py +195 -123
  61. snowflake/ml/modeling/decomposition/pca.py +195 -123
  62. snowflake/ml/modeling/decomposition/sparse_pca.py +195 -123
  63. snowflake/ml/modeling/decomposition/truncated_svd.py +195 -123
  64. snowflake/ml/modeling/discriminant_analysis/linear_discriminant_analysis.py +195 -123
  65. snowflake/ml/modeling/discriminant_analysis/quadratic_discriminant_analysis.py +195 -123
  66. snowflake/ml/modeling/ensemble/ada_boost_classifier.py +195 -123
  67. snowflake/ml/modeling/ensemble/ada_boost_regressor.py +195 -123
  68. snowflake/ml/modeling/ensemble/bagging_classifier.py +195 -123
  69. snowflake/ml/modeling/ensemble/bagging_regressor.py +195 -123
  70. snowflake/ml/modeling/ensemble/extra_trees_classifier.py +195 -123
  71. snowflake/ml/modeling/ensemble/extra_trees_regressor.py +195 -123
  72. snowflake/ml/modeling/ensemble/gradient_boosting_classifier.py +195 -123
  73. snowflake/ml/modeling/ensemble/gradient_boosting_regressor.py +195 -123
  74. snowflake/ml/modeling/ensemble/hist_gradient_boosting_classifier.py +195 -123
  75. snowflake/ml/modeling/ensemble/hist_gradient_boosting_regressor.py +195 -123
  76. snowflake/ml/modeling/ensemble/isolation_forest.py +195 -123
  77. snowflake/ml/modeling/ensemble/random_forest_classifier.py +195 -123
  78. snowflake/ml/modeling/ensemble/random_forest_regressor.py +195 -123
  79. snowflake/ml/modeling/ensemble/stacking_regressor.py +195 -123
  80. snowflake/ml/modeling/ensemble/voting_classifier.py +195 -123
  81. snowflake/ml/modeling/ensemble/voting_regressor.py +195 -123
  82. snowflake/ml/modeling/feature_selection/generic_univariate_select.py +195 -123
  83. snowflake/ml/modeling/feature_selection/select_fdr.py +195 -123
  84. snowflake/ml/modeling/feature_selection/select_fpr.py +195 -123
  85. snowflake/ml/modeling/feature_selection/select_fwe.py +195 -123
  86. snowflake/ml/modeling/feature_selection/select_k_best.py +195 -123
  87. snowflake/ml/modeling/feature_selection/select_percentile.py +195 -123
  88. snowflake/ml/modeling/feature_selection/sequential_feature_selector.py +195 -123
  89. snowflake/ml/modeling/feature_selection/variance_threshold.py +195 -123
  90. snowflake/ml/modeling/framework/_utils.py +8 -1
  91. snowflake/ml/modeling/framework/base.py +9 -1
  92. snowflake/ml/modeling/gaussian_process/gaussian_process_classifier.py +195 -123
  93. snowflake/ml/modeling/gaussian_process/gaussian_process_regressor.py +195 -123
  94. snowflake/ml/modeling/impute/iterative_imputer.py +195 -123
  95. snowflake/ml/modeling/impute/knn_imputer.py +195 -123
  96. snowflake/ml/modeling/impute/missing_indicator.py +195 -123
  97. snowflake/ml/modeling/kernel_approximation/additive_chi2_sampler.py +195 -123
  98. snowflake/ml/modeling/kernel_approximation/nystroem.py +195 -123
  99. snowflake/ml/modeling/kernel_approximation/polynomial_count_sketch.py +195 -123
  100. snowflake/ml/modeling/kernel_approximation/rbf_sampler.py +195 -123
  101. snowflake/ml/modeling/kernel_approximation/skewed_chi2_sampler.py +195 -123
  102. snowflake/ml/modeling/kernel_ridge/kernel_ridge.py +195 -123
  103. snowflake/ml/modeling/lightgbm/lgbm_classifier.py +195 -123
  104. snowflake/ml/modeling/lightgbm/lgbm_regressor.py +195 -123
  105. snowflake/ml/modeling/linear_model/ard_regression.py +195 -123
  106. snowflake/ml/modeling/linear_model/bayesian_ridge.py +195 -123
  107. snowflake/ml/modeling/linear_model/elastic_net.py +195 -123
  108. snowflake/ml/modeling/linear_model/elastic_net_cv.py +195 -123
  109. snowflake/ml/modeling/linear_model/gamma_regressor.py +195 -123
  110. snowflake/ml/modeling/linear_model/huber_regressor.py +195 -123
  111. snowflake/ml/modeling/linear_model/lars.py +195 -123
  112. snowflake/ml/modeling/linear_model/lars_cv.py +195 -123
  113. snowflake/ml/modeling/linear_model/lasso.py +195 -123
  114. snowflake/ml/modeling/linear_model/lasso_cv.py +195 -123
  115. snowflake/ml/modeling/linear_model/lasso_lars.py +195 -123
  116. snowflake/ml/modeling/linear_model/lasso_lars_cv.py +195 -123
  117. snowflake/ml/modeling/linear_model/lasso_lars_ic.py +195 -123
  118. snowflake/ml/modeling/linear_model/linear_regression.py +195 -123
  119. snowflake/ml/modeling/linear_model/logistic_regression.py +195 -123
  120. snowflake/ml/modeling/linear_model/logistic_regression_cv.py +195 -123
  121. snowflake/ml/modeling/linear_model/multi_task_elastic_net.py +195 -123
  122. snowflake/ml/modeling/linear_model/multi_task_elastic_net_cv.py +195 -123
  123. snowflake/ml/modeling/linear_model/multi_task_lasso.py +195 -123
  124. snowflake/ml/modeling/linear_model/multi_task_lasso_cv.py +195 -123
  125. snowflake/ml/modeling/linear_model/orthogonal_matching_pursuit.py +195 -123
  126. snowflake/ml/modeling/linear_model/passive_aggressive_classifier.py +195 -123
  127. snowflake/ml/modeling/linear_model/passive_aggressive_regressor.py +195 -123
  128. snowflake/ml/modeling/linear_model/perceptron.py +195 -123
  129. snowflake/ml/modeling/linear_model/poisson_regressor.py +195 -123
  130. snowflake/ml/modeling/linear_model/ransac_regressor.py +195 -123
  131. snowflake/ml/modeling/linear_model/ridge.py +195 -123
  132. snowflake/ml/modeling/linear_model/ridge_classifier.py +195 -123
  133. snowflake/ml/modeling/linear_model/ridge_classifier_cv.py +195 -123
  134. snowflake/ml/modeling/linear_model/ridge_cv.py +195 -123
  135. snowflake/ml/modeling/linear_model/sgd_classifier.py +195 -123
  136. snowflake/ml/modeling/linear_model/sgd_one_class_svm.py +195 -123
  137. snowflake/ml/modeling/linear_model/sgd_regressor.py +195 -123
  138. snowflake/ml/modeling/linear_model/theil_sen_regressor.py +195 -123
  139. snowflake/ml/modeling/linear_model/tweedie_regressor.py +195 -123
  140. snowflake/ml/modeling/manifold/isomap.py +195 -123
  141. snowflake/ml/modeling/manifold/mds.py +195 -123
  142. snowflake/ml/modeling/manifold/spectral_embedding.py +195 -123
  143. snowflake/ml/modeling/manifold/tsne.py +195 -123
  144. snowflake/ml/modeling/mixture/bayesian_gaussian_mixture.py +195 -123
  145. snowflake/ml/modeling/mixture/gaussian_mixture.py +195 -123
  146. snowflake/ml/modeling/model_selection/grid_search_cv.py +42 -18
  147. snowflake/ml/modeling/model_selection/randomized_search_cv.py +42 -18
  148. snowflake/ml/modeling/multiclass/one_vs_one_classifier.py +195 -123
  149. snowflake/ml/modeling/multiclass/one_vs_rest_classifier.py +195 -123
  150. snowflake/ml/modeling/multiclass/output_code_classifier.py +195 -123
  151. snowflake/ml/modeling/naive_bayes/bernoulli_nb.py +195 -123
  152. snowflake/ml/modeling/naive_bayes/categorical_nb.py +195 -123
  153. snowflake/ml/modeling/naive_bayes/complement_nb.py +195 -123
  154. snowflake/ml/modeling/naive_bayes/gaussian_nb.py +195 -123
  155. snowflake/ml/modeling/naive_bayes/multinomial_nb.py +195 -123
  156. snowflake/ml/modeling/neighbors/k_neighbors_classifier.py +195 -123
  157. snowflake/ml/modeling/neighbors/k_neighbors_regressor.py +195 -123
  158. snowflake/ml/modeling/neighbors/kernel_density.py +195 -123
  159. snowflake/ml/modeling/neighbors/local_outlier_factor.py +195 -123
  160. snowflake/ml/modeling/neighbors/nearest_centroid.py +195 -123
  161. snowflake/ml/modeling/neighbors/nearest_neighbors.py +195 -123
  162. snowflake/ml/modeling/neighbors/neighborhood_components_analysis.py +195 -123
  163. snowflake/ml/modeling/neighbors/radius_neighbors_classifier.py +195 -123
  164. snowflake/ml/modeling/neighbors/radius_neighbors_regressor.py +195 -123
  165. snowflake/ml/modeling/neural_network/bernoulli_rbm.py +195 -123
  166. snowflake/ml/modeling/neural_network/mlp_classifier.py +195 -123
  167. snowflake/ml/modeling/neural_network/mlp_regressor.py +195 -123
  168. snowflake/ml/modeling/pipeline/pipeline.py +4 -4
  169. snowflake/ml/modeling/preprocessing/binarizer.py +1 -5
  170. snowflake/ml/modeling/preprocessing/k_bins_discretizer.py +1 -5
  171. snowflake/ml/modeling/preprocessing/label_encoder.py +1 -5
  172. snowflake/ml/modeling/preprocessing/max_abs_scaler.py +1 -5
  173. snowflake/ml/modeling/preprocessing/min_max_scaler.py +10 -12
  174. snowflake/ml/modeling/preprocessing/normalizer.py +1 -5
  175. snowflake/ml/modeling/preprocessing/one_hot_encoder.py +1 -5
  176. snowflake/ml/modeling/preprocessing/ordinal_encoder.py +1 -5
  177. snowflake/ml/modeling/preprocessing/polynomial_features.py +195 -123
  178. snowflake/ml/modeling/preprocessing/robust_scaler.py +1 -5
  179. snowflake/ml/modeling/preprocessing/standard_scaler.py +11 -11
  180. snowflake/ml/modeling/semi_supervised/label_propagation.py +195 -123
  181. snowflake/ml/modeling/semi_supervised/label_spreading.py +195 -123
  182. snowflake/ml/modeling/svm/linear_svc.py +195 -123
  183. snowflake/ml/modeling/svm/linear_svr.py +195 -123
  184. snowflake/ml/modeling/svm/nu_svc.py +195 -123
  185. snowflake/ml/modeling/svm/nu_svr.py +195 -123
  186. snowflake/ml/modeling/svm/svc.py +195 -123
  187. snowflake/ml/modeling/svm/svr.py +195 -123
  188. snowflake/ml/modeling/tree/decision_tree_classifier.py +195 -123
  189. snowflake/ml/modeling/tree/decision_tree_regressor.py +195 -123
  190. snowflake/ml/modeling/tree/extra_tree_classifier.py +195 -123
  191. snowflake/ml/modeling/tree/extra_tree_regressor.py +195 -123
  192. snowflake/ml/modeling/xgboost/xgb_classifier.py +195 -123
  193. snowflake/ml/modeling/xgboost/xgb_regressor.py +195 -123
  194. snowflake/ml/modeling/xgboost/xgbrf_classifier.py +195 -123
  195. snowflake/ml/modeling/xgboost/xgbrf_regressor.py +195 -123
  196. snowflake/ml/registry/registry.py +1 -1
  197. snowflake/ml/version.py +1 -1
  198. {snowflake_ml_python-1.4.0.dist-info → snowflake_ml_python-1.4.1.dist-info}/METADATA +68 -57
  199. {snowflake_ml_python-1.4.0.dist-info → snowflake_ml_python-1.4.1.dist-info}/RECORD +202 -200
  200. snowflake/ml/model/_model_composer/model_runtime/model_runtime.py +0 -97
  201. {snowflake_ml_python-1.4.0.dist-info → snowflake_ml_python-1.4.1.dist-info}/LICENSE.txt +0 -0
  202. {snowflake_ml_python-1.4.0.dist-info → snowflake_ml_python-1.4.1.dist-info}/WHEEL +0 -0
  203. {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.0
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 <2,>=1.0.0
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 ==3.3.5 ; extra == 'all'
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 ==3.3.5 ; extra == '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.0
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
- and LLM with GPU on SPCS.
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
- type feature in the signature, if providing a INT64 dataframe but all values are within the range, it would not fail.
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
- instead of only `List` of them.
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
- and output is a tensor or a tuple of tensors. The input and output dataframe when predicting keep the same as before,
697
- that is every column is an array feature and contains a tensor.
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
- respective modules to `metrics.classification`.
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