@@ -8,16 +8,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
88## [ Unreleased] ( https://github.com/stac-extensions/mlm/tree/main )
99
1010### Added
11- - n/a
11+ - Add explicit check of ` value_scaling ` sub-fields ` minimum ` , ` maximum ` , ` mean ` , ` stddev ` , etc. for
12+ corresponding ` type ` values ` min-max ` and ` z-score ` that depend on it.
13+ - Allow different ` value_scaling ` operations per band/channel/dimension as needed by the model.
14+ - Allow a ` processing:expression ` for a band/channel/dimension-specific ` value_scaling ` operation,
15+ granting more flexibility in the definition of input preparation in contrast to having it applied
16+ for the entire input (but still possible).
1217
1318### Changed
14- - n/a
19+ - Moved ` norm_type ` to ` value_scaling ` object to better reflect the expected operation, which could be another
20+ operation than what is typically known as "normalization" or "standardization" techniques in machine learning.
21+ - Moved ` statistics ` to ` value_scaling ` object to better reflect their mutual ` type ` and additional
22+ properties dependencies.
1523
1624### Deprecated
1725- n/a
1826
1927### Removed
20- - n/a
28+ - Removed ` norm_type ` enum values that were ambiguous regarding their expected result.
29+ Instead, a ` processing:expression ` should be employed to explicitly define the calculation they represent.
30+ - Removed ` norm_clip ` property. It is now represented under ` value_scaling ` objects with a
31+ corresponding ` type ` definition.
32+ - Removed ` norm_by_channel ` from ` mlm:input ` objects. If rescaling (previously normalization in the documentation)
33+ is a single value, broadcasting to the relevant bands should be performed implicitly.
34+ Otherwise, the amount of ` value_scaling ` objects should match the number of bands or channels involved in the input.
2135
2236### Fixed
2337- Fix check of disallowed unknown/undefined ` mlm: ` -prefixed fields
@@ -52,7 +66,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
5266 when a ` mlm:input ` references names in ` bands ` are now properly validated.
5367- Fix the examples using ` raster:bands ` incorrectly defined in STAC Item properties.
5468 The correct use is for them to be defined under the STAC Asset using the ` mlm:model ` role.
55- - Fix the [ EuroSAT ResNet pydantic example] ( ./ stac_model/examples.py) that incorrectly referenced some ` bands `
69+ - Fix the [ EuroSAT ResNet pydantic example] ( stac_model/examples.py ) that incorrectly referenced some ` bands `
5670 in its ` mlm:input ` definition without providing any definition of those bands. The ` eo:bands ` properties have
5771 been added to the corresponding ` model ` Asset using
5872 the [ ` pystac.extensions.eo ` ] ( https://github.com/stac-utils/pystac/blob/main/pystac/extensions/eo.py ) utilities.
@@ -113,7 +127,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
113127- more [ Task Enum] ( README.md#task-enum ) tasks
114128- [ Model Output Object] ( README.md#model-output-object )
115129- batch_size and hardware summary
116- - [ ` mlm:accelerator ` , ` mlm:accelerator_constrained ` , ` mlm:accelerator_summary ` ] ( ./ README.md#accelerator-type-enum)
130+ - [ ` mlm:accelerator ` , ` mlm:accelerator_constrained ` , ` mlm:accelerator_summary ` ] ( README.md#accelerator-type-enum )
117131 to specify hardware requirements for the model
118132- Use common metadata
119133 [ Asset Object] ( https://github.com/radiantearth/stac-spec/blob/master/collection-spec/collection-spec.md#asset-object )
@@ -128,7 +142,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
128142 STAC Item properties (top-level, not nested) to allow better search support by STAC API.
129143- reorganized ` dlm:architecture ` nested fields to exist at the top level of properties as ` mlm:name ` , ` mlm:summary `
130144 and so on to provide STAC API search capabilities.
131- - replaced ` normalization:mean ` , etc. with [ statistics] ( ./ README.md#bands-and-statistics) from STAC 1.1 common metadata
145+ - replaced ` normalization:mean ` , etc. with [ statistics] ( README.md#bands-and-statistics ) from STAC 1.1 common metadata
132146- added ` pydantic ` models for internal schema objects in ` stac_model ` package and published to PYPI
133147- specified [ rel_type] ( README.md#relation-types ) to be ` derived_from ` and
134148 specify how model item or collection json should be named
@@ -144,7 +158,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
144158- any ` dlm ` -prefixed field or property
145159
146160### Removed
147- - Data Object, replaced with [ Model Input Object] ( ./ README.md#model-input-object) that uses the ` name ` field from
161+ - Data Object, replaced with [ Model Input Object] ( README.md#model-input-object ) that uses the ` name ` field from
148162 the [ common metadata band object] [ stac-bands ] which also records ` data_type ` and ` nodata ` type
149163
150164### Fixed
0 commit comments