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