@@ -8,29 +8,35 @@ 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+
1112- Add [ ` huggingface/safetensors ` ] ( https://github.com/huggingface/safetensors )
12- recommendations for ` mlm:artifact_type ` and corresponding `` mlm:framework ` ` values
13+ recommendations for ` mlm:artifact_type ` and corresponding ` mlm:framework ` values
1314 (fixes [ #68 ] ( https://github.com/stac-extensions/mlm/issues/68 ) ).
1415- Add [ ` Flax ` ] ( https://github.com/google/flax ) to the list of ` mlm:framework ` and
1516 the corresponding ` mlm:artifact_type ` SafeTensors backend in the JSON schema examples.
1617- Add [ ` Paddle ` ] ( https://github.com/PaddlePaddle/Paddle ) to the list of ` mlm:framework `
1718 (fixes [ #69 ] ( https://github.com/stac-extensions/mlm/issues/69 ) ).
1819
1920### Changed
21+
2022- Update ` stac-model==0.3.0 ` to provide ` ValueScalingObject ` from installed package.
2123
2224### Deprecated
25+
2326- n/a
2427
2528### Removed
29+
2630- n/a
2731
2832### Fixed
33+
2934- n/a
3035
3136## [ v1.4.0] ( https://github.com/stac-extensions/mlm/tree/v1.4.0 )
3237
3338### Added
39+
3440- Add better descriptions about required and recommended * MLM Asset Roles* and
3541 their implications (fixes
3642 [ #54 ] ( https://github.com/stac-extensions/mlm/issues/54 ) ).
@@ -44,6 +50,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
4450 for Ahead of Time Compilation, ` jit ` for Just-In Time Compilation.
4551
4652### Changed
53+
4754- Explicitly disallow ` mlm:name ` , ` mlm:input ` , ` mlm:output ` and ` mlm:hyperparameters ` at the Asset level.
4855 These fields describe the model as a whole and should therefore be defined in Item properties.
4956- Moved ` norm_type ` to ` value_scaling ` object to better reflect the expected operation, which could be another
@@ -54,9 +61,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
5461- expanded suggested ` mlm:artifact_type ` values to include Tensorflow/Keras.
5562
5663### Deprecated
64+
5765- n/a
5866
5967### Removed
68+
6069- Removed ` norm_type ` enum values that were ambiguous regarding their expected result.
6170 Instead, a ` processing:expression ` should be employed to explicitly define the calculation they represent.
6271- Removed ` norm_clip ` property. It is now represented under ` value_scaling ` objects with a
@@ -66,6 +75,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6675 Otherwise, the amount of ` value_scaling ` objects should match the number of bands or channels involved in the input.
6776
6877### Fixed
78+
6979- Fix missing ` mlm:artifact_type ` property check for a Model Asset definition
7080 (fixes < https://github.com/stac-extensions/mlm/issues/42 > ).
7181 The ` mlm:artifact_type ` is now mutually and exclusively required by the corresponding Asset with ` mlm:model ` role.
@@ -75,27 +85,32 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7585## [ v1.3.0] ( https://github.com/stac-extensions/mlm/tree/v1.3.0 )
7686
7787### Added
88+
7889- Add ` raster:bands ` required property ` name ` for describing ` mlm:input ` bands
7990 (see [ README - Bands and Statistics] ( README.md#bands-and-statistics ) for details).
8091- Add README warnings about new extension ` eo ` and ` raster ` versions.
8192
8293### Changed
94+
8395- Split ` ModelBands ` and ` AnyBandsRef ` definitions in the JSON schema to allow them to be referenced individually.
8496- Move ` AnyBandsRef ` definition explicitly to STAC Item JSON schema, rather than implicitly inferred via ` mlm:input ` .
8597- Modified the JSON schema to use a ` if ` check of the ` type ` (STAC Item or Collection) prior to validating further
8698 properties. This allows some validators (e.g. ` pystac ` ) to better report the * real* error that causes the schema
8799 to fail, rather than reporting the first mismatching ` type ` case with a poor error description to debug the issue.
88100
89101### Deprecated
102+
90103- n/a
91104
92105### Removed
106+
93107- Removed ` $comment ` entries from the JSON schema that are considered as invalid by some parsers.
94108- When ` mlm:input ` objects do ** NOT** define band references (i.e.: ` bands: [] ` is used), the JSON schema will not
95109 fail if an Asset with the ` mlm:model ` role contains a band definition. This is to allow MLM model definitions to
96110 simultaneously use some inputs with ` bands ` reference names while others do not.
97111
98112### Fixed
113+
99114- Band checks against [ ` eo ` ] ( https://github.com/stac-extensions/eo ) , [ ` raster ` ] ( https://github.com/stac-extensions/eo )
100115 or STAC Core 1.1 [ ` bands ` ] ( https://github.com/radiantearth/stac-spec/blob/master/commons/common-metadata.md#bands )
101116 when a ` mlm:input ` references names in ` bands ` are now properly validated.
@@ -110,47 +125,57 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
110125## [ v1.2.0] ( https://github.com/stac-extensions/mlm/tree/v1.2.0 )
111126
112127### Added
128+
113129- Add the missing JSON schema ` item_assets ` definition under a Collection to ensure compatibility with
114130 the [ Item Assets] ( https://github.com/stac-extensions/item-assets ) extension, as mentioned this specification.
115131- Add ` ModelBand ` representation using ` name ` , ` format ` and ` expression ` properties to allow derived band references
116132 (fixes [ crim-ca/mlm-extension #7 ] ( https://github.com/stac-extensions/mlm/discussions/7 ) ).
117133
118134### Changed
135+
119136- Adds a job to ` .github/workflows/publish.yaml ` to publish the ` stac-model ` package to PyPI.
120137
121138### Deprecated
139+
122140- n/a
123141
124142### Removed
143+
125144- Field ` mlm:name ` requirement to be unique. There is no way to guarantee this from a single Item's definition
126145 and their JSON schema validation. For uniqueness requirement, users should instead rely on the ` id ` property
127146 of the Item, which is ensured to be unique under the corresponding Collection, since it would not be retrievable
128147 otherwise (i.e.: ` collections/{collectionID}/items/{itemID} ` ).
129148
130149### Fixed
150+
131151- Fix the validation strategy of the ` mlm:model ` role required by at least one Asset under a STAC Item.
132152 Although the role requirement was validated, the definition did not allow for other Assets without it to exist.
133153- Correct ` stac-model ` version in code and publish matching release on PyPI.
134154
135155## [ v1.1.0] ( https://github.com/stac-extensions/mlm/tree/v1.1.0 )
136156
137157### Added
158+
138159- Add pattern for ` mlm:framework ` , needing at least one alphanumeric character,
139160 without leading or trailing non-alphanumeric characters.
140161- Add [ ` examples/item_eo_and_raster_bands.json ` ] ( examples/item_eo_and_raster_bands.json ) demonstrating the original
141162 use case represented by the previous [ ` examples/item_eo_bands.json ` ] ( examples/item_eo_bands.json ) contents.
142163- Add a ` description ` field for ` mlm:input ` and ` mlm:output ` definitions.
143164
144165### Changed
166+
145167- Adjust ` scikit-learn ` and ` Hugging Face ` framework names to match the format employed by the official documentation.
146168
147169### Deprecated
170+
148171- n/a
149172
150173### Removed
174+
151175- Removed combination of ` mlm:input ` with ` bands: null ` that could never occur due to pre-requirement of ` type: array ` .
152176
153177### Fixed
178+
154179- Fix ` AnyBands ` definition and use in the JSON schema to better consider possible use cases with ` eo ` extension.
155180- Fix [ ` examples/item_eo_bands.json ` ] ( examples/item_eo_bands.json ) that was incorrectly also using ` raster ` extension.
156181 This is not fundamentally wrong, but it did not allow to validate the ` eo ` extension use case properly, since
@@ -159,6 +184,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
159184## [ v1.0.0] ( https://github.com/stac-extensions/mlm/tree/v1.0.0 )
160185
161186### Added
187+
162188- more [ Task Enum] ( README.md#task-enum ) tasks
163189- [ Model Output Object] ( README.md#model-output-object )
164190- ` batch_size ` and hardware summary
@@ -172,6 +198,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
172198 pixel-wise and patch-based classification
173199
174200### Changed
201+
175202- ` disk_size ` replaced by ` file:size ` (see [ Best Practices - File Extension] ( best-practices.md#file-extension ) )
176203- ` memory_size ` under ` dlm:architecture ` moved directly under Item properties as ` mlm:memory_size `
177204- replaced all hardware/accelerator/runtime definitions into distinct ` mlm ` fields directly under the
@@ -191,23 +218,28 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
191218- updated JSON schema to reflect changes of MLM fields
192219
193220### Deprecated
221+
194222- any ` dlm ` -prefixed field or property
195223
196224### Removed
225+
197226- Data Object, replaced with [ Model Input Object] ( ./README.md#model-input-object ) that uses the ` name ` field from
198227 the [ common metadata band object] [ stac-bands ] which also records ` data_type ` and ` nodata ` type
199228
200229### Fixed
230+
201231- n/a
202232
203233[ stac-bands ] : https://github.com/radiantearth/stac-spec/blob/f9b3c59ba810541c9da70c5f8d39635f8cba7bcd/item-spec/common-metadata.md#bands
204234
205235## [ v1.0.0-beta3] ( https://github.com/crim-ca/dlm-extension/tree/v1.0.0-beta3 )
206236
207237### Added
238+
208239- Added example model architecture summary text.
209240
210241### Changed
242+
211243- Modified ` $id ` if the extension schema to refer to the expected location when eventually released
212244 (` https://schemas.stacspec.org/v1.0.0-beta.3/extensions/dl-model/json-schema/schema.json ` ).
213245- Replaced ` dtype ` field by ` data_type ` to better align with the corresponding field of
@@ -223,33 +255,41 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
223255[ raster-band-object ] : https://github.com/stac-extensions/raster/#raster-band-object
224256
225257### Deprecated
258+
226259- Specifying ` class_name_mapping ` by array is deprecated.
227260 Direct mapping as an object of index to class name should be used.
228261 For backward compatibility, mapping as array and using nested objects with ` index ` and ` class_name ` properties
229262 is still permitted, although overly verbose compared to the direct mapping.
230263
231264### Removed
265+
232266- Field ` nodata_value ` .
233267- Field ` dtype ` .
234268
235269### Fixed
270+
236271- Fixed references to other STAC extensions to use the official schema links on ` https://stac-extensions.github.io/ ` .
237272- Fixed examples to refer to local files.
238273- Fixed formatting of tables and descriptions in README.
239274
240275## [ v1.0.0-beta2] ( https://github.com/crim-ca/dlm-extension/tree/v1.0.0-beta2 )
241276
242277### Added
278+
243279- Initial release of the extension description and schema.
244280
245281### Changed
282+
246283- n/a
247284
248285### Deprecated
286+
249287- n/a
250288
251289### Removed
290+
252291- n/a
253292
254293### Fixed
294+
255295- n/a
0 commit comments