snowflake-ml-python 1.6.3__py3-none-any.whl → 1.7.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/telemetry.py +4 -2
- snowflake/ml/_internal/utils/import_utils.py +31 -0
- snowflake/ml/_internal/utils/snowpark_dataframe_utils.py +13 -0
- snowflake/ml/data/_internal/arrow_ingestor.py +8 -0
- snowflake/ml/data/data_connector.py +1 -1
- snowflake/ml/data/torch_utils.py +33 -14
- snowflake/ml/feature_store/examples/airline_features/features/plane_features.py +5 -3
- snowflake/ml/feature_store/examples/airline_features/features/weather_features.py +7 -5
- snowflake/ml/feature_store/examples/citibike_trip_features/features/station_feature.py +4 -2
- snowflake/ml/feature_store/examples/citibike_trip_features/features/trip_feature.py +3 -1
- snowflake/ml/feature_store/examples/example_helper.py +6 -3
- snowflake/ml/feature_store/examples/new_york_taxi_features/features/location_features.py +4 -2
- snowflake/ml/feature_store/examples/new_york_taxi_features/features/trip_features.py +4 -2
- snowflake/ml/feature_store/examples/wine_quality_features/features/managed_wine_features.py +3 -1
- snowflake/ml/feature_store/examples/wine_quality_features/features/static_wine_features.py +3 -1
- snowflake/ml/feature_store/feature_store.py +1 -2
- snowflake/ml/feature_store/feature_view.py +5 -1
- snowflake/ml/model/_client/model/model_version_impl.py +144 -10
- snowflake/ml/model/_client/ops/model_ops.py +25 -6
- snowflake/ml/model/_client/ops/service_ops.py +33 -28
- snowflake/ml/model/_client/service/model_deployment_spec.py +19 -8
- snowflake/ml/model/_client/service/model_deployment_spec_schema.py +3 -1
- snowflake/ml/model/_client/sql/model.py +14 -0
- snowflake/ml/model/_client/sql/service.py +6 -18
- snowflake/ml/model/_model_composer/model_composer.py +2 -0
- snowflake/ml/model/_model_composer/model_manifest/model_manifest.py +4 -0
- snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py +1 -0
- snowflake/ml/model/_model_composer/model_method/model_method.py +1 -1
- snowflake/ml/model/_packager/model_handlers/_utils.py +5 -1
- snowflake/ml/model/_packager/model_handlers/catboost.py +3 -6
- snowflake/ml/model/_packager/model_handlers/custom.py +2 -0
- snowflake/ml/model/_packager/model_handlers/huggingface_pipeline.py +10 -1
- snowflake/ml/model/_packager/model_handlers/lightgbm.py +3 -6
- snowflake/ml/model/_packager/model_handlers/sentence_transformers.py +8 -1
- snowflake/ml/model/_packager/model_handlers/sklearn.py +3 -6
- snowflake/ml/model/_packager/model_handlers/snowmlmodel.py +7 -65
- snowflake/ml/model/_packager/model_handlers/xgboost.py +10 -40
- snowflake/ml/model/_packager/model_packager.py +0 -11
- snowflake/ml/model/_packager/{model_handlers/model_objective_utils.py → model_task/model_task_utils.py} +13 -25
- snowflake/ml/model/_signatures/pandas_handler.py +16 -0
- snowflake/ml/model/custom_model.py +47 -7
- snowflake/ml/model/model_signature.py +2 -0
- snowflake/ml/model/type_hints.py +8 -0
- snowflake/ml/modeling/_internal/estimator_utils.py +13 -0
- snowflake/ml/modeling/_internal/local_implementations/pandas_handlers.py +7 -2
- snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py +16 -5
- snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_handlers.py +8 -2
- snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_trainer.py +9 -3
- snowflake/ml/modeling/calibration/calibrated_classifier_cv.py +1 -8
- snowflake/ml/modeling/cluster/agglomerative_clustering.py +17 -19
- snowflake/ml/modeling/cluster/dbscan.py +5 -2
- snowflake/ml/modeling/cluster/feature_agglomeration.py +7 -19
- snowflake/ml/modeling/cluster/k_means.py +14 -19
- snowflake/ml/modeling/cluster/mini_batch_k_means.py +3 -3
- snowflake/ml/modeling/cluster/optics.py +6 -6
- snowflake/ml/modeling/cluster/spectral_clustering.py +4 -3
- snowflake/ml/modeling/compose/column_transformer.py +15 -5
- snowflake/ml/modeling/compose/transformed_target_regressor.py +7 -6
- snowflake/ml/modeling/covariance/elliptic_envelope.py +1 -1
- snowflake/ml/modeling/covariance/graphical_lasso_cv.py +1 -1
- snowflake/ml/modeling/covariance/min_cov_det.py +2 -2
- snowflake/ml/modeling/covariance/oas.py +1 -1
- snowflake/ml/modeling/decomposition/kernel_pca.py +2 -2
- snowflake/ml/modeling/decomposition/mini_batch_dictionary_learning.py +5 -12
- snowflake/ml/modeling/decomposition/mini_batch_sparse_pca.py +5 -12
- snowflake/ml/modeling/decomposition/pca.py +28 -15
- snowflake/ml/modeling/discriminant_analysis/linear_discriminant_analysis.py +6 -0
- snowflake/ml/modeling/ensemble/ada_boost_classifier.py +1 -12
- snowflake/ml/modeling/ensemble/ada_boost_regressor.py +1 -11
- snowflake/ml/modeling/ensemble/bagging_classifier.py +1 -8
- snowflake/ml/modeling/ensemble/bagging_regressor.py +1 -8
- snowflake/ml/modeling/ensemble/extra_trees_classifier.py +21 -2
- snowflake/ml/modeling/ensemble/extra_trees_regressor.py +18 -2
- snowflake/ml/modeling/ensemble/gradient_boosting_classifier.py +2 -0
- snowflake/ml/modeling/ensemble/gradient_boosting_regressor.py +2 -0
- snowflake/ml/modeling/ensemble/hist_gradient_boosting_classifier.py +21 -8
- snowflake/ml/modeling/ensemble/hist_gradient_boosting_regressor.py +21 -11
- snowflake/ml/modeling/ensemble/random_forest_classifier.py +21 -2
- snowflake/ml/modeling/ensemble/random_forest_regressor.py +18 -2
- snowflake/ml/modeling/feature_selection/generic_univariate_select.py +2 -1
- snowflake/ml/modeling/feature_selection/sequential_feature_selector.py +5 -3
- snowflake/ml/modeling/kernel_ridge/kernel_ridge.py +2 -2
- snowflake/ml/modeling/linear_model/ard_regression.py +5 -10
- snowflake/ml/modeling/linear_model/bayesian_ridge.py +5 -11
- snowflake/ml/modeling/linear_model/elastic_net.py +3 -0
- snowflake/ml/modeling/linear_model/elastic_net_cv.py +1 -1
- snowflake/ml/modeling/linear_model/lars.py +0 -10
- snowflake/ml/modeling/linear_model/lars_cv.py +1 -11
- snowflake/ml/modeling/linear_model/lasso_cv.py +1 -1
- snowflake/ml/modeling/linear_model/lasso_lars.py +0 -10
- snowflake/ml/modeling/linear_model/lasso_lars_cv.py +1 -11
- snowflake/ml/modeling/linear_model/lasso_lars_ic.py +0 -10
- snowflake/ml/modeling/linear_model/logistic_regression.py +28 -22
- snowflake/ml/modeling/linear_model/logistic_regression_cv.py +30 -24
- snowflake/ml/modeling/linear_model/multi_task_elastic_net_cv.py +1 -1
- snowflake/ml/modeling/linear_model/multi_task_lasso_cv.py +1 -1
- snowflake/ml/modeling/linear_model/orthogonal_matching_pursuit.py +4 -13
- snowflake/ml/modeling/linear_model/passive_aggressive_classifier.py +4 -4
- snowflake/ml/modeling/linear_model/passive_aggressive_regressor.py +1 -1
- snowflake/ml/modeling/linear_model/perceptron.py +3 -3
- snowflake/ml/modeling/linear_model/ransac_regressor.py +3 -2
- snowflake/ml/modeling/linear_model/ridge_classifier_cv.py +14 -6
- snowflake/ml/modeling/linear_model/ridge_cv.py +17 -11
- snowflake/ml/modeling/linear_model/sgd_classifier.py +2 -2
- snowflake/ml/modeling/linear_model/sgd_one_class_svm.py +5 -1
- snowflake/ml/modeling/linear_model/sgd_regressor.py +12 -3
- snowflake/ml/modeling/manifold/isomap.py +1 -1
- snowflake/ml/modeling/manifold/mds.py +3 -3
- snowflake/ml/modeling/manifold/tsne.py +10 -4
- snowflake/ml/modeling/metrics/classification.py +12 -16
- snowflake/ml/modeling/metrics/ranking.py +3 -3
- snowflake/ml/modeling/metrics/regression.py +3 -3
- snowflake/ml/modeling/naive_bayes/bernoulli_nb.py +3 -3
- snowflake/ml/modeling/naive_bayes/categorical_nb.py +3 -3
- snowflake/ml/modeling/naive_bayes/complement_nb.py +3 -3
- snowflake/ml/modeling/naive_bayes/multinomial_nb.py +3 -3
- snowflake/ml/modeling/neighbors/k_neighbors_classifier.py +10 -4
- snowflake/ml/modeling/neighbors/k_neighbors_regressor.py +5 -2
- snowflake/ml/modeling/neighbors/local_outlier_factor.py +2 -2
- snowflake/ml/modeling/neighbors/nearest_centroid.py +7 -14
- snowflake/ml/modeling/neighbors/nearest_neighbors.py +1 -1
- snowflake/ml/modeling/neighbors/radius_neighbors_classifier.py +6 -1
- snowflake/ml/modeling/neighbors/radius_neighbors_regressor.py +1 -1
- snowflake/ml/modeling/neural_network/mlp_classifier.py +7 -1
- snowflake/ml/modeling/neural_network/mlp_regressor.py +3 -0
- snowflake/ml/modeling/pipeline/pipeline.py +16 -14
- snowflake/ml/modeling/preprocessing/one_hot_encoder.py +8 -4
- snowflake/ml/modeling/preprocessing/ordinal_encoder.py +9 -7
- snowflake/ml/modeling/svm/linear_svc.py +25 -16
- snowflake/ml/modeling/svm/linear_svr.py +23 -17
- snowflake/ml/modeling/svm/nu_svc.py +5 -3
- snowflake/ml/modeling/svm/nu_svr.py +3 -1
- snowflake/ml/modeling/svm/svc.py +9 -5
- snowflake/ml/modeling/svm/svr.py +3 -1
- snowflake/ml/modeling/tree/decision_tree_classifier.py +21 -2
- snowflake/ml/modeling/tree/decision_tree_regressor.py +18 -2
- snowflake/ml/modeling/tree/extra_tree_classifier.py +28 -9
- snowflake/ml/modeling/tree/extra_tree_regressor.py +18 -2
- snowflake/ml/monitoring/_client/{monitor_sql_client.py → model_monitor_sql_client.py} +1 -1
- snowflake/ml/monitoring/{_client → _manager}/model_monitor_manager.py +9 -8
- snowflake/ml/monitoring/{_client/model_monitor.py → model_monitor.py} +3 -3
- snowflake/ml/registry/_manager/model_manager.py +15 -1
- snowflake/ml/registry/registry.py +15 -8
- snowflake/ml/version.py +1 -1
- {snowflake_ml_python-1.6.3.dist-info → snowflake_ml_python-1.7.0.dist-info}/METADATA +81 -9
- {snowflake_ml_python-1.6.3.dist-info → snowflake_ml_python-1.7.0.dist-info}/RECORD +150 -150
- {snowflake_ml_python-1.6.3.dist-info → snowflake_ml_python-1.7.0.dist-info}/WHEEL +1 -1
- /snowflake/ml/monitoring/{_client/model_monitor_version.py → model_monitor_version.py} +0 -0
- {snowflake_ml_python-1.6.3.dist-info → snowflake_ml_python-1.7.0.dist-info}/LICENSE.txt +0 -0
- {snowflake_ml_python-1.6.3.dist-info → snowflake_ml_python-1.7.0.dist-info}/top_level.txt +0 -0
@@ -14,11 +14,8 @@ from snowflake.ml.model import (
|
|
14
14
|
type_hints as model_types,
|
15
15
|
)
|
16
16
|
from snowflake.ml.model._client.model import model_version_impl
|
17
|
-
from snowflake.ml.monitoring
|
18
|
-
|
19
|
-
model_monitor_manager,
|
20
|
-
model_monitor_version,
|
21
|
-
)
|
17
|
+
from snowflake.ml.monitoring import model_monitor, model_monitor_version
|
18
|
+
from snowflake.ml.monitoring._manager import model_monitor_manager
|
22
19
|
from snowflake.ml.monitoring.entities import model_monitor_config
|
23
20
|
from snowflake.ml.registry._manager import model_manager
|
24
21
|
from snowflake.snowpark import session
|
@@ -107,6 +104,7 @@ class Registry:
|
|
107
104
|
metrics: Optional[Dict[str, Any]] = None,
|
108
105
|
conda_dependencies: Optional[List[str]] = None,
|
109
106
|
pip_requirements: Optional[List[str]] = None,
|
107
|
+
target_platforms: Optional[List[model_types.SupportedTargetPlatformType]] = None,
|
110
108
|
python_version: Optional[str] = None,
|
111
109
|
signatures: Optional[Dict[str, model_signature.ModelSignature]] = None,
|
112
110
|
sample_input_data: Optional[model_types.SupportedDataType] = None,
|
@@ -128,14 +126,17 @@ class Registry:
|
|
128
126
|
metrics: A JSON serializable dictionary containing metrics linked to the model version. Defaults to None.
|
129
127
|
signatures: Model data signatures for inputs and outputs for various target methods. If it is None,
|
130
128
|
sample_input_data would be used to infer the signatures for those models that cannot automatically
|
131
|
-
infer the signature.
|
132
|
-
sample_input_data: Sample input data to infer model signatures from.
|
129
|
+
infer the signature. Defaults to None.
|
130
|
+
sample_input_data: Sample input data to infer model signatures from.
|
131
|
+
It would also be used as background data in explanation and to capture data lineage. Defaults to None.
|
133
132
|
conda_dependencies: List of Conda package specifications. Use "[channel::]package [operator version]" syntax
|
134
133
|
to specify a dependency. It is a recommended way to specify your dependencies using conda. When channel
|
135
134
|
is not specified, Snowflake Anaconda Channel will be used. Defaults to None.
|
136
135
|
pip_requirements: List of Pip package specifications. Defaults to None.
|
137
136
|
Currently it is not supported since Model can only executed in Snowflake Warehouse where all
|
138
137
|
dependencies are required to be retrieved from Snowflake Anaconda Channel.
|
138
|
+
target_platforms: List of target platforms to run the model. The only acceptable inputs are a combination of
|
139
|
+
{"WAREHOUSE", "SNOWPARK_CONTAINER_SERVICES"}. Defaults to None.
|
139
140
|
python_version: Python version in which the model is run. Defaults to None.
|
140
141
|
code_paths: List of directories containing code to import. Defaults to None.
|
141
142
|
ext_modules: List of external modules to pickle with the model object.
|
@@ -190,6 +191,7 @@ class Registry:
|
|
190
191
|
"metrics",
|
191
192
|
"conda_dependencies",
|
192
193
|
"pip_requirements",
|
194
|
+
"target_platforms",
|
193
195
|
"python_version",
|
194
196
|
"signatures",
|
195
197
|
],
|
@@ -204,6 +206,7 @@ class Registry:
|
|
204
206
|
metrics: Optional[Dict[str, Any]] = None,
|
205
207
|
conda_dependencies: Optional[List[str]] = None,
|
206
208
|
pip_requirements: Optional[List[str]] = None,
|
209
|
+
target_platforms: Optional[List[model_types.SupportedTargetPlatformType]] = None,
|
207
210
|
python_version: Optional[str] = None,
|
208
211
|
signatures: Optional[Dict[str, model_signature.ModelSignature]] = None,
|
209
212
|
sample_input_data: Optional[model_types.SupportedDataType] = None,
|
@@ -229,13 +232,16 @@ class Registry:
|
|
229
232
|
signatures: Model data signatures for inputs and outputs for various target methods. If it is None,
|
230
233
|
sample_input_data would be used to infer the signatures for those models that cannot automatically
|
231
234
|
infer the signature. If not None, sample_input_data should not be specified. Defaults to None.
|
232
|
-
sample_input_data: Sample input data to infer model signatures from.
|
235
|
+
sample_input_data: Sample input data to infer model signatures from.
|
236
|
+
It would also be used as background data in explanation and to capture data lineage. Defaults to None.
|
233
237
|
conda_dependencies: List of Conda package specifications. Use "[channel::]package [operator version]" syntax
|
234
238
|
to specify a dependency. It is a recommended way to specify your dependencies using conda. When channel
|
235
239
|
is not specified, Snowflake Anaconda Channel will be used. Defaults to None.
|
236
240
|
pip_requirements: List of Pip package specifications. Defaults to None.
|
237
241
|
Currently it is not supported since Model can only executed in Snowflake Warehouse where all
|
238
242
|
dependencies are required to be retrieved from Snowflake Anaconda Channel.
|
243
|
+
target_platforms: List of target platforms to run the model. The only acceptable inputs are a combination of
|
244
|
+
{"WAREHOUSE", "SNOWPARK_CONTAINER_SERVICES"}. Defaults to None.
|
239
245
|
python_version: Python version in which the model is run. Defaults to None.
|
240
246
|
code_paths: List of directories containing code to import. Defaults to None.
|
241
247
|
ext_modules: List of external modules to pickle with the model object.
|
@@ -287,6 +293,7 @@ class Registry:
|
|
287
293
|
metrics=metrics,
|
288
294
|
conda_dependencies=conda_dependencies,
|
289
295
|
pip_requirements=pip_requirements,
|
296
|
+
target_platforms=target_platforms,
|
290
297
|
python_version=python_version,
|
291
298
|
signatures=signatures,
|
292
299
|
sample_input_data=sample_input_data,
|
snowflake/ml/version.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
VERSION="1.
|
1
|
+
VERSION="1.7.0"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: snowflake-ml-python
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.7.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:
|
@@ -220,7 +220,6 @@ Classifier: Intended Audience :: Information Technology
|
|
220
220
|
Classifier: Intended Audience :: System Administrators
|
221
221
|
Classifier: License :: OSI Approved :: Apache Software License
|
222
222
|
Classifier: Operating System :: OS Independent
|
223
|
-
Classifier: Programming Language :: Python :: 3.8
|
224
223
|
Classifier: Programming Language :: Python :: 3.9
|
225
224
|
Classifier: Programming Language :: Python :: 3.10
|
226
225
|
Classifier: Programming Language :: Python :: 3.11
|
@@ -230,7 +229,7 @@ Classifier: Topic :: Software Development :: Libraries
|
|
230
229
|
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
231
230
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
232
231
|
Classifier: Topic :: Scientific/Engineering :: Information Analysis
|
233
|
-
Requires-Python: <3.12,>=3.
|
232
|
+
Requires-Python: <3.12,>=3.9
|
234
233
|
Description-Content-Type: text/markdown
|
235
234
|
License-File: LICENSE.txt
|
236
235
|
Requires-Dist: absl-py <2,>=0.15
|
@@ -247,13 +246,13 @@ Requires-Dist: pytimeparse <2,>=1.1.8
|
|
247
246
|
Requires-Dist: pyyaml <7,>=6.0
|
248
247
|
Requires-Dist: retrying <2,>=1.3.3
|
249
248
|
Requires-Dist: s3fs <2024,>=2022.11
|
250
|
-
Requires-Dist: scikit-learn <1.6,>=1.
|
249
|
+
Requires-Dist: scikit-learn <1.6,>=1.4
|
251
250
|
Requires-Dist: scipy <2,>=1.9
|
252
251
|
Requires-Dist: snowflake-connector-python[pandas] <4,>=3.5.0
|
253
252
|
Requires-Dist: snowflake-snowpark-python <2,>=1.17.0
|
254
253
|
Requires-Dist: sqlparse <1,>=0.4
|
255
254
|
Requires-Dist: typing-extensions <5,>=4.1.0
|
256
|
-
Requires-Dist: xgboost <
|
255
|
+
Requires-Dist: xgboost <3,>=1.7.3
|
257
256
|
Provides-Extra: all
|
258
257
|
Requires-Dist: catboost <2,>=1.2.0 ; extra == 'all'
|
259
258
|
Requires-Dist: lightgbm <5,>=3.3.5 ; extra == 'all'
|
@@ -261,7 +260,7 @@ Requires-Dist: mlflow <2.4,>=2.1.0 ; extra == 'all'
|
|
261
260
|
Requires-Dist: peft <1,>=0.5.0 ; extra == 'all'
|
262
261
|
Requires-Dist: sentence-transformers <3,>=2.2.2 ; extra == 'all'
|
263
262
|
Requires-Dist: sentencepiece <1,>=0.1.95 ; extra == 'all'
|
264
|
-
Requires-Dist: shap <1,>=0.
|
263
|
+
Requires-Dist: shap <1,>=0.46.0 ; extra == 'all'
|
265
264
|
Requires-Dist: tensorflow <3,>=2.10 ; extra == 'all'
|
266
265
|
Requires-Dist: tokenizers <1,>=0.10 ; extra == 'all'
|
267
266
|
Requires-Dist: torch <2.3.0,>=2.0.1 ; extra == 'all'
|
@@ -276,7 +275,7 @@ Requires-Dist: peft <1,>=0.5.0 ; extra == 'llm'
|
|
276
275
|
Provides-Extra: mlflow
|
277
276
|
Requires-Dist: mlflow <2.4,>=2.1.0 ; extra == 'mlflow'
|
278
277
|
Provides-Extra: shap
|
279
|
-
Requires-Dist: shap <1,>=0.
|
278
|
+
Requires-Dist: shap <1,>=0.46.0 ; extra == 'shap'
|
280
279
|
Provides-Extra: tensorflow
|
281
280
|
Requires-Dist: tensorflow <3,>=2.10 ; extra == 'tensorflow'
|
282
281
|
Provides-Extra: torch
|
@@ -336,7 +335,7 @@ If you don't have a Snowflake account yet, you can [sign up for a 30-day free tr
|
|
336
335
|
Follow the [installation instructions](https://docs.snowflake.com/en/developer-guide/snowpark-ml/index#installing-snowpark-ml)
|
337
336
|
in the Snowflake documentation.
|
338
337
|
|
339
|
-
Python versions 3.
|
338
|
+
Python versions 3.9 to 3.11 are supported. You can use [miniconda](https://docs.conda.io/en/latest/miniconda.html) or
|
340
339
|
[anaconda](https://www.anaconda.com/) to create a Conda environment (recommended),
|
341
340
|
or [virtualenv](https://docs.python.org/3/tutorial/venv.html) to create a virtual environment.
|
342
341
|
|
@@ -373,7 +372,77 @@ be compatibility issues. Server-side functionality that `snowflake-ml-python` de
|
|
373
372
|
|
374
373
|
# Release History
|
375
374
|
|
376
|
-
## 1.
|
375
|
+
## 1.7.0
|
376
|
+
|
377
|
+
### Behavior Change
|
378
|
+
|
379
|
+
- Generic: Require python >= 3.9.
|
380
|
+
- Data Connector: Update `to_torch_dataset` and `to_torch_datapipe` to add a dimension for scalar data.
|
381
|
+
This allows for more seamless integration with PyTorch `DataLoader`, which creates batches by stacking inputs of each batch.
|
382
|
+
|
383
|
+
Examples:
|
384
|
+
|
385
|
+
```python
|
386
|
+
ds = connector.to_torch_dataset(shuffle=False, batch_size=3)
|
387
|
+
```
|
388
|
+
|
389
|
+
- Input: "col1": [10, 11, 12]
|
390
|
+
- Previous batch: array([10., 11., 12.]) with shape (3,)
|
391
|
+
- New batch: array([[10.], [11.], [12.]]) with shape (3, 1)
|
392
|
+
|
393
|
+
- Input: "col2": [[0, 100], [1, 110], [2, 200]]
|
394
|
+
- Previous batch: array([[ 0, 100], [ 1, 110], [ 2, 200]]) with shape (3,2)
|
395
|
+
- New batch: No change
|
396
|
+
|
397
|
+
- Model Registry: External access integrations are optional when creating a model inference service in
|
398
|
+
Snowflake >= 8.40.0.
|
399
|
+
- Model Registry: Deprecate `build_external_access_integration` with `build_external_access_integrations` in
|
400
|
+
`ModelVersion.create_service()`.
|
401
|
+
|
402
|
+
### Bug Fixes
|
403
|
+
|
404
|
+
- Registry: Updated `log_model` API to accept both signature and sample_input_data parameters.
|
405
|
+
- Feature Store: ExampleHelper uses fully qualified path for table name. change weather features aggregation from 1d to 1h.
|
406
|
+
- Data Connector: Return numpy array with appropriate object type instead of list for multi-dimensional
|
407
|
+
data from `to_torch_dataset` and `to_torch_datapipe`
|
408
|
+
- Model explainability: Incompatibility between SHAP 0.42.1 and XGB 2.1.1 resolved by using latest SHAP 0.46.0.
|
409
|
+
|
410
|
+
### New Features
|
411
|
+
|
412
|
+
- Registry: Provide pass keyworded variable length of arguments to class ModelContext. Example usage:
|
413
|
+
|
414
|
+
```python
|
415
|
+
mc = custom_model.ModelContext(
|
416
|
+
config = 'local_model_dir/config.json',
|
417
|
+
m1 = model1
|
418
|
+
)
|
419
|
+
|
420
|
+
class ExamplePipelineModel(custom_model.CustomModel):
|
421
|
+
def __init__(self, context: custom_model.ModelContext) -> None:
|
422
|
+
super().__init__(context)
|
423
|
+
v = open(self.context['config']).read()
|
424
|
+
self.bias = json.loads(v)['bias']
|
425
|
+
|
426
|
+
@custom_model.inference_api
|
427
|
+
def predict(self, input: pd.DataFrame) -> pd.DataFrame:
|
428
|
+
model_output = self.context['m1'].predict(input)
|
429
|
+
return pd.DataFrame({'output': model_output + self.bias})
|
430
|
+
```
|
431
|
+
|
432
|
+
- Model Development: Upgrade scikit-learn in UDTF backend for log_loss metric. As a result, `eps` argument is now ignored.
|
433
|
+
- Data Connector: Add the option of passing a `None` sized batch to `to_torch_dataset` for better
|
434
|
+
interoperability with PyTorch DataLoader.
|
435
|
+
- Model Registry: Support [pandas.CategoricalDtype](https://pandas.pydata.org/docs/reference/api/pandas.CategoricalDtype.html#pandas-categoricaldtype)
|
436
|
+
- Registry: It is now possible to pass `signatures` and `sample_input_data` at the same time to capture background
|
437
|
+
data from explainablity and data lineage.
|
438
|
+
|
439
|
+
## 1.6.4 (2024-10-17)
|
440
|
+
|
441
|
+
### Bug Fixes
|
442
|
+
|
443
|
+
- Registry: Fix an issue that leads to incident when using `ModelVersion.run` with service.
|
444
|
+
|
445
|
+
## 1.6.3 (2024-10-07)
|
377
446
|
|
378
447
|
- Model Registry (PrPr) has been removed.
|
379
448
|
|
@@ -385,6 +454,9 @@ be compatibility issues. Server-side functionality that `snowflake-ml-python` de
|
|
385
454
|
- Registry: Fix a bug that `ModelVersion.run` is called in a nested way.
|
386
455
|
- Registry: Fix an issue that leads to `log_model` failure when local package version contains parts other than
|
387
456
|
base version.
|
457
|
+
- Fix issue where `sample_weights` were not being applied to search estimators.
|
458
|
+
- Model explainability: Fix bug which creates explain as a function instead of table function when enabling by default.
|
459
|
+
- Model explainability: Update lightgbm binary classification to return non-json values, from customer feedback.
|
388
460
|
|
389
461
|
### New Features
|
390
462
|
|