|
2 | 2 |
|
3 | 3 | [](https://hackmd.io/XveEXOukQ52ZdpUxT8maeA?both) |
4 | 4 |
|
5 | | -- **Title:** Machine Learning Model Extension |
| 5 | +- **Title:** Machine Learning Model |
6 | 6 | - **Identifier:** <https://stac-extensions.github.io/mlm/v1.5.1/schema.json> |
7 | 7 | - **Field Name Prefix:** mlm |
8 | 8 | - **Scope:** Collection, Item, Asset, Links |
|
46 | 46 |
|
47 | 47 | ## Description |
48 | 48 |
|
49 | | -The STAC Machine Learning Model (MLM) Extension provides a standard set of fields to describe machine learning models |
| 49 | +The STAC Machine Learning Model (MLM) extension provides a standard set of fields to describe machine learning models |
50 | 50 | trained on overhead imagery and enable running model inference. |
51 | 51 |
|
52 | 52 | The main objectives of the extension are: |
@@ -74,26 +74,35 @@ However, fields that relate to supervised ML are optional and users can use the |
74 | 74 |
|
75 | 75 | <!-- lint enable --> |
76 | 76 |
|
| 77 | +<!-- lint disable no-undefined-references --> |
| 78 | + |
77 | 79 | > [!TIP] |
78 | 80 | > See [Best Practices](./best-practices.md) for guidance on what other STAC extensions you should use in conjunction |
79 | | - with this extension as well as suggested values for specific ML framework. |
| 81 | +> with this extension as well as suggested values for specific ML framework. |
| 82 | +
|
| 83 | +<!-- lint enable no-undefined-references --> |
80 | 84 |
|
81 | | -The Machine Learning Model Extension purposely omits and delegates some definitions to other STAC extensions to favor |
| 85 | +The Machine Learning Model extension purposely omits and delegates some definitions to other STAC extensions to favor |
82 | 86 | reusability and avoid metadata duplication whenever possible. A properly defined MLM STAC Item/Collection should almost |
83 | | -never have the Machine Learning Model Extension exclusively in `stac_extensions`. |
| 87 | +never have the Machine Learning Model extension exclusively in `stac_extensions`. |
84 | 88 |
|
85 | | -For details about the earlier (legacy) version of the MLM Extension, formerly known as |
86 | | -the *Deep Learning Model Extension* (DLM), please refer to the [DLM LEGACY](./docs/legacy/dlm.md) document. |
87 | | -DLM was renamed to the current MLM Extension and refactored to form a cohesive definition across all machine |
| 89 | +For details about the earlier (legacy) version of the MLM extension, formerly known as |
| 90 | +the *Deep Learning Model* (DLM) extension, please refer to the [DLM LEGACY](./docs/legacy/dlm.md) document. |
| 91 | +DLM was renamed to the current MLM extension and refactored to form a cohesive definition across all machine |
88 | 92 | learning approaches, regardless of whether the approach constitutes a deep neural network or other statistical approach. |
89 | 93 | It also combines multiple definitions from the predecessor [ML-Model](https://github.com/stac-extensions/ml-model) |
90 | 94 | extension to synthesize common use cases into a single reference for "*Machine Learning Models*". For migration |
91 | 95 | details from `ml-model` to `mlm`, please refer to the [ML-Model Legacy](./docs/legacy/ml-model.md) document. |
92 | 96 |
|
| 97 | +<!-- lint disable no-undefined-references --> |
| 98 | + |
93 | 99 | > [!TIP] |
94 | | -> For more details about the [`stac-model`](./stac_model) Python package, which provides definitions of the MLM extension |
95 | | - using both [`Pydantic`](https://docs.pydantic.dev/latest/) and [`PySTAC`](https://pystac.readthedocs.io/en/stable/) |
96 | | - connectors, please refer to the [STAC Model](./README_STAC_MODEL.md) document. |
| 100 | +> For more details about the [`stac-model`](./stac_model) Python package, which provides definitions |
| 101 | +> of the MLM extension using both [`Pydantic`](https://docs.pydantic.dev/latest/) |
| 102 | +> and [`PySTAC`](https://pystac.readthedocs.io/en/stable/) connectors, |
| 103 | +> please refer to the [STAC Model](./README_STAC_MODEL.md) document. |
| 104 | +
|
| 105 | +<!-- lint enable no-undefined-references --> |
97 | 106 |
|
98 | 107 | ## Resources |
99 | 108 |
|
@@ -838,7 +847,7 @@ In order to provide more context, the following roles are also recommended were |
838 | 847 | | href | string | URI to the model artifact. | |
839 | 848 | | type | string | The media type of the artifact (see [Model Artifact Media-Type](#model-artifact-media-type). | |
840 | 849 | | roles | \[string] | **REQUIRED** Specify `mlm:model`. Can include `["mlm:weights", "mlm:checkpoint"]` as applicable. | |
841 | | -| mlm:artifact_type | [Artifact Type](./best-practices.md#framework-specific-artifact-types) | Specifies the kind of model artifact, any string is allowed. Typically related to a particular ML framework, see [Best Practices - Framework Specific Artifact Types](./best-practices.md#framework-specific-artifact-types) for **RECOMMENDED** values. This field is **REQUIRED** if the `mlm:model` role is specified. | |
| 850 | +| mlm:artifact_type | [Artifact Type](./best-practices.md#framework-specific-artifact-types) | Specifies the kind of model artifact, any string is allowed. Typically related to a particular ML framework, see [Best Practices - Framework-specific Artifact Types](./best-practices.md#framework-specific-artifact-types) for **RECOMMENDED** values. This field is **REQUIRED** if the `mlm:model` role is specified. | |
842 | 851 | | mlm:compile_method | [Compile Method](#compile-method) \| null | Describes the method used to compile the ML model either when the model is saved or at model runtime prior to inference. | |
843 | 852 |
|
844 | 853 | Recommended Asset `roles` include `mlm:weights` or `mlm:checkpoint` for model weights that need to be loaded by a |
@@ -872,8 +881,8 @@ is used for the artifact described by the media-type. However, users need to rem |
872 | 881 | official. In order to validate the specific framework and artifact type employed by the model, the MLM properties |
873 | 882 | `mlm:framework` (see [MLM Fields](#item-properties-and-collection-fields)) and |
874 | 883 | `mlm:artifact_type` (see [Model Asset](#model-asset)) should be employed instead to perform this validation if needed. |
875 | | -See the [Best Practices - Framework Specific Artifact Types](./best-practices.md#framework-specific-artifact-types) on |
876 | | - suggested fields for framework specific artifact types. |
| 884 | +See the [Best Practices - Framework-specific Artifact Types](./best-practices.md#framework-specific-artifact-types) on |
| 885 | + suggested fields for common types. |
877 | 886 |
|
878 | 887 | [iana-media-type]: https://www.iana.org/assignments/media-types/media-types.xhtml |
879 | 888 |
|
|
0 commit comments