radiantearth / geo-ml-model-catalog

Geospatial ML Model Catalog Spec
Apache License 2.0
52 stars 8 forks source link

Adds JSON template #44

Closed duckontheweb closed 3 years ago

duckontheweb commented 3 years ago

Adds a JSON template to demonstrate the overall structure of the catalog.

cc: @calebrob6 @martham93 @ymoisan @CharlesAuthier

ymoisan commented 3 years ago

I like how simple the template is. However when I got to the usage_recommendations section I thought to myself that most of the sections in the template lack details. If you take the inputs section for example and compare to that.

Would there be a way to reference sections of a GMLMC Catalog to other bits elsewhere ? We could devise a JSON schema that could use other schemas. We're essentially talking about Deep Learning models here as far as I can see. Any other types of models we would want to wrap with GMLMC ? In that case, we could factor out model peculiarities (inputs, outputs, etc.) into separate items and the GMLMC Catalog would have a schema like "AnyOf" model_type_A OR model_type_B or ...

duckontheweb commented 3 years ago

@ymoisan The goal of this PR was really just to get a template file that represents the current state of the spec, but I agree that the Usage Recommendations section could use work (#43). I think it would be great to merge some of the fields that are capture in the DLM example you gave here into the GMLMC inputs; I'll add a not on #43 to capture this.

Would there be a way to reference sections of a GMLMC Catalog to other bits elsewhere ?

I think this could be related to #29 (originally raised by @m-mohr). If we move towards using STAC Link object we could include references to other resources and define specific rel types to express the relationship.

We're essentially talking about Deep Learning models here as far as I can see. Any other types of models we would want to wrap with GMLMC ?

The intention is not to limit the GMLMC to just deep learning models. It should be able to cover things like Random Forest models, etc. Most of the examples and discussion so far have been focused around deep learning models, but I don't think we want to limit ourselves to that unless we have to.