snowflake-ml-python 1.9.2__py3-none-any.whl → 1.10.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/utils/service_logger.py +31 -17
- snowflake/ml/experiment/callback/lightgbm.py +55 -0
- snowflake/ml/experiment/callback/xgboost.py +63 -0
- snowflake/ml/experiment/utils.py +14 -0
- snowflake/ml/jobs/_utils/payload_utils.py +13 -7
- snowflake/ml/jobs/_utils/scripts/mljob_launcher.py +2 -2
- snowflake/ml/model/_client/model/model_version_impl.py +56 -48
- snowflake/ml/model/_client/ops/service_ops.py +177 -12
- snowflake/ml/model/event_handler.py +87 -18
- snowflake/ml/model/models/huggingface_pipeline.py +71 -49
- snowflake/ml/model/type_hints.py +26 -1
- snowflake/ml/registry/_manager/model_manager.py +30 -35
- snowflake/ml/registry/_manager/model_parameter_reconciler.py +105 -0
- snowflake/ml/registry/registry.py +0 -19
- snowflake/ml/version.py +1 -1
- {snowflake_ml_python-1.9.2.dist-info → snowflake_ml_python-1.10.0.dist-info}/METADATA +505 -492
- {snowflake_ml_python-1.9.2.dist-info → snowflake_ml_python-1.10.0.dist-info}/RECORD +20 -17
- snowflake/ml/experiment/callback.py +0 -121
- {snowflake_ml_python-1.9.2.dist-info → snowflake_ml_python-1.10.0.dist-info}/WHEEL +0 -0
- {snowflake_ml_python-1.9.2.dist-info → snowflake_ml_python-1.10.0.dist-info}/licenses/LICENSE.txt +0 -0
- {snowflake_ml_python-1.9.2.dist-info → snowflake_ml_python-1.10.0.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: snowflake-ml-python
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.10.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:
|
|
@@ -410,27 +410,39 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
|
|
|
410
410
|
|
|
411
411
|
# Release History
|
|
412
412
|
|
|
413
|
+
## 1.10.0
|
|
414
|
+
|
|
415
|
+
### Bug Fixes
|
|
416
|
+
|
|
417
|
+
### Behavior Changes
|
|
418
|
+
|
|
419
|
+
### New Features
|
|
420
|
+
|
|
421
|
+
* Registry: add progress bars for `ModelVersion.create_service` and `ModelVersion.log_model`.
|
|
422
|
+
* ModelRegistry: Logs emitted during `ModelVersion.create_service` will be written to a file. The file location
|
|
423
|
+
will be shown in the console.
|
|
424
|
+
|
|
413
425
|
## 1.9.2
|
|
414
426
|
|
|
415
427
|
### Bug Fixes
|
|
416
428
|
|
|
417
|
-
|
|
418
|
-
|
|
429
|
+
* DataConnector: Fix `self._session` related errors inside Container Runtime.
|
|
430
|
+
* Registry: Fix a bug when trying to pass `None` to array (`pd.dtype('O')`) in signature and pandas data handler.
|
|
419
431
|
|
|
420
432
|
### New Features
|
|
421
433
|
|
|
422
|
-
|
|
434
|
+
* Experiment Tracking (PrPr): Automatically log the model, metrics, and parameters while training
|
|
423
435
|
XGBoost and LightGBM models.
|
|
424
436
|
|
|
425
437
|
```python
|
|
426
438
|
from snowflake.ml.experiment import ExperimentTracking
|
|
427
|
-
from snowflake.ml.experiment.callback import SnowflakeXgboostCallback, SnowflakeLightgbmCallback
|
|
428
439
|
|
|
429
440
|
exp = ExperimentTracking(session=sp_session, database_name="ML", schema_name="PUBLIC")
|
|
430
441
|
|
|
431
442
|
exp.set_experiment("MY_EXPERIMENT")
|
|
432
443
|
|
|
433
444
|
# XGBoost
|
|
445
|
+
from snowflake.ml.experiment.callback.xgboost import SnowflakeXgboostCallback
|
|
434
446
|
callback = SnowflakeXgboostCallback(
|
|
435
447
|
exp, log_model=True, log_metrics=True, log_params=True, model_name="model_name", model_signature=sig
|
|
436
448
|
)
|
|
@@ -439,6 +451,7 @@ with exp.start_run():
|
|
|
439
451
|
model.fit(X, y, eval_set=[(X_test, y_test)])
|
|
440
452
|
|
|
441
453
|
# LightGBM
|
|
454
|
+
from snowflake.ml.experiment.callback.lightgbm import SnowflakeLightgbmCallback
|
|
442
455
|
callback = SnowflakeLightgbmCallback(
|
|
443
456
|
exp, log_model=True, log_metrics=True, log_params=True, model_name="model_name", model_signature=sig
|
|
444
457
|
)
|
|
@@ -451,14 +464,14 @@ with exp.start_run():
|
|
|
451
464
|
|
|
452
465
|
### Bug Fixes
|
|
453
466
|
|
|
454
|
-
|
|
467
|
+
* Registry: Fix a bug when trying to set the PAD token the HuggingFace `text-generation` model had multiple EOS tokens.
|
|
455
468
|
The handler picks the first EOS token as PAD token now.
|
|
456
469
|
|
|
457
470
|
### New Features
|
|
458
471
|
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
472
|
+
* DataConnector: DataConnector objects can now be pickled
|
|
473
|
+
* Dataset: Dataset objects can now be pickled
|
|
474
|
+
* Registry (PrPr): Introducing `create_service` function in `snowflake/ml/model/models/huggingface_pipeline.py`
|
|
462
475
|
which creates a service to log a HF model and upon successful logging, an inference service is created.
|
|
463
476
|
|
|
464
477
|
```python
|
|
@@ -479,7 +492,7 @@ hf_model_ref.create_service(
|
|
|
479
492
|
)
|
|
480
493
|
```
|
|
481
494
|
|
|
482
|
-
|
|
495
|
+
* Experiment Tracking (PrPr): New module for managing and tracking ML experiments in Snowflake.
|
|
483
496
|
|
|
484
497
|
```python
|
|
485
498
|
from snowflake.ml.experiment import ExperimentTracking
|
|
@@ -494,16 +507,16 @@ with exp.start_run():
|
|
|
494
507
|
exp.log_model(my_model, model_name="MY_MODEL")
|
|
495
508
|
```
|
|
496
509
|
|
|
497
|
-
|
|
510
|
+
* Registry: Added support for wide input (500+ features) for inference done using SPCS
|
|
498
511
|
|
|
499
512
|
## 1.9.0
|
|
500
513
|
|
|
501
514
|
### Bug Fixes
|
|
502
515
|
|
|
503
|
-
|
|
516
|
+
* Registry: Fixed bug causing snowpark to pandas dataframe conversion to fail when `QUOTED_IDENTIFIERS_IGNORE_CASE`
|
|
504
517
|
parameter is enabled
|
|
505
|
-
|
|
506
|
-
|
|
518
|
+
* Registry: Fixed duplicate UserWarning logs during model packaging
|
|
519
|
+
* Registry: If the huggingface pipeline text-generation model doesn't contain a default chat template, a ChatML template
|
|
507
520
|
is assigned to the tokenizer.
|
|
508
521
|
|
|
509
522
|
```shell
|
|
@@ -515,40 +528,40 @@ with exp.start_run():
|
|
|
515
528
|
{% endif %}"
|
|
516
529
|
```
|
|
517
530
|
|
|
518
|
-
|
|
531
|
+
* Registry: Fixed SQL queries during registry initialization that were forcing warehouse requirement
|
|
519
532
|
|
|
520
533
|
### Behavior Changes
|
|
521
534
|
|
|
522
|
-
|
|
535
|
+
* ML Job: The `list_jobs()` API has been modified. The `scope` parameter has been removed,
|
|
523
536
|
optional `database` and `schema` parameters have been added, the return type has changed
|
|
524
537
|
from `snowpark.DataFrame` to `pandas.DataFrame`, and the returned columns have been updated
|
|
525
538
|
to `name`, `status`, `message`, `database_name`, `schema_name`, `owner`, `compute_pool`,
|
|
526
539
|
`target_instances`, `created_time`, and `completed_time`.
|
|
527
|
-
|
|
528
|
-
|
|
540
|
+
* Registry: Set `relax_version` to false when pip_requirements are specified while logging model
|
|
541
|
+
* Registry: UserWarning will now be raised based on specified target_platforms (addresses spurious warnings)
|
|
529
542
|
|
|
530
543
|
### New Features
|
|
531
544
|
|
|
532
|
-
|
|
545
|
+
* Registry: `target_platforms` supports `TargetPlatformMode`: `WAREHOUSE_ONLY`, `SNOWPARK_CONTAINER_SERVICES_ONLY`,
|
|
533
546
|
or `BOTH_WAREHOUSE_AND_SNOWPARK_CONTAINER_SERVICES`.
|
|
534
|
-
|
|
547
|
+
* Registry: Introduce `snowflake.ml.model.target_platform.TargetPlatform`, target platform constants, and
|
|
535
548
|
`snowflake.ml.model.task.Task`.
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
549
|
+
* ML Job: Single-node ML Jobs are now in GA. Multi-node support is now in PuPr
|
|
550
|
+
* Moved less frequently used job submission parameters to `**kwargs`
|
|
551
|
+
* Platform metrics are now enabled by default
|
|
552
|
+
* `list_jobs()` behavior changed, see [Behavior Changes](#behavior-changes) for more info
|
|
540
553
|
|
|
541
554
|
## 1.8.6
|
|
542
555
|
|
|
543
556
|
### Bug Fixes
|
|
544
557
|
|
|
545
|
-
|
|
558
|
+
* Fixed fatal errors from internal telemetry wrappers.
|
|
546
559
|
|
|
547
560
|
### New Features
|
|
548
561
|
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
562
|
+
* Registry: Add service container info to logs.
|
|
563
|
+
* ML Job (PuPr): Add new `submit_from_stage()` API for submitting a payload from an existing stage path.
|
|
564
|
+
* ML Job (PuPr): Add support for `snowpark.Session` objects in the argument list of
|
|
552
565
|
`@remote` decorated functions. `Session` object will be injected from context in
|
|
553
566
|
the job execution environment.
|
|
554
567
|
|
|
@@ -556,75 +569,75 @@ with exp.start_run():
|
|
|
556
569
|
|
|
557
570
|
### Bug Fixes
|
|
558
571
|
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
572
|
+
* Registry: Fixed a bug when listing and deleting container services.
|
|
573
|
+
* Registry: Fixed explainability issue with scikit-learn pipelines, skipping explain function creation.
|
|
574
|
+
* Explainability: bump minimum streamlit version down to 1.30
|
|
575
|
+
* Modeling: Make XGBoost a required dependency (xgboost is not a required dependency in snowflake-ml-python 1.8.4).
|
|
563
576
|
|
|
564
577
|
### Behavior Changes
|
|
565
578
|
|
|
566
|
-
|
|
579
|
+
* ML Job (Multi-node PrPr): Rename argument `num_instances` to `target_instances` in job submission APIs and
|
|
567
580
|
change type from `Optional[int]` to `int`
|
|
568
581
|
|
|
569
582
|
### New Features
|
|
570
583
|
|
|
571
|
-
|
|
584
|
+
* Registry: No longer checks if the snowflake-ml-python version is available in the Snowflake Conda channel when logging
|
|
572
585
|
an SPCS-only model.
|
|
573
|
-
|
|
574
|
-
|
|
586
|
+
* ML Job (PuPr): Add `min_instances` argument to the job decorator to allow waiting for workers to be ready.
|
|
587
|
+
* ML Job (PuPr): Adjust polling behavior to reduce number of SQL calls.
|
|
575
588
|
|
|
576
589
|
### Deprecations
|
|
577
590
|
|
|
578
|
-
|
|
591
|
+
* `SnowflakeLoginOptions` is deprecated and will be removed in a future release.
|
|
579
592
|
|
|
580
593
|
## 1.8.4 (2025-05-12)
|
|
581
594
|
|
|
582
595
|
### Bug Fixes
|
|
583
596
|
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
597
|
+
* Registry: Default `enable_explainability` to True when the model can be deployed to Warehouse.
|
|
598
|
+
* Registry: Add `custom_model.partitioned_api` decorator and deprecate `partitioned_inference_api`.
|
|
599
|
+
* Registry: Fixed a bug when logging pytroch and tensorflow models that caused
|
|
587
600
|
`UnboundLocalError: local variable 'multiple_inputs' referenced before assignment`.
|
|
588
601
|
|
|
589
602
|
### Behavior Changes
|
|
590
603
|
|
|
591
|
-
|
|
604
|
+
* ML Job (PuPr) Updated property `id` to be fully qualified name; Introduced new property `name`
|
|
592
605
|
to represent the ML Job name
|
|
593
|
-
|
|
594
|
-
|
|
606
|
+
* ML Job (PuPr) Modified `list_jobs()` to return ML Job `name` instead of `id`
|
|
607
|
+
* Registry: Error in `log_model` if `enable_explainability` is True and model is only deployed to
|
|
595
608
|
Snowpark Container Services, instead of just user warning.
|
|
596
609
|
|
|
597
610
|
### New Features
|
|
598
611
|
|
|
599
|
-
|
|
612
|
+
* ML Job (PuPr): Extend `@remote` function decorator, `submit_file()` and `submit_directory()` to accept `database` and
|
|
600
613
|
`schema` parameters
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
614
|
+
* ML Job (PuPr): Support querying by fully qualified name in `get_job()`
|
|
615
|
+
* Explainability: Added visualization functions to `snowflake.ml.monitoring` to plot explanations in notebooks.
|
|
616
|
+
* Explainability: Support explain for categorical transforms for sklearn pipeline
|
|
617
|
+
* Support categorical type for `xgboost.DMatrix` inputs.
|
|
605
618
|
|
|
606
619
|
## 1.8.3
|
|
607
620
|
|
|
608
621
|
### New Features
|
|
609
622
|
|
|
610
|
-
|
|
611
|
-
|
|
623
|
+
* Registry: Default to the runtime cuda version if available when logging a GPU model in Container Runtime.
|
|
624
|
+
* ML Job (PuPr): Added `as_list` argument to `MLJob.get_logs()` to enable retrieving logs
|
|
612
625
|
as a list of strings
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
626
|
+
* Registry: Support `ModelVersion.run_job` to run inference with a single-node Snowpark Container Services job.
|
|
627
|
+
* DataConnector: Removed PrPr decorators
|
|
628
|
+
* Registry: Default the target platform to warehouse when logging a partitioned model.
|
|
616
629
|
|
|
617
630
|
## 1.8.2
|
|
618
631
|
|
|
619
632
|
### New Features
|
|
620
633
|
|
|
621
|
-
|
|
622
|
-
|
|
634
|
+
* ML Job now available as a PuPr feature
|
|
635
|
+
* Add ability to retrieve results for `@remote` decorated functions using
|
|
623
636
|
new `MLJobWithResult.result()` API, which will return the unpickled result
|
|
624
637
|
or raise an exception if the job execution failed.
|
|
625
|
-
|
|
638
|
+
* Pre-created Snowpark Session is now available inside job payloads using
|
|
626
639
|
`snowflake.snowpark.context.get_active_session()`
|
|
627
|
-
|
|
640
|
+
* Registry: Introducing `save_location` to `log_model` using the `options` argument.
|
|
628
641
|
Users can use the `save_location` option to specify a local directory where the model files and configuration are written.
|
|
629
642
|
This is useful when the default temporary directory has space limitations.
|
|
630
643
|
|
|
@@ -638,44 +651,44 @@ reg.log_model(
|
|
|
638
651
|
)
|
|
639
652
|
```
|
|
640
653
|
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
654
|
+
* Registry: Include model dependencies in pip requirements by default when logging in Container Runtime.
|
|
655
|
+
* Multi-node ML Job (PrPr): Add `instance_id` argument to `get_logs` and `show_logs` method to support multi node log retrieval
|
|
656
|
+
* Multi-node ML Job (PrPr): Add `job.get_instance_status(instance_id=...)` API to support multi node status retrieval
|
|
644
657
|
|
|
645
658
|
## 1.8.1 (03-26-2025)
|
|
646
659
|
|
|
647
660
|
### Bug Fixes
|
|
648
661
|
|
|
649
|
-
|
|
662
|
+
* Registry: Fix a bug that caused `unsupported model type` error while logging a sklearn model with `score_samples`
|
|
650
663
|
inference method.
|
|
651
|
-
|
|
664
|
+
* Registry: Fix a bug that model inference service creation fails on an existing and suspended service.
|
|
652
665
|
|
|
653
666
|
### New Features
|
|
654
667
|
|
|
655
|
-
|
|
656
|
-
|
|
668
|
+
* ML Job (PrPr): Update Container Runtime image version to `1.0.1`
|
|
669
|
+
* ML Job (PrPr): Add `enable_metrics` argument to job submission APIs to enable publishing service metrics to Event Table.
|
|
657
670
|
See [Accessing Event Table service metrics](https://docs.snowflake.com/en/developer-guide/snowpark-container-services/monitoring-services#accessing-event-table-service-metrics)
|
|
658
671
|
for retrieving published metrics
|
|
659
672
|
and [Costs of telemetry data collection](https://docs.snowflake.com/en/developer-guide/logging-tracing/logging-tracing-billing)
|
|
660
673
|
for cost implications.
|
|
661
|
-
|
|
674
|
+
* Registry: When creating a copy of a `ModelVersion` with `log_model`, raise an exception if unsupported arguments are provided.
|
|
662
675
|
|
|
663
676
|
## 1.8.0 (03-20-2025)
|
|
664
677
|
|
|
665
678
|
### Bug Fixes
|
|
666
679
|
|
|
667
|
-
|
|
680
|
+
* Modeling: Fix a bug in some metrics that allowed an unsupported version of numpy to be installed
|
|
668
681
|
automatically in the stored procedure, resulting in a numpy error on execution
|
|
669
|
-
|
|
682
|
+
* Registry: Fix a bug that leads to incorrect `Model is does not have _is_inference_api` error message when assigning
|
|
670
683
|
a supported model as a property of a CustomModel.
|
|
671
|
-
|
|
684
|
+
* Registry: Fix a bug that inference is not working when models with more than 500 input features
|
|
672
685
|
are deployed to SPCS.
|
|
673
686
|
|
|
674
687
|
### Behavior Change
|
|
675
688
|
|
|
676
|
-
|
|
689
|
+
* Registry: With FeatureGroupSpec support, auto inferred model signature for `transformers.Pipeline` models have been
|
|
677
690
|
updated, including:
|
|
678
|
-
|
|
691
|
+
* Signature for fill-mask task has been changed from
|
|
679
692
|
|
|
680
693
|
```python
|
|
681
694
|
ModelSignature(
|
|
@@ -710,7 +723,7 @@ reg.log_model(
|
|
|
710
723
|
)
|
|
711
724
|
```
|
|
712
725
|
|
|
713
|
-
|
|
726
|
+
* Signature for token-classification task has been changed from
|
|
714
727
|
|
|
715
728
|
```python
|
|
716
729
|
ModelSignature(
|
|
@@ -745,7 +758,7 @@ reg.log_model(
|
|
|
745
758
|
)
|
|
746
759
|
```
|
|
747
760
|
|
|
748
|
-
|
|
761
|
+
* Signature for question-answering task when top_k is larger than 1 has been changed from
|
|
749
762
|
|
|
750
763
|
```python
|
|
751
764
|
ModelSignature(
|
|
@@ -782,7 +795,7 @@ reg.log_model(
|
|
|
782
795
|
)
|
|
783
796
|
```
|
|
784
797
|
|
|
785
|
-
|
|
798
|
+
* Signature for text-classification task when top_k is `None` has been changed from
|
|
786
799
|
|
|
787
800
|
```python
|
|
788
801
|
ModelSignature(
|
|
@@ -811,7 +824,7 @@ reg.log_model(
|
|
|
811
824
|
)
|
|
812
825
|
```
|
|
813
826
|
|
|
814
|
-
|
|
827
|
+
* Signature for text-classification task when top_k is not `None` has been changed from
|
|
815
828
|
|
|
816
829
|
```python
|
|
817
830
|
ModelSignature(
|
|
@@ -845,7 +858,7 @@ reg.log_model(
|
|
|
845
858
|
)
|
|
846
859
|
```
|
|
847
860
|
|
|
848
|
-
|
|
861
|
+
* Signature for text-generation task has been changed from
|
|
849
862
|
|
|
850
863
|
```python
|
|
851
864
|
ModelSignature(
|
|
@@ -882,7 +895,7 @@ reg.log_model(
|
|
|
882
895
|
)
|
|
883
896
|
```
|
|
884
897
|
|
|
885
|
-
|
|
898
|
+
* Registry: PyTorch and TensorFlow models now expect a single tensor input/output by default when logging to Model
|
|
886
899
|
Registry. To use multiple tensors (previous behavior), set `options={"multiple_inputs": True}`.
|
|
887
900
|
|
|
888
901
|
Example with single tensor input:
|
|
@@ -928,130 +941,130 @@ reg.log_model(
|
|
|
928
941
|
)
|
|
929
942
|
```
|
|
930
943
|
|
|
931
|
-
|
|
944
|
+
* Registry: Default `enable_explainability` to False when the model can be deployed to Snowpark Container Services.
|
|
932
945
|
|
|
933
946
|
### New Features
|
|
934
947
|
|
|
935
|
-
|
|
948
|
+
* Registry: Added support to single `torch.Tensor`, `tensorflow.Tensor` and `tensorflow.Variable` as input or output
|
|
936
949
|
data.
|
|
937
|
-
|
|
950
|
+
* Registry: Support [`xgboost.DMatrix`](https://xgboost.readthedocs.io/en/stable/python/python_api.html#xgboost.DMatrix)
|
|
938
951
|
datatype for XGBoost models.
|
|
939
952
|
|
|
940
953
|
## 1.7.5 (03-06-2025)
|
|
941
954
|
|
|
942
|
-
|
|
943
|
-
|
|
955
|
+
* Support Python 3.12.
|
|
956
|
+
* Explainability: Support native and snowflake.ml.modeling sklearn pipeline
|
|
944
957
|
|
|
945
958
|
### Bug Fixes
|
|
946
959
|
|
|
947
|
-
|
|
960
|
+
* Registry: Fixed a compatibility issue when using `snowflake-ml-python` 1.7.0 or greater to save a `tensorflow.keras`
|
|
948
961
|
model with `keras` 2.x, if `relax_version` is set or default to True, and newer version of `snowflake-ml-python`
|
|
949
962
|
is available in Snowflake Anaconda Channel, model could not be run in Snowflake. If you have such model, you could
|
|
950
963
|
use the latest version of `snowflake-ml-python` and call `ModelVersion.load` to load it back, and re-log it.
|
|
951
964
|
Alternatively, you can prevent this issue by setting `relax_version=False` when saving the model.
|
|
952
|
-
|
|
965
|
+
* Registry: Removed the validation that disallows data that does not have non-null values being passed to
|
|
953
966
|
`ModelVersion.run`.
|
|
954
|
-
|
|
955
|
-
|
|
967
|
+
* ML Job (PrPr): No longer require CREATE STAGE privilege if `stage_name` points to an existing stage
|
|
968
|
+
* ML Job (PrPr): Fixed a bug causing some payload source and entrypoint path
|
|
956
969
|
combinations to be erroneously rejected with
|
|
957
970
|
`ValueError(f"{self.entrypoint} must be a subpath of {self.source}")`
|
|
958
|
-
|
|
971
|
+
* ML Job (PrPr): Fixed a bug in Ray cluster startup config which caused certain Runtime APIs to fail
|
|
959
972
|
|
|
960
973
|
### New Features
|
|
961
974
|
|
|
962
|
-
|
|
963
|
-
|
|
975
|
+
* Registry: Added support for handling Hugging Face model configurations with auto-mapping functionality.
|
|
976
|
+
* Registry: Added support for `keras` 3.x model with `tensorflow` and `pytorch` backend
|
|
964
977
|
|
|
965
978
|
## 1.7.4 (01-28-2025)
|
|
966
979
|
|
|
967
|
-
|
|
980
|
+
* FileSet: The `snowflake.ml.fileset.FileSet` has been deprecated and will be removed in a future version.
|
|
968
981
|
Use [snowflake.ml.dataset.Dataset](https://docs.snowflake.com/en/developer-guide/snowflake-ml/dataset) and
|
|
969
982
|
[snowflake.ml.data.DataConnector](https://docs.snowflake.com/en/developer-guide/snowpark-ml/reference/latest/api/data/snowflake.ml.data.data_connector.DataConnector)
|
|
970
983
|
instead.
|
|
971
|
-
|
|
984
|
+
* Registry: `ModelVersion.run` on a service would require redeploying the service once account opts into nested function.
|
|
972
985
|
|
|
973
986
|
### Bug Fixes
|
|
974
987
|
|
|
975
|
-
|
|
976
|
-
|
|
988
|
+
* Registry: Fixed an issue that the hugging face pipeline is loaded using incorrect dtype.
|
|
989
|
+
* Registry: Fixed an issue that only 1 row is used when infer the model signature in the modeling model.
|
|
977
990
|
|
|
978
991
|
### New Features
|
|
979
992
|
|
|
980
|
-
|
|
993
|
+
* Add new `snowflake.ml.jobs` preview API for running headless workloads on SPCS using
|
|
981
994
|
[Container Runtime for ML](https://docs.snowflake.com/en/developer-guide/snowflake-ml/container-runtime-ml)
|
|
982
|
-
|
|
995
|
+
* Added `guardrails` option to Cortex `complete` function, enabling
|
|
983
996
|
[Cortex Guard](https://docs.snowflake.com/en/user-guide/snowflake-cortex/llm-functions#cortex-guard) support
|
|
984
|
-
|
|
997
|
+
* Model Monitoring: Expose Model Monitoring Python API by default.
|
|
985
998
|
|
|
986
999
|
## 1.7.3 (2025-01-08)
|
|
987
1000
|
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
1001
|
+
* Added lowercase versions of Cortex functions, added deprecation warning to Capitalized versions.
|
|
1002
|
+
* Bumped the requirements of `fsspec` and `s3fs` to `>=2024.6.1,<2026`
|
|
1003
|
+
* Bumped the requirement of `mlflow` to `>=2.16.0, <3`
|
|
1004
|
+
* Registry: Support 500+ features for model registry
|
|
1005
|
+
* Feature Store: Add support for `cluster_by` for feature views.
|
|
993
1006
|
|
|
994
1007
|
### Bug Fixes
|
|
995
1008
|
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
1009
|
+
* Registry: Fixed a bug when providing non-range index pandas DataFrame as the input to a `ModelVersion.run`.
|
|
1010
|
+
* Registry: Improved random model version name generation to prevent collisions.
|
|
1011
|
+
* Registry: Fix an issue when inferring signature or running inference with Snowpark data that has a column whose type
|
|
999
1012
|
is `ARRAY` and contains `NULL` value.
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1013
|
+
* Registry: `ModelVersion.run` now accepts fully qualified service name.
|
|
1014
|
+
* Monitoring: Fix issue in SDK with creating monitors using fully qualified names.
|
|
1015
|
+
* Registry: Fix error in log_model for any sklearn models with only data pre-processing including pre-processing only
|
|
1003
1016
|
pipeline models due to default explainability enablement.
|
|
1004
1017
|
|
|
1005
1018
|
### New Features
|
|
1006
1019
|
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1020
|
+
* Added `user_files` argument to `Registry.log_model` for including images or any extra file with the model.
|
|
1021
|
+
* Registry: Added support for handling Hugging Face model configurations with auto-mapping functionality
|
|
1022
|
+
* DataConnector: Add new `DataConnector.from_sql()` constructor
|
|
1023
|
+
* Registry: Provided new arguments to `snowflake.ml.model.model_signature.infer_signature` method to specify rows limit
|
|
1011
1024
|
to be used when inferring the signature.
|
|
1012
1025
|
|
|
1013
1026
|
## 1.7.2 (2024-11-21)
|
|
1014
1027
|
|
|
1015
1028
|
### Bug Fixes
|
|
1016
1029
|
|
|
1017
|
-
|
|
1030
|
+
* Model Explainability: Fix issue that explain is enabled for scikit-learn pipeline
|
|
1018
1031
|
whose task is UNKNOWN and fails later when invoked.
|
|
1019
1032
|
|
|
1020
1033
|
### New Features
|
|
1021
1034
|
|
|
1022
|
-
|
|
1035
|
+
* Registry: Support asynchronous model inference service creation with the `block` option
|
|
1023
1036
|
in `ModelVersion.create_service()` set to True by default.
|
|
1024
|
-
|
|
1037
|
+
* Registry: Allow specify `batch_size` when inferencing using sentence-transformers model.
|
|
1025
1038
|
|
|
1026
1039
|
## 1.7.1 (2024-11-05)
|
|
1027
1040
|
|
|
1028
1041
|
### Bug Fixes
|
|
1029
1042
|
|
|
1030
|
-
|
|
1043
|
+
* Registry: Null value is now allowed in the dataframe used in model signature inference. Null values will be ignored
|
|
1031
1044
|
and others will be used to infer the signature.
|
|
1032
|
-
|
|
1045
|
+
* Registry: Pandas Extension DTypes (`pandas.StringDType()`, `pandas.BooleanDType()`, etc.) are now supported in model
|
|
1033
1046
|
signature inference.
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1047
|
+
* Registry: Null value is now allowed in the dataframe used to predict.
|
|
1048
|
+
* Data: Fix missing `snowflake.ml.data.*` module exports in wheel
|
|
1049
|
+
* Dataset: Fix missing `snowflake.ml.dataset.*` module exports in wheel.
|
|
1050
|
+
* Registry: Fix the issue that `tf_keras.Model` is not recognized as keras model when logging.
|
|
1038
1051
|
|
|
1039
1052
|
### New Features
|
|
1040
1053
|
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1054
|
+
* Registry: Option to `enable_monitoring` set to False by default. This will gate access to preview features of Model Monitoring.
|
|
1055
|
+
* Model Monitoring: `show_model_monitors` Registry method. This feature is still in Private Preview.
|
|
1056
|
+
* Registry: Support `pd.Series` in input and output data.
|
|
1057
|
+
* Model Monitoring: `add_monitor` Registry method. This feature is still in Private Preview.
|
|
1058
|
+
* Model Monitoring: `resume` and `suspend` ModelMonitor. This feature is still in Private Preview.
|
|
1059
|
+
* Model Monitoring: `get_monitor` Registry method. This feature is still in Private Preview.
|
|
1060
|
+
* Model Monitoring: `delete_monitor` Registry method. This feature is still in Private Preview.
|
|
1048
1061
|
|
|
1049
1062
|
## 1.7.0 (10-22-2024)
|
|
1050
1063
|
|
|
1051
1064
|
### Behavior Change
|
|
1052
1065
|
|
|
1053
|
-
|
|
1054
|
-
|
|
1066
|
+
* Generic: Require python >= 3.9.
|
|
1067
|
+
* Data Connector: Update `to_torch_dataset` and `to_torch_datapipe` to add a dimension for scalar data.
|
|
1055
1068
|
This allows for more seamless integration with PyTorch `DataLoader`, which creates batches by stacking inputs of each batch.
|
|
1056
1069
|
|
|
1057
1070
|
Examples:
|
|
@@ -1060,30 +1073,30 @@ Examples:
|
|
|
1060
1073
|
ds = connector.to_torch_dataset(shuffle=False, batch_size=3)
|
|
1061
1074
|
```
|
|
1062
1075
|
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1076
|
+
* Input: "col1": [10, 11, 12]
|
|
1077
|
+
* Previous batch: array([10., 11., 12.]) with shape (3,)
|
|
1078
|
+
* New batch: array([[10.], [11.], [12.]]) with shape (3, 1)
|
|
1066
1079
|
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1080
|
+
* Input: "col2": [[0, 100], [1, 110], [2, 200]]
|
|
1081
|
+
* Previous batch: array([[ 0, 100], [ 1, 110], [ 2, 200]]) with shape (3,2)
|
|
1082
|
+
* New batch: No change
|
|
1070
1083
|
|
|
1071
|
-
|
|
1084
|
+
* Model Registry: External access integrations are optional when creating a model inference service in
|
|
1072
1085
|
Snowflake >= 8.40.0.
|
|
1073
|
-
|
|
1086
|
+
* Model Registry: Deprecate `build_external_access_integration` with `build_external_access_integrations` in
|
|
1074
1087
|
`ModelVersion.create_service()`.
|
|
1075
1088
|
|
|
1076
1089
|
### Bug Fixes
|
|
1077
1090
|
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1091
|
+
* Registry: Updated `log_model` API to accept both signature and sample_input_data parameters.
|
|
1092
|
+
* Feature Store: ExampleHelper uses fully qualified path for table name. change weather features aggregation from 1d to 1h.
|
|
1093
|
+
* Data Connector: Return numpy array with appropriate object type instead of list for multi-dimensional
|
|
1081
1094
|
data from `to_torch_dataset` and `to_torch_datapipe`
|
|
1082
|
-
|
|
1095
|
+
* Model explainability: Incompatibility between SHAP 0.42.1 and XGB 2.1.1 resolved by using latest SHAP 0.46.0.
|
|
1083
1096
|
|
|
1084
1097
|
### New Features
|
|
1085
1098
|
|
|
1086
|
-
|
|
1099
|
+
* Registry: Provide pass keyworded variable length of arguments to class ModelContext. Example usage:
|
|
1087
1100
|
|
|
1088
1101
|
```python
|
|
1089
1102
|
mc = custom_model.ModelContext(
|
|
@@ -1103,106 +1116,106 @@ class ExamplePipelineModel(custom_model.CustomModel):
|
|
|
1103
1116
|
return pd.DataFrame({'output': model_output + self.bias})
|
|
1104
1117
|
```
|
|
1105
1118
|
|
|
1106
|
-
|
|
1107
|
-
|
|
1119
|
+
* Model Development: Upgrade scikit-learn in UDTF backend for log_loss metric. As a result, `eps` argument is now ignored.
|
|
1120
|
+
* Data Connector: Add the option of passing a `None` sized batch to `to_torch_dataset` for better
|
|
1108
1121
|
interoperability with PyTorch DataLoader.
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1122
|
+
* Model Registry: Support [pandas.CategoricalDtype](https://pandas.pydata.org/docs/reference/api/pandas.CategoricalDtype.html#pandas-categoricaldtype)
|
|
1123
|
+
* Limitations:
|
|
1124
|
+
* The native categorical data handling handling by XGBoost using `enable_categorical=True` is not supported.
|
|
1112
1125
|
Instead please use [`sklearn.pipeline`](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.Pipeline.html)
|
|
1113
1126
|
to preprocess the categorical datatype and log the pipeline with the XGBoost model.
|
|
1114
|
-
|
|
1127
|
+
* Registry: It is now possible to pass `signatures` and `sample_input_data` at the same time to capture background
|
|
1115
1128
|
data from explainablity and data lineage.
|
|
1116
1129
|
|
|
1117
1130
|
## 1.6.4 (2024-10-17)
|
|
1118
1131
|
|
|
1119
1132
|
### Bug Fixes
|
|
1120
1133
|
|
|
1121
|
-
|
|
1134
|
+
* Registry: Fix an issue that leads to incident when using `ModelVersion.run` with service.
|
|
1122
1135
|
|
|
1123
1136
|
## 1.6.3 (2024-10-07)
|
|
1124
1137
|
|
|
1125
|
-
|
|
1138
|
+
* Model Registry (PrPr) has been removed.
|
|
1126
1139
|
|
|
1127
1140
|
### Bug Fixes
|
|
1128
1141
|
|
|
1129
|
-
|
|
1142
|
+
* Registry: Fix a bug that when package whose name does not follow PEP-508 is provided when logging the model,
|
|
1130
1143
|
an unexpected normalization is happening.
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1144
|
+
* Registry: Fix `not a valid remote uri` error when logging mlflow models.
|
|
1145
|
+
* Registry: Fix a bug that `ModelVersion.run` is called in a nested way.
|
|
1146
|
+
* Registry: Fix an issue that leads to `log_model` failure when local package version contains parts other than
|
|
1134
1147
|
base version.
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1148
|
+
* Fix issue where `sample_weights` were not being applied to search estimators.
|
|
1149
|
+
* Model explainability: Fix bug which creates explain as a function instead of table function when enabling by default.
|
|
1150
|
+
* Model explainability: Update lightgbm binary classification to return non-json values, from customer feedback.
|
|
1138
1151
|
|
|
1139
1152
|
### New Features
|
|
1140
1153
|
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1154
|
+
* Data: Improve `DataConnector.to_pandas()` performance when loading from Snowpark DataFrames.
|
|
1155
|
+
* Model Registry: Allow users to set a model task while using `log_model`.
|
|
1156
|
+
* Feature Store: FeatureView supports ON_CREATE or ON_SCHEDULE initialize mode.
|
|
1144
1157
|
|
|
1145
1158
|
## 1.6.2 (2024-09-04)
|
|
1146
1159
|
|
|
1147
1160
|
### Bug Fixes
|
|
1148
1161
|
|
|
1149
|
-
|
|
1162
|
+
* Modeling: Support XGBoost version that is larger than 2.
|
|
1150
1163
|
|
|
1151
|
-
|
|
1152
|
-
|
|
1164
|
+
* Data: Fix multiple epoch iteration over `DataConnector.to_torch_datapipe()` DataPipes.
|
|
1165
|
+
* Generic: Fix a bug that when an invalid name is provided to argument where fully qualified name is expected, it will
|
|
1153
1166
|
be parsed wrongly. Now it raises an exception correctly.
|
|
1154
|
-
|
|
1155
|
-
|
|
1167
|
+
* Model Explainability: Handle explanations for multiclass XGBoost classification models
|
|
1168
|
+
* Model Explainability: Workarounds and better error handling for XGB>2.1.0 not working with SHAP==0.42.1
|
|
1156
1169
|
|
|
1157
1170
|
### New Features
|
|
1158
1171
|
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1172
|
+
* Data: Add top-level exports for `DataConnector` and `DataSource` to `snowflake.ml.data`.
|
|
1173
|
+
* Data: Add native batching support via `batch_size` and `drop_last_batch` arguments to `DataConnector.to_torch_dataset()`
|
|
1174
|
+
* Feature Store: update_feature_view() supports taking feature view object as argument.
|
|
1162
1175
|
|
|
1163
1176
|
## 1.6.1 (2024-08-12)
|
|
1164
1177
|
|
|
1165
1178
|
### Bug Fixes
|
|
1166
1179
|
|
|
1167
|
-
|
|
1168
|
-
|
|
1180
|
+
* Feature Store: Support large metadata blob when generating dataset
|
|
1181
|
+
* Feature Store: Added a hidden knob in FeatureView as kargs for setting customized
|
|
1169
1182
|
refresh_mode
|
|
1170
|
-
|
|
1183
|
+
* Registry: Fix an error message in Model Version `run` when `function_name` is not mentioned and model has multiple
|
|
1171
1184
|
target methods.
|
|
1172
|
-
|
|
1185
|
+
* Cortex inference: snowflake.cortex.Complete now only uses the REST API for streaming and the use_rest_api_experimental
|
|
1173
1186
|
is no longer needed.
|
|
1174
|
-
|
|
1175
|
-
|
|
1187
|
+
* Feature Store: Add a new API: FeatureView.list_columns() which list all column information.
|
|
1188
|
+
* Data: Fix `DataFrame` ingestion with `ArrowIngestor`.
|
|
1176
1189
|
|
|
1177
1190
|
### New Features
|
|
1178
1191
|
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1192
|
+
* Enable `set_params` to set the parameters of the underlying sklearn estimator, if the snowflake-ml model has been fit.
|
|
1193
|
+
* Data: Add `snowflake.ml.data.ingestor_utils` module with utility functions helpful for `DataIngestor` implementations.
|
|
1194
|
+
* Data: Add new `to_torch_dataset()` connector to `DataConnector` to replace deprecated DataPipe.
|
|
1195
|
+
* Registry: Option to `enable_explainability` set to True by default for XGBoost, LightGBM and CatBoost as PuPr feature.
|
|
1196
|
+
* Registry: Option to `enable_explainability` when registering SHAP supported sklearn models.
|
|
1184
1197
|
|
|
1185
1198
|
## 1.6.0 (2024-07-29)
|
|
1186
1199
|
|
|
1187
1200
|
### Bug Fixes
|
|
1188
1201
|
|
|
1189
|
-
|
|
1190
|
-
|
|
1202
|
+
* Modeling: `SimpleImputer` can impute integer columns with integer values.
|
|
1203
|
+
* Registry: Fix an issue when providing a pandas Dataframe whose index is not starting from 0 as the input to
|
|
1191
1204
|
the `ModelVersion.run`.
|
|
1192
1205
|
|
|
1193
1206
|
### New Features
|
|
1194
1207
|
|
|
1195
|
-
|
|
1208
|
+
* Feature Store: Add overloads to APIs accept both object and name/version. Impacted APIs include read_feature_view(),
|
|
1196
1209
|
refresh_feature_view(), get_refresh_history(), resume_feature_view(), suspend_feature_view(), delete_feature_view().
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1210
|
+
* Feature Store: Add docstring inline examples for all public APIs.
|
|
1211
|
+
* Feature Store: Add new utility class `ExampleHelper` to help with load source data to simplify public notebooks.
|
|
1212
|
+
* Registry: Option to `enable_explainability` when registering XGBoost models as a pre-PuPr feature.
|
|
1213
|
+
* Feature Store: add new API `update_entity()`.
|
|
1214
|
+
* Registry: Option to `enable_explainability` when registering Catboost models as a pre-PuPr feature.
|
|
1215
|
+
* Feature Store: Add new argument warehouse to FeatureView constructor to overwrite the default warehouse. Also add
|
|
1203
1216
|
a new column 'warehouse' to the output of list_feature_views().
|
|
1204
|
-
|
|
1205
|
-
|
|
1217
|
+
* Registry: Add support for logging model from a model version.
|
|
1218
|
+
* Modeling: Distributed Hyperparameter Optimization now announce GA refresh version. The latest memory efficient version
|
|
1206
1219
|
will not have the 10GB training limitation for dataset any more. To turn off, please run
|
|
1207
1220
|
`
|
|
1208
1221
|
from snowflake.ml.modeling._internal.snowpark_implementations import (
|
|
@@ -1210,106 +1223,106 @@ data from explainablity and data lineage.
|
|
|
1210
1223
|
)
|
|
1211
1224
|
distributed_hpo_trainer.ENABLE_EFFICIENT_MEMORY_USAGE = False
|
|
1212
1225
|
`
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1226
|
+
* Registry: Option to `enable_explainability` when registering LightGBM models as a pre-PuPr feature.
|
|
1227
|
+
* Data: Add new `snowflake.ml.data` preview module which contains data reading utilities like `DataConnector`
|
|
1228
|
+
* `DataConnector` provides efficient connectors from Snowpark `DataFrame`
|
|
1216
1229
|
and Snowpark ML `Dataset` to external frameworks like PyTorch, TensorFlow, and Pandas. Create `DataConnector`
|
|
1217
1230
|
instances using the classmethod constructors `DataConnector.from_dataset()` and `DataConnector.from_dataframe()`.
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1231
|
+
* Data: Add new `DataConnector.from_sources()` classmethod constructor for constructing from `DataSource` objects.
|
|
1232
|
+
* Data: Add new `ingestor_class` arg to `DataConnector` classmethod constructors for easier `DataIngestor` injection.
|
|
1233
|
+
* Dataset: `DatasetReader` now subclasses new `DataConnector` class.
|
|
1234
|
+
* Add optional `limit` arg to `DatasetReader.to_pandas()`
|
|
1222
1235
|
|
|
1223
1236
|
### Behavior Changes
|
|
1224
1237
|
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1238
|
+
* Feature Store: change some positional parameters to keyword arguments in following APIs:
|
|
1239
|
+
* Entity(): desc.
|
|
1240
|
+
* FeatureView(): timestamp_col, refresh_freq, desc.
|
|
1241
|
+
* FeatureStore(): creation_mode.
|
|
1242
|
+
* update_entity(): desc.
|
|
1243
|
+
* register_feature_view(): block, overwrite.
|
|
1244
|
+
* list_feature_views(): entity_name, feature_view_name.
|
|
1245
|
+
* get_refresh_history(): verbose.
|
|
1246
|
+
* retrieve_feature_values(): spine_timestamp_col, exclude_columns, include_feature_view_timestamp_col.
|
|
1247
|
+
* generate_training_set(): save_as, spine_timestamp_col, spine_label_cols, exclude_columns,
|
|
1235
1248
|
include_feature_view_timestamp_col.
|
|
1236
|
-
|
|
1249
|
+
* generate_dataset(): version, spine_timestamp_col, spine_label_cols, exclude_columns,
|
|
1237
1250
|
include_feature_view_timestamp_col, desc, output_type.
|
|
1238
1251
|
|
|
1239
1252
|
## 1.5.4 (2024-07-11)
|
|
1240
1253
|
|
|
1241
1254
|
### Bug Fixes
|
|
1242
1255
|
|
|
1243
|
-
|
|
1244
|
-
|
|
1256
|
+
* Model Registry (PrPr): Fix 401 Unauthorized issue when deploying model to SPCS.
|
|
1257
|
+
* Feature Store: Downgrades exceptions to warnings for few property setters in feature view. Now you can set
|
|
1245
1258
|
desc, refresh_freq and warehouse for draft feature views.
|
|
1246
|
-
|
|
1247
|
-
|
|
1259
|
+
* Modeling: Fix an issue with calling `OrdinalEncoder` with `categories` as a dictionary and a pandas DataFrame
|
|
1260
|
+
* Modeling: Fix an issue with calling `OneHotEncoder` with `categories` as a dictionary and a pandas DataFrame
|
|
1248
1261
|
|
|
1249
1262
|
### New Features
|
|
1250
1263
|
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1264
|
+
* Registry: Allow overriding `device_map` and `device` when loading huggingface pipeline models.
|
|
1265
|
+
* Registry: Add `set_alias` method to `ModelVersion` instance to set an alias to model version.
|
|
1266
|
+
* Registry: Add `unset_alias` method to `ModelVersion` instance to unset an alias to model version.
|
|
1267
|
+
* Registry: Add `partitioned_inference_api` allowing users to create partitioned inference functions in registered
|
|
1255
1268
|
models. Enable model inference methods with table functions with vectorized process methods in registered models.
|
|
1256
|
-
|
|
1269
|
+
* Feature Store: add 3 more columns: refresh_freq, refresh_mode and scheduling_state to the result of
|
|
1257
1270
|
`list_feature_views()`.
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1271
|
+
* Feature Store: `update_feature_view()` supports updating description.
|
|
1272
|
+
* Feature Store: add new API `refresh_feature_view()`.
|
|
1273
|
+
* Feature Store: add new API `get_refresh_history()`.
|
|
1274
|
+
* Feature Store: Add `generate_training_set()` API for generating table-backed feature snapshots.
|
|
1275
|
+
* Feature Store: Add `DeprecationWarning` for `generate_dataset(..., output_type="table")`.
|
|
1276
|
+
* Feature Store: `update_feature_view()` supports updating description.
|
|
1277
|
+
* Feature Store: add new API `refresh_feature_view()`.
|
|
1278
|
+
* Feature Store: add new API `get_refresh_history()`.
|
|
1279
|
+
* Model Development: OrdinalEncoder supports a list of array-likes for `categories` argument.
|
|
1280
|
+
* Model Development: OneHotEncoder supports a list of array-likes for `categories` argument.
|
|
1268
1281
|
|
|
1269
1282
|
## 1.5.3 (06-17-2024)
|
|
1270
1283
|
|
|
1271
1284
|
### Bug Fixes
|
|
1272
1285
|
|
|
1273
|
-
|
|
1286
|
+
* Modeling: Fix an issue causing lineage information to be missing for
|
|
1274
1287
|
`Pipeline`, `GridSearchCV` , `SimpleImputer`, and `RandomizedSearchCV`
|
|
1275
|
-
|
|
1288
|
+
* Registry: Fix an issue that leads to incorrect result when using pandas Dataframe with over 100, 000 rows as the input
|
|
1276
1289
|
of `ModelVersion.run` method in Stored Procedure.
|
|
1277
1290
|
|
|
1278
1291
|
### New Features
|
|
1279
1292
|
|
|
1280
|
-
|
|
1281
|
-
|
|
1293
|
+
* Registry: Add support for TIMESTAMP_NTZ model signature data type, allowing timestamp input and output.
|
|
1294
|
+
* Dataset: Add `DatasetVersion.label_cols` and `DatasetVersion.exclude_cols` properties.
|
|
1282
1295
|
|
|
1283
1296
|
## 1.5.2 (06-10-2024)
|
|
1284
1297
|
|
|
1285
1298
|
### Bug Fixes
|
|
1286
1299
|
|
|
1287
|
-
|
|
1288
|
-
|
|
1300
|
+
* Registry: Fix an issue that leads to unable to log model in store procedure.
|
|
1301
|
+
* Modeling: Quick fix `import snowflake.ml.modeling.parameters.enable_anonymous_sproc` cannot be imported due to package
|
|
1289
1302
|
dependency error.
|
|
1290
1303
|
|
|
1291
1304
|
## 1.5.1 (05-22-2024)
|
|
1292
1305
|
|
|
1293
1306
|
### Bug Fixes
|
|
1294
1307
|
|
|
1295
|
-
|
|
1308
|
+
* Dataset: Fix `snowflake.connector.errors.DataError: Query Result did not match expected number of rows` when accessing
|
|
1296
1309
|
DatasetVersion properties when case insensitive `SHOW VERSIONS IN DATASET` check matches multiple version names.
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1310
|
+
* Dataset: Fix bug in SnowFS bulk file read when used with DuckDB
|
|
1311
|
+
* Registry: Fixed a bug when loading old models.
|
|
1312
|
+
* Lineage: Fix Dataset source lineage propagation through `snowpark.DataFrame` transformations
|
|
1300
1313
|
|
|
1301
1314
|
### Behavior Changes
|
|
1302
1315
|
|
|
1303
|
-
|
|
1304
|
-
|
|
1316
|
+
* Feature Store: convert clear() into a private function. Also make it deletes feature views and entities only.
|
|
1317
|
+
* Feature Store: Use NULL as default value for timestamp tag value.
|
|
1305
1318
|
|
|
1306
1319
|
### New Features
|
|
1307
1320
|
|
|
1308
|
-
|
|
1309
|
-
|
|
1321
|
+
* Feature Store: Added new `snowflake.ml.feature_store.setup_feature_store()` API to assist Feature Store RBAC setup.
|
|
1322
|
+
* Feature Store: Add `output_type` argument to `FeatureStore.generate_dataset()` to allow generating data snapshots
|
|
1310
1323
|
as Datasets or Tables.
|
|
1311
|
-
|
|
1312
|
-
|
|
1324
|
+
* Registry: `log_model`, `get_model`, `delete_model` now supports fully qualified name.
|
|
1325
|
+
* Modeling: Supports anonymous stored procedure during fit calls so that modeling would not require sufficient
|
|
1313
1326
|
permissions to operate on schema. Please call
|
|
1314
1327
|
`import snowflake.ml.modeling.parameters.enable_anonymous_sproc # noqa: F401`
|
|
1315
1328
|
|
|
@@ -1317,11 +1330,11 @@ data from explainablity and data lineage.
|
|
|
1317
1330
|
|
|
1318
1331
|
### Bug Fixes
|
|
1319
1332
|
|
|
1320
|
-
|
|
1333
|
+
* Registry: Fix invalid parameter 'SHOW_MODEL_DETAILS_IN_SHOW_VERSIONS_IN_MODEL' error.
|
|
1321
1334
|
|
|
1322
1335
|
### Behavior Changes
|
|
1323
1336
|
|
|
1324
|
-
|
|
1337
|
+
* Model Development: The behavior of `fit_transform` for all estimators is changed.
|
|
1325
1338
|
Firstly, it will cover all the estimator that contains this function,
|
|
1326
1339
|
secondly, the output would be the union of pandas DataFrame and snowpark DataFrame.
|
|
1327
1340
|
|
|
@@ -1329,167 +1342,167 @@ data from explainablity and data lineage.
|
|
|
1329
1342
|
|
|
1330
1343
|
`snowflake.ml.registry.artifact` and related `snowflake.ml.model_registry.ModelRegistry` APIs have been removed.
|
|
1331
1344
|
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1345
|
+
* Removed `snowflake.ml.registry.artifact` module.
|
|
1346
|
+
* Removed `ModelRegistry.log_artifact()`, `ModelRegistry.list_artifacts()`, `ModelRegistry.get_artifact()`
|
|
1347
|
+
* Removed `artifacts` argument from `ModelRegistry.log_model()`
|
|
1335
1348
|
|
|
1336
1349
|
#### Dataset (PrPr)
|
|
1337
1350
|
|
|
1338
1351
|
`snowflake.ml.dataset.Dataset` has been redesigned to be backed by Snowflake Dataset entities.
|
|
1339
1352
|
|
|
1340
|
-
|
|
1353
|
+
* New `Dataset`s can be created with `Dataset.create()` and existing `Dataset`s may be loaded
|
|
1341
1354
|
with `Dataset.load()`.
|
|
1342
|
-
|
|
1355
|
+
* `Dataset`s now maintain an immutable `selected_version` state. The `Dataset.create_version()` and
|
|
1343
1356
|
`Dataset.load_version()` APIs return new `Dataset` objects with the requested `selected_version` state.
|
|
1344
|
-
|
|
1357
|
+
* Added `dataset.create_from_dataframe()` and `dataset.load_dataset()` convenience APIs as a shortcut
|
|
1345
1358
|
to creating and loading `Dataset`s with a pre-selected version.
|
|
1346
|
-
|
|
1359
|
+
* `Dataset.materialized_table` and `Dataset.snapshot_table` no longer exist with `Dataset.fully_qualified_name`
|
|
1347
1360
|
as the closest equivalent.
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1361
|
+
* `Dataset.df` no longer exists. Instead, use `DatasetReader.read.to_snowpark_dataframe()`.
|
|
1362
|
+
* `Dataset.owner` has been moved to `Dataset.selected_version.owner`
|
|
1363
|
+
* `Dataset.desc` has been moved to `DatasetVersion.selected_version.comment`
|
|
1364
|
+
* `Dataset.timestamp_col`, `Dataset.label_cols`, `Dataset.feature_store_metadata`, and
|
|
1352
1365
|
`Dataset.schema_version` have been removed.
|
|
1353
1366
|
|
|
1354
1367
|
#### Feature Store (PrPr)
|
|
1355
1368
|
|
|
1356
|
-
|
|
1369
|
+
* `FeatureStore.generate_dataset` argument list has been changed to match the new
|
|
1357
1370
|
`snowflake.ml.dataset.Dataset` definition
|
|
1358
1371
|
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1372
|
+
* `materialized_table` has been removed and replaced with `name` and `version`.
|
|
1373
|
+
* `name` moved to first positional argument
|
|
1374
|
+
* `save_mode` has been removed as `merge` behavior is no longer supported. The new behavior is always `errorifexists`.
|
|
1362
1375
|
|
|
1363
|
-
|
|
1376
|
+
* Change feature view version type from str to `FeatureViewVersion`. It is a restricted string literal.
|
|
1364
1377
|
|
|
1365
|
-
|
|
1378
|
+
* Remove as_dataframe arg from FeatureStore.list_feature_views(), now always returns result as DataFrame.
|
|
1366
1379
|
|
|
1367
|
-
|
|
1380
|
+
* Combines few metadata tags into a new tag: SNOWML_FEATURE_VIEW_METADATA. This will make previously created feature views
|
|
1368
1381
|
not readable by new SDK.
|
|
1369
1382
|
|
|
1370
1383
|
### New Features
|
|
1371
1384
|
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1385
|
+
* Registry: Add `export` method to `ModelVersion` instance to export model files.
|
|
1386
|
+
* Registry: Add `load` method to `ModelVersion` instance to load the underlying object from the model.
|
|
1387
|
+
* Registry: Add `Model.rename` method to `Model` instance to rename or move a model.
|
|
1375
1388
|
|
|
1376
1389
|
#### Dataset (PrPr)
|
|
1377
1390
|
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1391
|
+
* Added Snowpark DataFrame integration using `Dataset.read.to_snowpark_dataframe()`
|
|
1392
|
+
* Added Pandas DataFrame integration using `Dataset.read.to_pandas()`
|
|
1393
|
+
* Added PyTorch and TensorFlow integrations using `Dataset.read.to_torch_datapipe()`
|
|
1381
1394
|
and `Dataset.read.to_tf_dataset()` respectively.
|
|
1382
|
-
|
|
1395
|
+
* Added `fsspec` style file integration using `Dataset.read.files()` and `Dataset.read.filesystem()`
|
|
1383
1396
|
|
|
1384
1397
|
#### Feature Store
|
|
1385
1398
|
|
|
1386
|
-
|
|
1399
|
+
* use new tag_reference_internal to speed up metadata lookup.
|
|
1387
1400
|
|
|
1388
1401
|
## 1.4.1 (2024-04-18)
|
|
1389
1402
|
|
|
1390
1403
|
### New Features
|
|
1391
1404
|
|
|
1392
|
-
|
|
1393
|
-
|
|
1405
|
+
* Registry: Add support for `catboost` model (`catboost.CatBoostClassifier`, `catboost.CatBoostRegressor`).
|
|
1406
|
+
* Registry: Add support for `lightgbm` model (`lightgbm.Booster`, `lightgbm.LightGBMClassifier`, `lightgbm.LightGBMRegressor`).
|
|
1394
1407
|
|
|
1395
1408
|
### Bug Fixes
|
|
1396
1409
|
|
|
1397
|
-
|
|
1410
|
+
* Registry: Fix a bug that leads to relax_version option is not working.
|
|
1398
1411
|
|
|
1399
1412
|
### Behavior changes
|
|
1400
1413
|
|
|
1401
|
-
|
|
1414
|
+
* Feature Store: update_feature_view takes refresh_freq and warehouse as argument.
|
|
1402
1415
|
|
|
1403
1416
|
## 1.4.0 (2024-04-08)
|
|
1404
1417
|
|
|
1405
1418
|
### Bug Fixes
|
|
1406
1419
|
|
|
1407
|
-
|
|
1420
|
+
* Registry: Fix a bug when multiple models are being called from the same query, models other than the first one will
|
|
1408
1421
|
have incorrect result. This fix only works for newly logged model.
|
|
1409
|
-
|
|
1422
|
+
* Modeling: When registering a model, only method(s) that is mentioned in `save_model` would be added to model signature
|
|
1410
1423
|
in SnowML models.
|
|
1411
|
-
|
|
1424
|
+
* Modeling: Fix a bug that when n_jobs is not 1, model cannot execute methods such as
|
|
1412
1425
|
predict, predict_log_proba, and other batch inference methods. The n_jobs would automatically
|
|
1413
1426
|
set to 1 because vectorized udf currently doesn't support joblib parallel backend.
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1427
|
+
* Modeling: Fix a bug that batch inference methods cannot infer the datatype when the first row of data contains NULL.
|
|
1428
|
+
* Modeling: Matches Distributed HPO output column names with the snowflake identifier.
|
|
1429
|
+
* Modeling: Relax package versions for all Distributed HPO methods if the installed version
|
|
1417
1430
|
is not available in the Snowflake conda channel
|
|
1418
|
-
|
|
1431
|
+
* Modeling: Add sklearn as required dependency for LightGBM package.
|
|
1419
1432
|
|
|
1420
1433
|
### Behavior Changes
|
|
1421
1434
|
|
|
1422
|
-
|
|
1435
|
+
* Registry: `apply` method is no longer by default logged when logging a xgboost model. If that is required, it could
|
|
1423
1436
|
be specified manually when logging the model by `log_model(..., options={"target_methods": ["apply", ...]})`.
|
|
1424
|
-
|
|
1425
|
-
|
|
1437
|
+
* Feature Store: register_entity returns an entity object.
|
|
1438
|
+
* Feature Store: register_feature_view `block=true` becomes default.
|
|
1426
1439
|
|
|
1427
1440
|
### New Features
|
|
1428
1441
|
|
|
1429
|
-
|
|
1430
|
-
|
|
1442
|
+
* Registry: Add support for `sentence-transformers` model (`sentence_transformers.SentenceTransformer`).
|
|
1443
|
+
* Registry: Now version name is no longer required when logging a model. If not provided, a random human readable ID
|
|
1431
1444
|
will be generated.
|
|
1432
1445
|
|
|
1433
1446
|
## 1.3.1 (2024-03-21)
|
|
1434
1447
|
|
|
1435
1448
|
### New Features
|
|
1436
1449
|
|
|
1437
|
-
|
|
1450
|
+
* FileSet: `snowflake.ml.fileset.sfcfs.SFFileSystem` can now be used in UDFs and stored procedures.
|
|
1438
1451
|
|
|
1439
1452
|
## 1.3.0 (2024-03-12)
|
|
1440
1453
|
|
|
1441
1454
|
### Bug Fixes
|
|
1442
1455
|
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1456
|
+
* Registry: Fix a bug that leads to module in `code_paths` when `log_model` cannot be correctly imported.
|
|
1457
|
+
* Registry: Fix incorrect error message when validating input Snowpark DataFrame with array feature.
|
|
1458
|
+
* Model Registry: Fix an issue when deploying a model to SPCS that some files do not have proper permission.
|
|
1459
|
+
* Model Development: Relax package versions for all inference methods if the installed version
|
|
1447
1460
|
is not available in the Snowflake conda channel
|
|
1448
1461
|
|
|
1449
1462
|
### Behavior Changes
|
|
1450
1463
|
|
|
1451
|
-
|
|
1464
|
+
* Registry: When running the method of a model, the value range based input validation to avoid input from overflowing
|
|
1452
1465
|
is now optional rather than enforced, this should improve the performance and should not lead to problem for most
|
|
1453
1466
|
kinds of model. If you want to enable this check as previous, specify `strict_input_validation=True` when
|
|
1454
1467
|
calling `run`.
|
|
1455
|
-
|
|
1468
|
+
* Registry: By default `relax_version=True` when logging a model instead of using the specific local dependency versions.
|
|
1456
1469
|
This improves dependency versioning by using versions available in Snowflake. To switch back to the previous behavior
|
|
1457
1470
|
and use specific local dependency versions, specify `relax_version=False` when calling `log_model`.
|
|
1458
|
-
|
|
1471
|
+
* Model Development: The behavior of `fit_predict` for all estimators is changed.
|
|
1459
1472
|
Firstly, it will cover all the estimator that contains this function,
|
|
1460
1473
|
secondly, the output would be the union of pandas DataFrame and snowpark DataFrame.
|
|
1461
1474
|
|
|
1462
1475
|
### New Features
|
|
1463
1476
|
|
|
1464
|
-
|
|
1477
|
+
* FileSet: `snowflake.ml.fileset.sfcfs.SFFileSystem` can now be serialized with `pickle`.
|
|
1465
1478
|
|
|
1466
1479
|
## 1.2.3 (2024-02-26)
|
|
1467
1480
|
|
|
1468
1481
|
### Bug Fixes
|
|
1469
1482
|
|
|
1470
|
-
|
|
1483
|
+
* Registry: Now when providing Decimal Type column to a DOUBLE or FLOAT feature will not error out but auto cast with
|
|
1471
1484
|
warnings.
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1485
|
+
* Registry: Improve the error message when specifying currently unsupported `pip_requirements` argument.
|
|
1486
|
+
* Model Development: Fix precision_recall_fscore_support incorrect results when `average="samples"`.
|
|
1487
|
+
* Model Registry: Fix an issue that leads to description, metrics or tags are not correctly returned in newly created
|
|
1475
1488
|
Model Registry (PrPr) due to Snowflake BCR [2024_01](https://docs.snowflake.com/en/release-notes/bcr-bundles/2024_01/bcr-1483)
|
|
1476
1489
|
|
|
1477
1490
|
### Behavior Changes
|
|
1478
1491
|
|
|
1479
|
-
|
|
1492
|
+
* Feature Store: `FeatureStore.suspend_feature_view` and `FeatureStore.resume_feature_view` doesn't mutate input feature
|
|
1480
1493
|
view argument any more. The updated status only reflected in the returned feature view object.
|
|
1481
1494
|
|
|
1482
1495
|
### New Features
|
|
1483
1496
|
|
|
1484
|
-
|
|
1497
|
+
* Model Development: support `score_samples` method for all the classes, including Pipeline,
|
|
1485
1498
|
GridSearchCV, RandomizedSearchCV, PCA, IsolationForest, ...
|
|
1486
|
-
|
|
1499
|
+
* Registry: Support deleting a version of a model.
|
|
1487
1500
|
|
|
1488
1501
|
## 1.2.2 (2024-02-13)
|
|
1489
1502
|
|
|
1490
1503
|
### New Features
|
|
1491
1504
|
|
|
1492
|
-
|
|
1505
|
+
* Model Registry: Support providing external access integrations when deploying a model to SPCS. This will help and be
|
|
1493
1506
|
required to make sure the deploying process work as long as SPCS will by default deny all network connections. The
|
|
1494
1507
|
following endpoints must be allowed to make deployment work: docker.com:80, docker.com:443, anaconda.com:80,
|
|
1495
1508
|
anaconda.com:443, anaconda.org:80, anaconda.org:443, pypi.org:80, pypi.org:443. If you are using
|
|
@@ -1500,30 +1513,30 @@ not readable by new SDK.
|
|
|
1500
1513
|
|
|
1501
1514
|
### New Features
|
|
1502
1515
|
|
|
1503
|
-
|
|
1504
|
-
|
|
1516
|
+
* Model Development: Infers output column data type for transformers when possible.
|
|
1517
|
+
* Registry: `relax_version` option is available in the `options` argument when logging the model.
|
|
1505
1518
|
|
|
1506
1519
|
## 1.2.0 (2024-01-11)
|
|
1507
1520
|
|
|
1508
1521
|
### Bug Fixes
|
|
1509
1522
|
|
|
1510
|
-
|
|
1523
|
+
* Model Registry: Fix "XGBoost version not compiled with GPU support" error when running CPU inference against open-source
|
|
1511
1524
|
XGBoost models deployed to SPCS.
|
|
1512
|
-
|
|
1525
|
+
* Model Registry: Fix model deployment to SPCS on Windows machines.
|
|
1513
1526
|
|
|
1514
1527
|
### New Features
|
|
1515
1528
|
|
|
1516
|
-
|
|
1529
|
+
* Model Development: Introduced XGBoost external memory training feature. This feature enables training XGBoost models
|
|
1517
1530
|
on large datasets that don't fit into memory.
|
|
1518
|
-
|
|
1531
|
+
* Registry: New Registry class named `snowflake.ml.registry.Registry` providing similar APIs as the old one but works
|
|
1519
1532
|
with new MODEL object in Snowflake SQL. Also, we are providing`snowflake.ml.model.Model` and
|
|
1520
1533
|
`snowflake.ml.model.ModelVersion` to represent a model and a specific version of a model.
|
|
1521
|
-
|
|
1522
|
-
|
|
1534
|
+
* Model Development: Add support for `fit_predict` method in `AgglomerativeClustering`, `DBSCAN`, and `OPTICS` classes;
|
|
1535
|
+
* Model Development: Add support for `fit_transform` method in `MDS`, `SpectralEmbedding` and `TSNE` class.
|
|
1523
1536
|
|
|
1524
1537
|
### Additional Notes
|
|
1525
1538
|
|
|
1526
|
-
|
|
1539
|
+
* Model Registry: The `snowflake.ml.registry.model_registry.ModelRegistry` has been deprecated starting from version
|
|
1527
1540
|
1.2.0. It will stay in the Private Preview phase. For future implementations, kindly utilize
|
|
1528
1541
|
`snowflake.ml.registry.Registry`, except when specifically required. The old model registry will be removed once all
|
|
1529
1542
|
its primary functionalities are fully integrated into the new registry.
|
|
@@ -1532,30 +1545,30 @@ not readable by new SDK.
|
|
|
1532
1545
|
|
|
1533
1546
|
### Bug Fixes
|
|
1534
1547
|
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1548
|
+
* Generic: Fix the issue that stack trace is hidden by telemetry unexpectedly.
|
|
1549
|
+
* Model Development: Execute model signature inference without materializing full dataframe in memory.
|
|
1550
|
+
* Model Registry: Fix occasional 'snowflake-ml-python library does not exist' error when deploying to SPCS.
|
|
1538
1551
|
|
|
1539
1552
|
### Behavior Changes
|
|
1540
1553
|
|
|
1541
|
-
|
|
1542
|
-
|
|
1554
|
+
* Model Registry: When calling `predict` with Snowpark DataFrame, both inferred or normalized column names are accepted.
|
|
1555
|
+
* Model Registry: When logging a Snowpark ML Modeling Model, sample input data or manually provided signature will be
|
|
1543
1556
|
ignored since they are not necessary.
|
|
1544
1557
|
|
|
1545
1558
|
### New Features
|
|
1546
1559
|
|
|
1547
|
-
|
|
1560
|
+
* Model Development: SQL implementation of binary `precision_score` metric.
|
|
1548
1561
|
|
|
1549
1562
|
## 1.1.1 (2023-12-05)
|
|
1550
1563
|
|
|
1551
1564
|
### Bug Fixes
|
|
1552
1565
|
|
|
1553
|
-
|
|
1554
|
-
|
|
1566
|
+
* Model Registry: The `predict` target method on registered models is now compatible with unsupervised estimators.
|
|
1567
|
+
* Model Development: Fix confusion_matrix incorrect results when the row number cannot be divided by the batch size.
|
|
1555
1568
|
|
|
1556
1569
|
### New Features
|
|
1557
1570
|
|
|
1558
|
-
|
|
1571
|
+
* Introduced passthrough_col param in Modeling API. This new param is helpful in scenarios
|
|
1559
1572
|
requiring automatic input_cols inference, but need to avoid using specific
|
|
1560
1573
|
columns, like index columns, during training or inference.
|
|
1561
1574
|
|
|
@@ -1563,165 +1576,165 @@ not readable by new SDK.
|
|
|
1563
1576
|
|
|
1564
1577
|
### Bug Fixes
|
|
1565
1578
|
|
|
1566
|
-
|
|
1567
|
-
|
|
1579
|
+
* Model Registry: Fix panda dataframe input not handling first row properly.
|
|
1580
|
+
* Model Development: OrdinalEncoder and LabelEncoder output_columns do not need to be valid snowflake identifiers. They
|
|
1568
1581
|
would previously be excluded if the normalized name did not match the name specified in output_columns.
|
|
1569
1582
|
|
|
1570
1583
|
### New Features
|
|
1571
1584
|
|
|
1572
|
-
|
|
1585
|
+
* Model Registry: Add support for invoking public endpoint on SPCS service, by providing a "enable_ingress" SPCS
|
|
1573
1586
|
deployment option.
|
|
1574
|
-
|
|
1587
|
+
* Model Development: Add support for distributed HPO - GridSearchCV and RandomizedSearchCV execution will be
|
|
1575
1588
|
distributed on multi-node warehouses.
|
|
1576
1589
|
|
|
1577
1590
|
## 1.0.12 (2023-11-13)
|
|
1578
1591
|
|
|
1579
1592
|
### Bug Fixes
|
|
1580
1593
|
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
1594
|
+
* Model Registry: Fix regression issue that container logging is not shown during model deployment to SPCS.
|
|
1595
|
+
* Model Development: Enhance the column capacity of OrdinalEncoder.
|
|
1596
|
+
* Model Registry: Fix unbound `batch_size` error when deploying a model other than Hugging Face Pipeline
|
|
1584
1597
|
and LLM with GPU on SPCS.
|
|
1585
1598
|
|
|
1586
1599
|
### Behavior Changes
|
|
1587
1600
|
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1601
|
+
* Model Registry: Raise early error when deploying to SPCS with db/schema that starts with underscore.
|
|
1602
|
+
* Model Registry: `conda-forge` channel is now automatically added to channel lists when deploying to SPCS.
|
|
1603
|
+
* Model Registry: `relax_version` will not strip all version specifier, instead it will relax `==x.y.z` specifier to
|
|
1591
1604
|
`>=x.y,<(x+1)`.
|
|
1592
|
-
|
|
1605
|
+
* Model Registry: Python with different patchlevel but the same major and minor will not result a warning when loading
|
|
1593
1606
|
the model via Model Registry and would be considered to use when deploying to SPCS.
|
|
1594
|
-
|
|
1607
|
+
* Model Registry: When logging a `snowflake.ml.model.models.huggingface_pipeline.HuggingFacePipelineModel` object,
|
|
1595
1608
|
versions of local installed libraries won't be picked as dependencies of models, instead it will pick up some pre-
|
|
1596
1609
|
defined dependencies to improve user experience.
|
|
1597
1610
|
|
|
1598
1611
|
### New Features
|
|
1599
1612
|
|
|
1600
|
-
|
|
1613
|
+
* Model Registry: Enable best-effort SPCS job/service log streaming when logging level is set to INFO.
|
|
1601
1614
|
|
|
1602
1615
|
## 1.0.11 (2023-10-27)
|
|
1603
1616
|
|
|
1604
1617
|
### New Features
|
|
1605
1618
|
|
|
1606
|
-
|
|
1607
|
-
|
|
1619
|
+
* Model Registry: Add log_artifact() public method.
|
|
1620
|
+
* Model Development: Add support for `kneighbors`.
|
|
1608
1621
|
|
|
1609
1622
|
### Behavior Changes
|
|
1610
1623
|
|
|
1611
|
-
|
|
1612
|
-
|
|
1624
|
+
* Model Registry: Change log_model() argument from TrainingDataset to List of Artifact.
|
|
1625
|
+
* Model Registry: Change get_training_dataset() to get_artifact().
|
|
1613
1626
|
|
|
1614
1627
|
### Bug Fixes
|
|
1615
1628
|
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1629
|
+
* Model Development: Fix support for XGBoost and LightGBM models using SKLearn Grid Search and Randomized Search model selectors.
|
|
1630
|
+
* Model Development: DecimalType is now supported as a DataType.
|
|
1631
|
+
* Model Development: Fix metrics compatibility with Snowpark Dataframes that use Snowflake identifiers
|
|
1632
|
+
* Model Registry: Resolve 'delete_deployment' not deleting the SPCS service in certain cases.
|
|
1620
1633
|
|
|
1621
1634
|
## 1.0.10 (2023-10-13)
|
|
1622
1635
|
|
|
1623
1636
|
### Behavior Changes
|
|
1624
1637
|
|
|
1625
|
-
|
|
1638
|
+
* Model Development: precision_score, recall_score, f1_score, fbeta_score, precision_recall_fscore_support,
|
|
1626
1639
|
mean_absolute_error, mean_squared_error, and mean_absolute_percentage_error metric calculations are now distributed.
|
|
1627
|
-
|
|
1640
|
+
* Model Registry: `deploy` will now return `Deployment` for deployment information.
|
|
1628
1641
|
|
|
1629
1642
|
### New Features
|
|
1630
1643
|
|
|
1631
|
-
|
|
1632
|
-
|
|
1644
|
+
* Model Registry: When the model signature is auto-inferred, it will be printed to the log for reference.
|
|
1645
|
+
* Model Registry: For SPCS deployment, `Deployment` details will contains `image_name`, `service_spec` and `service_function_sql`.
|
|
1633
1646
|
|
|
1634
1647
|
### Bug Fixes
|
|
1635
1648
|
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1649
|
+
* Model Development: Fix an issue that leading to UTF-8 decoding errors when using modeling modules on Windows.
|
|
1650
|
+
* Model Development: Fix an issue that alias definitions cause `SnowparkSQLUnexpectedAliasException` in inference.
|
|
1651
|
+
* Model Registry: Fix an issue that signature inference could be incorrect when using Snowpark DataFrame as sample input.
|
|
1652
|
+
* Model Registry: Fix too strict data type validation when predicting. Now, for example, if you have a INT8
|
|
1640
1653
|
type feature in the signature, if providing a INT64 dataframe but all values are within the range, it would not fail.
|
|
1641
1654
|
|
|
1642
1655
|
## 1.0.9 (2023-09-28)
|
|
1643
1656
|
|
|
1644
1657
|
### Behavior Changes
|
|
1645
1658
|
|
|
1646
|
-
|
|
1659
|
+
* Model Development: log_loss metric calculation is now distributed.
|
|
1647
1660
|
|
|
1648
1661
|
### Bug Fixes
|
|
1649
1662
|
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1663
|
+
* Model Registry: Fix an issue that building images fails with specific docker setup.
|
|
1664
|
+
* Model Registry: Fix an issue that unable to embed local ML library when the library is imported by `zipimport`.
|
|
1665
|
+
* Model Registry: Fix out-of-date doc about `platform` argument in the `deploy` function.
|
|
1666
|
+
* Model Registry: Fix an issue that unable to deploy a GPU-trained PyTorch model to a platform where GPU is not available.
|
|
1654
1667
|
|
|
1655
1668
|
## 1.0.8 (2023-09-15)
|
|
1656
1669
|
|
|
1657
1670
|
### Bug Fixes
|
|
1658
1671
|
|
|
1659
|
-
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
|
|
1672
|
+
* Model Development: Ordinal encoder can be used with mixed input column types.
|
|
1673
|
+
* Model Development: Fix an issue when the sklearn default value is `np.nan`.
|
|
1674
|
+
* Model Registry: Fix an issue that incorrect docker executable is used when building images.
|
|
1675
|
+
* Model Registry: Fix an issue that specifying `token` argument when using
|
|
1663
1676
|
`snowflake.ml.model.models.huggingface_pipeline.HuggingFacePipelineModel` with `transformers < 4.32.0` is not effective.
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1677
|
+
* Model Registry: Fix an issue that incorrect system function call is used when deploying to SPCS.
|
|
1678
|
+
* Model Registry: Fix an issue when using a `transformers.pipeline` that does not have a `tokenizer`.
|
|
1679
|
+
* Model Registry: Fix incorrectly-inferred image repository name during model deployment to SPCS.
|
|
1680
|
+
* Model Registry: Fix GPU resource retention issue caused by failed or stuck previous deployments in SPCS.
|
|
1668
1681
|
|
|
1669
1682
|
## 1.0.7 (2023-09-05)
|
|
1670
1683
|
|
|
1671
1684
|
### Bug Fixes
|
|
1672
1685
|
|
|
1673
|
-
|
|
1674
|
-
|
|
1686
|
+
* Model Development & Model Registry: Fix an error related to `pandas.io.json.json_normalize`.
|
|
1687
|
+
* Allow disabling telemetry.
|
|
1675
1688
|
|
|
1676
1689
|
## 1.0.6 (2023-09-01)
|
|
1677
1690
|
|
|
1678
1691
|
### New Features
|
|
1679
1692
|
|
|
1680
|
-
|
|
1681
|
-
|
|
1682
|
-
|
|
1693
|
+
* Model Registry: add `create_if_not_exists` parameter in constructor.
|
|
1694
|
+
* Model Registry: Added get_or_create_model_registry API.
|
|
1695
|
+
* Model Registry: Added support for using GPU inference when deploying XGBoost (`xgboost.XGBModel` and `xgboost.Booster`
|
|
1683
1696
|
), PyTorch (`torch.nn.Module` and `torch.jit.ScriptModule`) and TensorFlow (`tensorflow.Module` and
|
|
1684
1697
|
`tensorflow.keras.Model`) models to Snowpark Container Services.
|
|
1685
|
-
|
|
1698
|
+
* Model Registry: When inferring model signature, `Sequence` of built-in types, `Sequence` of `numpy.ndarray`,
|
|
1686
1699
|
`Sequence` of `torch.Tensor`, `Sequence` of `tensorflow.Tensor` and `Sequence` of `tensorflow.Tensor` can be used
|
|
1687
1700
|
instead of only `List` of them.
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
|
|
1701
|
+
* Model Registry: Added `get_training_dataset` API.
|
|
1702
|
+
* Model Development: Size of metrics result can exceed previous 8MB limit.
|
|
1703
|
+
* Model Registry: Added support save/load/deploy HuggingFace pipeline object (`transformers.Pipeline`) and our wrapper
|
|
1691
1704
|
(`snowflake.ml.model.models.huggingface_pipeline.HuggingFacePipelineModel`) to it. Using the wrapper to specify
|
|
1692
1705
|
configurations and the model for the pipeline will be loaded dynamically when deploying. Currently, following tasks
|
|
1693
1706
|
are supported to log without manually specifying model signatures:
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
|
|
1701
|
-
|
|
1702
|
-
|
|
1703
|
-
|
|
1704
|
-
|
|
1705
|
-
|
|
1707
|
+
* "conversational"
|
|
1708
|
+
* "fill-mask"
|
|
1709
|
+
* "question-answering"
|
|
1710
|
+
* "summarization"
|
|
1711
|
+
* "table-question-answering"
|
|
1712
|
+
* "text2text-generation"
|
|
1713
|
+
* "text-classification" (alias "sentiment-analysis" available)
|
|
1714
|
+
* "text-generation"
|
|
1715
|
+
* "token-classification" (alias "ner" available)
|
|
1716
|
+
* "translation"
|
|
1717
|
+
* "translation_xx_to_yy"
|
|
1718
|
+
* "zero-shot-classification"
|
|
1706
1719
|
|
|
1707
1720
|
### Bug Fixes
|
|
1708
1721
|
|
|
1709
|
-
|
|
1710
|
-
|
|
1722
|
+
* Model Development: Fixed a bug when using simple imputer with numpy >= 1.25.
|
|
1723
|
+
* Model Development: Fixed a bug when inferring the type of label columns.
|
|
1711
1724
|
|
|
1712
1725
|
### Behavior Changes
|
|
1713
1726
|
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1727
|
+
* Model Registry: `log_model()` now return a `ModelReference` object instead of a model ID.
|
|
1728
|
+
* Model Registry: When deploying a model with 1 `target method` only, the `target_method` argument can be omitted.
|
|
1729
|
+
* Model Registry: When using the snowflake-ml-python with version newer than what is available in Snowflake Anaconda
|
|
1717
1730
|
Channel, `embed_local_ml_library` option will be set as `True` automatically if not.
|
|
1718
|
-
|
|
1731
|
+
* Model Registry: When deploying a model to Snowpark Container Services and using GPU, the default value of num_workers
|
|
1719
1732
|
will be 1.
|
|
1720
|
-
|
|
1733
|
+
* Model Registry: `keep_order` and `output_with_input_features` in the deploy options have been removed. Now the
|
|
1721
1734
|
behavior is controlled by the type of the input when calling `model.predict()`. If the input is a `pandas.DataFrame`,
|
|
1722
1735
|
the behavior will be the same as `keep_order=True` and `output_with_input_features=False` before. If the input is a
|
|
1723
1736
|
`snowpark.DataFrame`, the behavior will be the same as `keep_order=False` and `output_with_input_features=True` before.
|
|
1724
|
-
|
|
1737
|
+
* Model Registry: When logging and deploying PyTorch (`torch.nn.Module` and `torch.jit.ScriptModule`) and TensorFlow
|
|
1725
1738
|
(`tensorflow.Module` and `tensorflow.keras.Model`) models, we no longer accept models whose input is a list of tensor
|
|
1726
1739
|
and output is a list of tensors. Instead, now we accept models whose input is 1 or more tensors as positional arguments,
|
|
1727
1740
|
and output is a tensor or a tuple of tensors. The input and output dataframe when predicting keep the same as before,
|
|
@@ -1731,53 +1744,53 @@ not readable by new SDK.
|
|
|
1731
1744
|
|
|
1732
1745
|
### New Features
|
|
1733
1746
|
|
|
1734
|
-
|
|
1735
|
-
|
|
1747
|
+
* Model Registry: Added support save/load/deploy xgboost Booster model.
|
|
1748
|
+
* Model Registry: Added support to get the model name and the model version from model references.
|
|
1736
1749
|
|
|
1737
1750
|
### Bug Fixes
|
|
1738
1751
|
|
|
1739
|
-
|
|
1740
|
-
|
|
1752
|
+
* Model Registry: Restore the db/schema back to the session after `create_model_registry()`.
|
|
1753
|
+
* Model Registry: Fixed an issue that the UDF name created when deploying a model is not identical to what is provided
|
|
1741
1754
|
and cannot be correctly dropped when deployment getting dropped.
|
|
1742
|
-
|
|
1755
|
+
* connection_params.SnowflakeLoginOptions(): Added support for `private_key_path`.
|
|
1743
1756
|
|
|
1744
1757
|
## 1.0.4 (2023-07-28)
|
|
1745
1758
|
|
|
1746
1759
|
### New Features
|
|
1747
1760
|
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1761
|
+
* Model Registry: Added support save/load/deploy Tensorflow models (`tensorflow.Module`).
|
|
1762
|
+
* Model Registry: Added support save/load/deploy MLFlow PyFunc models (`mlflow.pyfunc.PyFuncModel`).
|
|
1763
|
+
* Model Development: Input dataframes can now be joined against data loaded from staged files.
|
|
1764
|
+
* Model Development: Added support for non-English languages.
|
|
1752
1765
|
|
|
1753
1766
|
### Bug Fixes
|
|
1754
1767
|
|
|
1755
|
-
|
|
1768
|
+
* Model Registry: Fix an issue that model dependencies are incorrectly reported as unresolvable on certain platforms.
|
|
1756
1769
|
|
|
1757
1770
|
## 1.0.3 (2023-07-14)
|
|
1758
1771
|
|
|
1759
1772
|
### Behavior Changes
|
|
1760
1773
|
|
|
1761
|
-
|
|
1774
|
+
* Model Registry: When predicting a model whose output is a list of NumPy ndarray, the output would not be flattened,
|
|
1762
1775
|
instead, every ndarray will act as a feature(column) in the output.
|
|
1763
1776
|
|
|
1764
1777
|
### New Features
|
|
1765
1778
|
|
|
1766
|
-
|
|
1779
|
+
* Model Registry: Added support save/load/deploy PyTorch models (`torch.nn.Module` and `torch.jit.ScriptModule`).
|
|
1767
1780
|
|
|
1768
1781
|
### Bug Fixes
|
|
1769
1782
|
|
|
1770
|
-
|
|
1783
|
+
* Model Registry: Fix an issue that when database or schema name provided to `create_model_registry` contains special
|
|
1771
1784
|
characters, the model registry cannot be created.
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1785
|
+
* Model Registry: Fix an issue that `get_model_description` returns with additional quotes.
|
|
1786
|
+
* Model Registry: Fix incorrect error message when attempting to remove a unset tag of a model.
|
|
1787
|
+
* Model Registry: Fix a typo in the default deployment table name.
|
|
1788
|
+
* Model Registry: Snowpark dataframe for sample input or input for `predict` method that contains a column with
|
|
1776
1789
|
Snowflake `NUMBER(precision, scale)` data type where `scale = 0` will not lead to error, and will now correctly
|
|
1777
1790
|
recognized as `INT64` data type in model signature.
|
|
1778
|
-
|
|
1791
|
+
* Model Registry: Fix an issue that prevent model logged in the system whose default encoding is not UTF-8 compatible
|
|
1779
1792
|
from deploying.
|
|
1780
|
-
|
|
1793
|
+
* Model Registry: Added earlier and better error message when any file name in the model or the file name of model
|
|
1781
1794
|
itself contains characters that are unable to be encoded using ASCII. It is currently not supported to deploy such a
|
|
1782
1795
|
model.
|
|
1783
1796
|
|
|
@@ -1785,181 +1798,181 @@ not readable by new SDK.
|
|
|
1785
1798
|
|
|
1786
1799
|
### Behavior Changes
|
|
1787
1800
|
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
|
|
1801
|
+
* Model Registry: Prohibit non-snowflake-native models from being logged.
|
|
1802
|
+
* Model Registry: `_use_local_snowml` parameter in options of `deploy()` has been removed.
|
|
1803
|
+
* Model Registry: A default `False` `embed_local_ml_library` parameter has been added to the options of `log_model()`.
|
|
1791
1804
|
With this set to `False` (default), the version of the local snowflake-ml-python library will be recorded and used when
|
|
1792
1805
|
deploying the model. With this set to `True`, local snowflake-ml-python library will be embedded into the logged model,
|
|
1793
1806
|
and will be used when you load or deploy the model.
|
|
1794
1807
|
|
|
1795
1808
|
### New Features
|
|
1796
1809
|
|
|
1797
|
-
|
|
1810
|
+
* Model Registry: A new optional argument named `code_paths` has been added to the arguments of `log_model()` for users
|
|
1798
1811
|
to specify additional code paths to be imported when loading and deploying the model.
|
|
1799
|
-
|
|
1812
|
+
* Model Registry: A new optional argument named `options` has been added to the arguments of `log_model()` to specify
|
|
1800
1813
|
any additional options when saving the model.
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1814
|
+
* Model Development: Added metrics:
|
|
1815
|
+
* d2_absolute_error_score
|
|
1816
|
+
* d2_pinball_score
|
|
1817
|
+
* explained_variance_score
|
|
1818
|
+
* mean_absolute_error
|
|
1819
|
+
* mean_absolute_percentage_error
|
|
1820
|
+
* mean_squared_error
|
|
1808
1821
|
|
|
1809
1822
|
### Bug Fixes
|
|
1810
1823
|
|
|
1811
|
-
|
|
1824
|
+
* Model Development: `accuracy_score()` now works when given label column names are lists of a single value.
|
|
1812
1825
|
|
|
1813
1826
|
## 1.0.1 (2023-06-16)
|
|
1814
1827
|
|
|
1815
1828
|
### Behavior Changes
|
|
1816
1829
|
|
|
1817
|
-
|
|
1818
|
-
|
|
1830
|
+
* Model Development: Changed Metrics APIs to imitate sklearn metrics modules:
|
|
1831
|
+
* `accuracy_score()`, `confusion_matrix()`, `precision_recall_fscore_support()`, `precision_score()` methods move from
|
|
1819
1832
|
respective modules to `metrics.classification`.
|
|
1820
|
-
|
|
1821
|
-
|
|
1833
|
+
* Model Registry: The default table/stage created by the Registry now uses "_SYSTEM_" as a prefix.
|
|
1834
|
+
* Model Registry: `get_model_history()` method as been enhanced to include the history of model deployment.
|
|
1822
1835
|
|
|
1823
1836
|
### New Features
|
|
1824
1837
|
|
|
1825
|
-
|
|
1838
|
+
* Model Registry: A default `False` flag named `replace_udf` has been added to the options of `deploy()`. Setting this
|
|
1826
1839
|
to `True` will allow overwrite existing UDF with the same name when deploying.
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
1840
|
+
* Model Development: Added metrics:
|
|
1841
|
+
* f1_score
|
|
1842
|
+
* fbeta_score
|
|
1843
|
+
* recall_score
|
|
1844
|
+
* roc_auc_score
|
|
1845
|
+
* roc_curve
|
|
1846
|
+
* log_loss
|
|
1847
|
+
* precision_recall_curve
|
|
1848
|
+
* Model Registry: A new argument named `permanent` has been added to the argument of `deploy()`. Setting this to `True`
|
|
1836
1849
|
allows the creation of a permanent deployment without needing to specify the UDF location.
|
|
1837
|
-
|
|
1850
|
+
* Model Registry: A new method `list_deployments()` has been added to enumerate all permanent deployments originating
|
|
1838
1851
|
from a specific model.
|
|
1839
|
-
|
|
1840
|
-
|
|
1852
|
+
* Model Registry: A new method `get_deployment()` has been added to fetch a deployment by its deployment name.
|
|
1853
|
+
* Model Registry: A new method `delete_deployment()` has been added to remove an existing permanent deployment.
|
|
1841
1854
|
|
|
1842
1855
|
## 1.0.0 (2023-06-09)
|
|
1843
1856
|
|
|
1844
1857
|
### Behavior Changes
|
|
1845
1858
|
|
|
1846
|
-
|
|
1847
|
-
|
|
1859
|
+
* Model Registry: `predict()` method moves from Registry to ModelReference.
|
|
1860
|
+
* Model Registry: `_snowml_wheel_path` parameter in options of `deploy()`, is replaced with `_use_local_snowml` with
|
|
1848
1861
|
default value of `False`. Setting this to `True` will have the same effect of uploading local SnowML code when executing
|
|
1849
1862
|
model in the warehouse.
|
|
1850
|
-
|
|
1851
|
-
|
|
1863
|
+
* Model Registry: Removed `id` field from `ModelReference` constructor.
|
|
1864
|
+
* Model Development: Preprocessing and Metrics move to the modeling package: `snowflake.ml.modeling.preprocessing` and
|
|
1852
1865
|
`snowflake.ml.modeling.metrics`.
|
|
1853
|
-
|
|
1866
|
+
* Model Development: `get_sklearn_object()` method is renamed to `to_sklearn()`, `to_xgboost()`, and `to_lightgbm()` for
|
|
1854
1867
|
respective native models.
|
|
1855
1868
|
|
|
1856
1869
|
### New Features
|
|
1857
1870
|
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1871
|
+
* Added PolynomialFeatures transformer to the snowflake.ml.modeling.preprocessing module.
|
|
1872
|
+
* Added metrics:
|
|
1873
|
+
* accuracy_score
|
|
1874
|
+
* confusion_matrix
|
|
1875
|
+
* precision_recall_fscore_support
|
|
1876
|
+
* precision_score
|
|
1864
1877
|
|
|
1865
1878
|
### Bug Fixes
|
|
1866
1879
|
|
|
1867
|
-
|
|
1868
|
-
|
|
1880
|
+
* Model Registry: Model version can now be any string (not required to be a valid identifier)
|
|
1881
|
+
* Model Deployment: `deploy()` & `predict()` methods now correctly escapes identifiers
|
|
1869
1882
|
|
|
1870
1883
|
## 0.3.2 (2023-05-23)
|
|
1871
1884
|
|
|
1872
1885
|
### Behavior Changes
|
|
1873
1886
|
|
|
1874
|
-
|
|
1887
|
+
* Use cloudpickle to serialize and deserialize models throughout the codebase and removed dependency on joblib.
|
|
1875
1888
|
|
|
1876
1889
|
### New Features
|
|
1877
1890
|
|
|
1878
|
-
|
|
1891
|
+
* Model Deployment: Added support for snowflake.ml models.
|
|
1879
1892
|
|
|
1880
1893
|
## 0.3.1 (2023-05-18)
|
|
1881
1894
|
|
|
1882
1895
|
### Behavior Changes
|
|
1883
1896
|
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1897
|
+
* Standardized registry API with following
|
|
1898
|
+
* Create & open registry taking same set of arguments
|
|
1899
|
+
* Create & Open can choose schema to use
|
|
1900
|
+
* Set_tag, set_metric, etc now explicitly calls out arg name as metric_name, tag_name, metric_name, etc.
|
|
1888
1901
|
|
|
1889
1902
|
### New Features
|
|
1890
1903
|
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1904
|
+
* Changes to support python 3.9, 3.10
|
|
1905
|
+
* Added kBinsDiscretizer
|
|
1906
|
+
* Support for deployment of XGBoost models & int8 types of data
|
|
1894
1907
|
|
|
1895
1908
|
## 0.3.0 (2023-05-11)
|
|
1896
1909
|
|
|
1897
1910
|
### Behavior Changes
|
|
1898
1911
|
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1912
|
+
* Big Model Registry Refresh
|
|
1913
|
+
* Fixed API discrepancies between register_model & log_model.
|
|
1914
|
+
* Model can be referred by Name + Version (no opaque internal id is required)
|
|
1902
1915
|
|
|
1903
1916
|
### New Features
|
|
1904
1917
|
|
|
1905
|
-
|
|
1918
|
+
* Model Registry: Added support save/load/deploy SKL & XGB Models
|
|
1906
1919
|
|
|
1907
1920
|
## 0.2.3 (2023-04-27)
|
|
1908
1921
|
|
|
1909
1922
|
### Bug Fixes
|
|
1910
1923
|
|
|
1911
|
-
|
|
1924
|
+
* Allow using OneHotEncoder along with sklearn style estimators in a pipeline.
|
|
1912
1925
|
|
|
1913
1926
|
### New Features
|
|
1914
1927
|
|
|
1915
|
-
|
|
1928
|
+
* Model Registry: Added support for delete_model. Use delete_artifact = False to not delete the underlying model data
|
|
1916
1929
|
but just unregister.
|
|
1917
1930
|
|
|
1918
1931
|
## 0.2.2 (2023-04-11)
|
|
1919
1932
|
|
|
1920
1933
|
### New Features
|
|
1921
1934
|
|
|
1922
|
-
|
|
1923
|
-
|
|
1935
|
+
* Initial version of snowflake-ml modeling package.
|
|
1936
|
+
* Provide support for training most of scikit-learn and xgboost estimators and transformers.
|
|
1924
1937
|
|
|
1925
1938
|
### Bug Fixes
|
|
1926
1939
|
|
|
1927
|
-
|
|
1940
|
+
* Minor fixes in preprocessing package.
|
|
1928
1941
|
|
|
1929
1942
|
## 0.2.1 (2023-03-23)
|
|
1930
1943
|
|
|
1931
1944
|
### New Features
|
|
1932
1945
|
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1946
|
+
* New in Preprocessing:
|
|
1947
|
+
* SimpleImputer
|
|
1948
|
+
* Covariance Matrix
|
|
1949
|
+
* Optimization of Ordinal Encoder client computations.
|
|
1937
1950
|
|
|
1938
1951
|
### Bug Fixes
|
|
1939
1952
|
|
|
1940
|
-
|
|
1953
|
+
* Minor fixes in OneHotEncoder.
|
|
1941
1954
|
|
|
1942
1955
|
## 0.2.0 (2023-02-27)
|
|
1943
1956
|
|
|
1944
1957
|
### New Features
|
|
1945
1958
|
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1959
|
+
* Model Registry
|
|
1960
|
+
* PyTorch & Tensorflow connector file generic FileSet API
|
|
1961
|
+
* New to Preprocessing:
|
|
1962
|
+
* Binarizer
|
|
1963
|
+
* Normalizer
|
|
1964
|
+
* Pearson correlation Matrix
|
|
1965
|
+
* Optimization in Ordinal Encoder to cache vocabulary in temp tables.
|
|
1953
1966
|
|
|
1954
1967
|
## 0.1.3 (2023-02-02)
|
|
1955
1968
|
|
|
1956
1969
|
### New Features
|
|
1957
1970
|
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
|
|
1965
|
-
|
|
1971
|
+
* Initial version of transformers including:
|
|
1972
|
+
* Label Encoder
|
|
1973
|
+
* Max Abs Scaler
|
|
1974
|
+
* Min Max Scaler
|
|
1975
|
+
* One Hot Encoder
|
|
1976
|
+
* Ordinal Encoder
|
|
1977
|
+
* Robust Scaler
|
|
1978
|
+
* Standard Scaler
|