example MLM v1.2.0 model metadata and artifacts
Browse files- classification/landcover-eurosat-sentinel2/model-metadata.json +267 -0
- classification/landcover-eurosat-sentinel2/scripting/model.pt +3 -0
- object-detection/marine-satlas-sentinel2/model-metadata.json +270 -0
- object-detection/marine-satlas-sentinel2/scripting/model.pt +3 -0
- semantic-segmentation/solar-satlas-sentinel2/inductor/gpu/aot_inductor_gpu_tensor_cores.zip +3 -0
- semantic-segmentation/solar-satlas-sentinel2/model-metadata.json +342 -0
classification/landcover-eurosat-sentinel2/model-metadata.json
ADDED
@@ -0,0 +1,267 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"type": "Feature",
|
3 |
+
"stac_version": "1.0.0",
|
4 |
+
"id": "item_landcover_eurosat_sentinel2",
|
5 |
+
"properties": {
|
6 |
+
"start_datetime": "1900-01-01T00:00:00Z",
|
7 |
+
"end_datetime": "9999-01-01T00:00:00Z",
|
8 |
+
"description": "Sourced from torchgeo python library, identifier is ResNet18_Weights.SENTINEL2_ALL_MOCO. The batch size suggestion is 3300, which almost maxes out an NVIDIA 3090's 24 GB CUDA memory.",
|
9 |
+
"mlm:framework": "pytorch",
|
10 |
+
"mlm:framework_version": "2.3.0+cu121",
|
11 |
+
"file:size": 91000000,
|
12 |
+
"mlm:memory_size": 94452432,
|
13 |
+
"mlm:batch_size_suggestion": 3300,
|
14 |
+
"mlm:accelerator": "cuda",
|
15 |
+
"mlm:accelerator_constrained": false,
|
16 |
+
"mlm:accelerator_summary": "Unknown",
|
17 |
+
"mlm:name": "Resnet-18 Sentinel-2 ALL MOCO",
|
18 |
+
"mlm:architecture": "ResNet-18",
|
19 |
+
"mlm:tasks": [
|
20 |
+
"scene-classification"
|
21 |
+
],
|
22 |
+
"mlm:input": [
|
23 |
+
{
|
24 |
+
"name": "13 Band Sentinel-2 Batch",
|
25 |
+
"bands": [
|
26 |
+
"B01",
|
27 |
+
"B02",
|
28 |
+
"B03",
|
29 |
+
"B04",
|
30 |
+
"B05",
|
31 |
+
"B06",
|
32 |
+
"B07",
|
33 |
+
"B08",
|
34 |
+
"B8A",
|
35 |
+
"B09",
|
36 |
+
"B10",
|
37 |
+
"B11",
|
38 |
+
"B12"
|
39 |
+
],
|
40 |
+
"input": {
|
41 |
+
"shape": [
|
42 |
+
-1,
|
43 |
+
13,
|
44 |
+
64,
|
45 |
+
64
|
46 |
+
],
|
47 |
+
"dim_order": [
|
48 |
+
"batch",
|
49 |
+
"channel",
|
50 |
+
"height",
|
51 |
+
"width"
|
52 |
+
],
|
53 |
+
"data_type": "float32"
|
54 |
+
},
|
55 |
+
"norm_by_channel": true,
|
56 |
+
"norm_type": "z-score",
|
57 |
+
"statistics": [
|
58 |
+
{
|
59 |
+
"mean": 1354.40546513,
|
60 |
+
"stddev": 245.71762908
|
61 |
+
},
|
62 |
+
{
|
63 |
+
"mean": 1118.24399958,
|
64 |
+
"stddev": 333.00778264
|
65 |
+
},
|
66 |
+
{
|
67 |
+
"mean": 1042.92983953,
|
68 |
+
"stddev": 395.09249139
|
69 |
+
},
|
70 |
+
{
|
71 |
+
"mean": 947.62620298,
|
72 |
+
"stddev": 593.75055589
|
73 |
+
},
|
74 |
+
{
|
75 |
+
"mean": 1199.47283961,
|
76 |
+
"stddev": 566.4170017
|
77 |
+
},
|
78 |
+
{
|
79 |
+
"mean": 1999.79090914,
|
80 |
+
"stddev": 861.18399006
|
81 |
+
},
|
82 |
+
{
|
83 |
+
"mean": 2369.22292565,
|
84 |
+
"stddev": 1086.63139075
|
85 |
+
},
|
86 |
+
{
|
87 |
+
"mean": 2296.82608323,
|
88 |
+
"stddev": 1117.98170791
|
89 |
+
},
|
90 |
+
{
|
91 |
+
"mean": 732.08340178,
|
92 |
+
"stddev": 404.91978886
|
93 |
+
},
|
94 |
+
{
|
95 |
+
"mean": 12.11327804,
|
96 |
+
"stddev": 4.77584468
|
97 |
+
},
|
98 |
+
{
|
99 |
+
"mean": 1819.01027855,
|
100 |
+
"stddev": 1002.58768311
|
101 |
+
},
|
102 |
+
{
|
103 |
+
"mean": 1118.92391149,
|
104 |
+
"stddev": 761.30323499
|
105 |
+
},
|
106 |
+
{
|
107 |
+
"mean": 2594.14080798,
|
108 |
+
"stddev": 1231.58581042
|
109 |
+
}
|
110 |
+
],
|
111 |
+
"pre_processing_function": {
|
112 |
+
"format": "python",
|
113 |
+
"expression": "torchgeo.datamodules.eurosat.EuroSATDataModule.collate_fn"
|
114 |
+
}
|
115 |
+
}
|
116 |
+
],
|
117 |
+
"mlm:output": [
|
118 |
+
{
|
119 |
+
"name": "scene-classification",
|
120 |
+
"tasks": [
|
121 |
+
"scene-classification"
|
122 |
+
],
|
123 |
+
"result": {
|
124 |
+
"shape": [
|
125 |
+
-1,
|
126 |
+
10
|
127 |
+
],
|
128 |
+
"dim_order": [
|
129 |
+
"batch",
|
130 |
+
"class"
|
131 |
+
],
|
132 |
+
"data_type": "float32"
|
133 |
+
},
|
134 |
+
"classification:classes": [
|
135 |
+
{
|
136 |
+
"value": 0,
|
137 |
+
"name": "Annual Crop",
|
138 |
+
"description": "Annual Crop"
|
139 |
+
},
|
140 |
+
{
|
141 |
+
"value": 1,
|
142 |
+
"name": "Forest",
|
143 |
+
"description": "Forest"
|
144 |
+
},
|
145 |
+
{
|
146 |
+
"value": 2,
|
147 |
+
"name": "Herbaceous Vegetation",
|
148 |
+
"description": "Herbaceous Vegetation"
|
149 |
+
},
|
150 |
+
{
|
151 |
+
"value": 3,
|
152 |
+
"name": "Highway",
|
153 |
+
"description": "Highway"
|
154 |
+
},
|
155 |
+
{
|
156 |
+
"value": 4,
|
157 |
+
"name": "Industrial Buildings",
|
158 |
+
"description": "Industrial Buildings"
|
159 |
+
},
|
160 |
+
{
|
161 |
+
"value": 5,
|
162 |
+
"name": "Pasture",
|
163 |
+
"description": "Pasture"
|
164 |
+
},
|
165 |
+
{
|
166 |
+
"value": 6,
|
167 |
+
"name": "Permanent Crop",
|
168 |
+
"description": "Permanent Crop"
|
169 |
+
},
|
170 |
+
{
|
171 |
+
"value": 7,
|
172 |
+
"name": "Residential Buildings",
|
173 |
+
"description": "Residential Buildings"
|
174 |
+
},
|
175 |
+
{
|
176 |
+
"value": 8,
|
177 |
+
"name": "River",
|
178 |
+
"description": "River"
|
179 |
+
},
|
180 |
+
{
|
181 |
+
"value": 9,
|
182 |
+
"name": "SeaLake",
|
183 |
+
"description": "SeaLake"
|
184 |
+
}
|
185 |
+
],
|
186 |
+
"post_processing_function": null
|
187 |
+
}
|
188 |
+
],
|
189 |
+
"mlm:total_parameters": 11700000,
|
190 |
+
"mlm:pretrained": true,
|
191 |
+
"mlm:pretrained_source": "EuroSat Sentinel-2",
|
192 |
+
"datetime": null
|
193 |
+
},
|
194 |
+
"geometry": {
|
195 |
+
"type": "Polygon",
|
196 |
+
"coordinates": [
|
197 |
+
[
|
198 |
+
[
|
199 |
+
-7.882190080512502,
|
200 |
+
37.13739173208318
|
201 |
+
],
|
202 |
+
[
|
203 |
+
-7.882190080512502,
|
204 |
+
58.21798141355221
|
205 |
+
],
|
206 |
+
[
|
207 |
+
27.911651652899923,
|
208 |
+
58.21798141355221
|
209 |
+
],
|
210 |
+
[
|
211 |
+
27.911651652899923,
|
212 |
+
37.13739173208318
|
213 |
+
],
|
214 |
+
[
|
215 |
+
-7.882190080512502,
|
216 |
+
37.13739173208318
|
217 |
+
]
|
218 |
+
]
|
219 |
+
]
|
220 |
+
},
|
221 |
+
"links": [
|
222 |
+
{
|
223 |
+
"rel": "derived_from",
|
224 |
+
"href": "https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a",
|
225 |
+
"type": "application/json"
|
226 |
+
},
|
227 |
+
{
|
228 |
+
"rel": "self",
|
229 |
+
"href": "s3://wherobots-modelhub-prod/community/classification/landcover-eurosat-sentinel2/model-metadata.json/item_landcover_eurosat_sentinel2.json",
|
230 |
+
"type": "application/json"
|
231 |
+
}
|
232 |
+
],
|
233 |
+
"assets": {
|
234 |
+
"model": {
|
235 |
+
"href": "s3://wherobots-modelhub-prod/community/classification/landcover-eurosat-sentinel2/scripting/model.pt",
|
236 |
+
"type": "application/octet-stream; application=pytorch",
|
237 |
+
"title": "Pytorch weights checkpoint",
|
238 |
+
"description": "A Resnet-18 classification model trained on normalized Sentinel-2 imagery with Eurosat landcover labels with torchgeo.",
|
239 |
+
"mlm_artifact_type": "torch.jit.script",
|
240 |
+
"file:size": 43000000,
|
241 |
+
"roles": [
|
242 |
+
"mlm:model",
|
243 |
+
"data"
|
244 |
+
]
|
245 |
+
},
|
246 |
+
"source_code": {
|
247 |
+
"href": "https://github.com/microsoft/torchgeo/blob/61efd2e2c4df7ebe3bd03002ebbaeaa3cfe9885a/torchgeo/models/resnet.py#L207",
|
248 |
+
"type": "text/x-python",
|
249 |
+
"title": "Model implementation.",
|
250 |
+
"description": "Source code to run the model.",
|
251 |
+
"roles": [
|
252 |
+
"mlm:model",
|
253 |
+
"code"
|
254 |
+
]
|
255 |
+
}
|
256 |
+
},
|
257 |
+
"bbox": [
|
258 |
+
-7.882190080512502,
|
259 |
+
37.13739173208318,
|
260 |
+
27.911651652899923,
|
261 |
+
58.21798141355221
|
262 |
+
],
|
263 |
+
"stac_extensions": [
|
264 |
+
"https://stac-extensions.github.io/file/v2.1.0/schema.json",
|
265 |
+
"https://crim-ca.github.io/mlm-extension/v1.2.0/schema.json"
|
266 |
+
]
|
267 |
+
}
|
classification/landcover-eurosat-sentinel2/scripting/model.pt
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:509b72ac9ba7e27ab190e80df28cc2c51b3d00154dce5f9842ecc120c918443c
|
3 |
+
size 94609271
|
object-detection/marine-satlas-sentinel2/model-metadata.json
ADDED
@@ -0,0 +1,270 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"type": "Feature",
|
3 |
+
"stac_version": "1.0.0",
|
4 |
+
"id": "item_marine_satlas_sentinel2",
|
5 |
+
"properties": {
|
6 |
+
"start_datetime": "1900-01-01T00:00:00Z",
|
7 |
+
"end_datetime": "9999-01-01T00:00:00Z",
|
8 |
+
"description": "Sourced from satlas source code released by Allen AI under Apache 2.0. The forward pass was rewritten for torchscripting. Batch size suggestion is based on running on a NVIDIA 3090 with 24GB of GPU memory",
|
9 |
+
"mlm:framework": "pytorch",
|
10 |
+
"mlm:framework_version": "2.3.0+cu121",
|
11 |
+
"file:size": 333000000,
|
12 |
+
"mlm:memory_size": 389750988,
|
13 |
+
"mlm:batch_size_suggestion": 9,
|
14 |
+
"mlm:accelerator": "cuda",
|
15 |
+
"mlm:accelerator_constrained": false,
|
16 |
+
"mlm:accelerator_summary": "It is recommended to use a GPU due to the computational demands of the model.",
|
17 |
+
"mlm:name": "Satlas Marine Infrastucture Detection",
|
18 |
+
"mlm:architecture": "Swin Transformer V2 with R-CNN head",
|
19 |
+
"mlm:tasks": [
|
20 |
+
"object-detection"
|
21 |
+
],
|
22 |
+
"mlm:input": [
|
23 |
+
{
|
24 |
+
"name": "3 Band Sentinel-2 3 Time Step Series Batch",
|
25 |
+
"bands": [
|
26 |
+
"B02",
|
27 |
+
"B03",
|
28 |
+
"B04",
|
29 |
+
"B02",
|
30 |
+
"B03",
|
31 |
+
"B04",
|
32 |
+
"B02",
|
33 |
+
"B03",
|
34 |
+
"B04"
|
35 |
+
],
|
36 |
+
"input": {
|
37 |
+
"shape": [
|
38 |
+
-1,
|
39 |
+
9,
|
40 |
+
1024,
|
41 |
+
1024
|
42 |
+
],
|
43 |
+
"dim_order": [
|
44 |
+
"batch",
|
45 |
+
"channel",
|
46 |
+
"height",
|
47 |
+
"width"
|
48 |
+
],
|
49 |
+
"data_type": "float32"
|
50 |
+
},
|
51 |
+
"norm_by_channel": true,
|
52 |
+
"norm_type": "min-max",
|
53 |
+
"resize_type": "crop",
|
54 |
+
"statistics": [
|
55 |
+
{
|
56 |
+
"minimum": 0,
|
57 |
+
"maximum": 255
|
58 |
+
},
|
59 |
+
{
|
60 |
+
"minimum": 0,
|
61 |
+
"maximum": 255
|
62 |
+
},
|
63 |
+
{
|
64 |
+
"minimum": 0,
|
65 |
+
"maximum": 255
|
66 |
+
},
|
67 |
+
{
|
68 |
+
"minimum": 0,
|
69 |
+
"maximum": 255
|
70 |
+
},
|
71 |
+
{
|
72 |
+
"minimum": 0,
|
73 |
+
"maximum": 255
|
74 |
+
},
|
75 |
+
{
|
76 |
+
"minimum": 0,
|
77 |
+
"maximum": 255
|
78 |
+
},
|
79 |
+
{
|
80 |
+
"minimum": 0,
|
81 |
+
"maximum": 255
|
82 |
+
},
|
83 |
+
{
|
84 |
+
"minimum": 0,
|
85 |
+
"maximum": 255
|
86 |
+
},
|
87 |
+
{
|
88 |
+
"minimum": 0,
|
89 |
+
"maximum": 255
|
90 |
+
}
|
91 |
+
],
|
92 |
+
"pre_processing_function": {
|
93 |
+
"format": "documentation-link",
|
94 |
+
"expression": "https://github.com/allenai/satlas/blob/main/Normalization.md#sentinel-2-example"
|
95 |
+
}
|
96 |
+
}
|
97 |
+
],
|
98 |
+
"mlm:output": [
|
99 |
+
{
|
100 |
+
"name": "bboxes",
|
101 |
+
"tasks": [
|
102 |
+
"object-detection"
|
103 |
+
],
|
104 |
+
"result": {
|
105 |
+
"shape": [
|
106 |
+
-1,
|
107 |
+
-1,
|
108 |
+
4
|
109 |
+
],
|
110 |
+
"dim_order": [
|
111 |
+
"batch",
|
112 |
+
"detections",
|
113 |
+
"coordinates"
|
114 |
+
],
|
115 |
+
"data_type": "float32"
|
116 |
+
},
|
117 |
+
"classification:classes": [
|
118 |
+
{
|
119 |
+
"value": 1,
|
120 |
+
"name": "wind_turbine",
|
121 |
+
"description": "wind_turbine"
|
122 |
+
},
|
123 |
+
{
|
124 |
+
"value": 2,
|
125 |
+
"name": "platform",
|
126 |
+
"description": "platform"
|
127 |
+
}
|
128 |
+
],
|
129 |
+
"post_processing_function": null
|
130 |
+
},
|
131 |
+
{
|
132 |
+
"name": "labels",
|
133 |
+
"tasks": [
|
134 |
+
"object-detection"
|
135 |
+
],
|
136 |
+
"result": {
|
137 |
+
"shape": [
|
138 |
+
-1,
|
139 |
+
-1
|
140 |
+
],
|
141 |
+
"dim_order": [
|
142 |
+
"batch",
|
143 |
+
"detections"
|
144 |
+
],
|
145 |
+
"data_type": "int64"
|
146 |
+
},
|
147 |
+
"classification:classes": [
|
148 |
+
{
|
149 |
+
"value": 1,
|
150 |
+
"name": "wind_turbine",
|
151 |
+
"description": "wind_turbine"
|
152 |
+
},
|
153 |
+
{
|
154 |
+
"value": 2,
|
155 |
+
"name": "platform",
|
156 |
+
"description": "platform"
|
157 |
+
}
|
158 |
+
],
|
159 |
+
"post_processing_function": null
|
160 |
+
},
|
161 |
+
{
|
162 |
+
"name": "classes",
|
163 |
+
"tasks": [
|
164 |
+
"object-detection"
|
165 |
+
],
|
166 |
+
"result": {
|
167 |
+
"shape": [
|
168 |
+
-1,
|
169 |
+
-1
|
170 |
+
],
|
171 |
+
"dim_order": [
|
172 |
+
"batch",
|
173 |
+
"detections"
|
174 |
+
],
|
175 |
+
"data_type": "float32"
|
176 |
+
},
|
177 |
+
"classification:classes": [
|
178 |
+
{
|
179 |
+
"value": 1,
|
180 |
+
"name": "wind_turbine",
|
181 |
+
"description": "wind_turbine"
|
182 |
+
},
|
183 |
+
{
|
184 |
+
"value": 2,
|
185 |
+
"name": "platform",
|
186 |
+
"description": "platform"
|
187 |
+
}
|
188 |
+
],
|
189 |
+
"post_processing_function": null
|
190 |
+
}
|
191 |
+
],
|
192 |
+
"mlm:total_parameters": 89748193,
|
193 |
+
"mlm:pretrained": true,
|
194 |
+
"mlm:pretrained_source": "Sentinel-2 imagery and SATLAS labels",
|
195 |
+
"datetime": null
|
196 |
+
},
|
197 |
+
"geometry": {
|
198 |
+
"type": "Polygon",
|
199 |
+
"coordinates": [
|
200 |
+
[
|
201 |
+
[
|
202 |
+
-7.882190080512502,
|
203 |
+
37.13739173208318
|
204 |
+
],
|
205 |
+
[
|
206 |
+
-7.882190080512502,
|
207 |
+
58.21798141355221
|
208 |
+
],
|
209 |
+
[
|
210 |
+
27.911651652899923,
|
211 |
+
58.21798141355221
|
212 |
+
],
|
213 |
+
[
|
214 |
+
27.911651652899923,
|
215 |
+
37.13739173208318
|
216 |
+
],
|
217 |
+
[
|
218 |
+
-7.882190080512502,
|
219 |
+
37.13739173208318
|
220 |
+
]
|
221 |
+
]
|
222 |
+
]
|
223 |
+
},
|
224 |
+
"links": [
|
225 |
+
{
|
226 |
+
"rel": "derived_from",
|
227 |
+
"href": "https://earth-search.aws.element84.com/v1/collections/sentinel-2-l1c",
|
228 |
+
"type": "application/json"
|
229 |
+
},
|
230 |
+
{
|
231 |
+
"rel": "self",
|
232 |
+
"href": "s3://wherobots-modelhub-prod/professional/object-detection/marine-satlas-sentinel2/model-metadata.json/item_marine_satlas_sentinel2.json",
|
233 |
+
"type": "application/json"
|
234 |
+
}
|
235 |
+
],
|
236 |
+
"assets": {
|
237 |
+
"model": {
|
238 |
+
"href": "s3://wherobots-modelhub-prod/professional/object-detection/marine-satlas-sentinel2/scripting/model.pt",
|
239 |
+
"type": "application/octet-stream; application=pytorch",
|
240 |
+
"title": "TorchScript model exported from private, edited, hard fork of Satlas github repo.",
|
241 |
+
"description": "A Swin Transformer backbone with an R-CNN based head trained on the visual Sentinel-2 Top of Atmosphere product.",
|
242 |
+
"mlm_artifact_type": "torch.jit.script",
|
243 |
+
"file:size": 333000000,
|
244 |
+
"roles": [
|
245 |
+
"mlm:model",
|
246 |
+
"data"
|
247 |
+
]
|
248 |
+
},
|
249 |
+
"source_code": {
|
250 |
+
"href": "https://github.com/wherobots/modelhub/blob/main/model-forge/satlas/marine/export.py",
|
251 |
+
"type": "text/x-python",
|
252 |
+
"title": "Model implementation.",
|
253 |
+
"description": "Source code to export the model.",
|
254 |
+
"roles": [
|
255 |
+
"mlm:model",
|
256 |
+
"code"
|
257 |
+
]
|
258 |
+
}
|
259 |
+
},
|
260 |
+
"bbox": [
|
261 |
+
-7.882190080512502,
|
262 |
+
37.13739173208318,
|
263 |
+
27.911651652899923,
|
264 |
+
58.21798141355221
|
265 |
+
],
|
266 |
+
"stac_extensions": [
|
267 |
+
"https://stac-extensions.github.io/file/v2.1.0/schema.json",
|
268 |
+
"https://crim-ca.github.io/mlm-extension/v1.2.0/schema.json"
|
269 |
+
]
|
270 |
+
}
|
object-detection/marine-satlas-sentinel2/scripting/model.pt
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:750db01db1b5620280e4fbb26a15d6acd36e32e102cfde9997d808160a13718e
|
3 |
+
size 390116647
|
semantic-segmentation/solar-satlas-sentinel2/inductor/gpu/aot_inductor_gpu_tensor_cores.zip
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:b0d83883eb4bb502dda877b3199459229dd60881e1fc61c73c76024cc5b949e4
|
3 |
+
size 656424207
|
semantic-segmentation/solar-satlas-sentinel2/model-metadata.json
ADDED
@@ -0,0 +1,342 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"type": "Feature",
|
3 |
+
"stac_version": "1.0.0",
|
4 |
+
"id": "item_solar_satlas_sentinel2",
|
5 |
+
"properties": {
|
6 |
+
"start_datetime": "1900-01-01T00:00:00Z",
|
7 |
+
"end_datetime": "9999-01-01T00:00:00Z",
|
8 |
+
"description": "Sourced from satlas source code released by Allen AI under Apache 2.0",
|
9 |
+
"mlm:framework": "pytorch",
|
10 |
+
"mlm:framework_version": "2.3.0+cu121",
|
11 |
+
"file:size": 333000000,
|
12 |
+
"mlm:memory_size": 1,
|
13 |
+
"mlm:batch_size_suggestion": 10,
|
14 |
+
"mlm:accelerator": "cuda",
|
15 |
+
"mlm:accelerator_constrained": true,
|
16 |
+
"mlm:accelerator_summary": "It is necessary to use GPU since it was compiled for NVIDIA Ampere and newer architectures with AOTInductor and the computational demands of the model.",
|
17 |
+
"mlm:name": "Satlas Solar Farm Segmentation",
|
18 |
+
"mlm:architecture": "Swin Transformer V2 with U-Net head",
|
19 |
+
"mlm:tasks": [
|
20 |
+
"semantic-segmentation",
|
21 |
+
"segmentation"
|
22 |
+
],
|
23 |
+
"mlm:input": [
|
24 |
+
{
|
25 |
+
"name": "9 Band Sentinel-2 4 Time Step Series Batch",
|
26 |
+
"bands": [
|
27 |
+
"B02",
|
28 |
+
"B03",
|
29 |
+
"B04",
|
30 |
+
"B05",
|
31 |
+
"B06",
|
32 |
+
"B07",
|
33 |
+
"B08",
|
34 |
+
"B11",
|
35 |
+
"B12",
|
36 |
+
"B02",
|
37 |
+
"B03",
|
38 |
+
"B04",
|
39 |
+
"B05",
|
40 |
+
"B06",
|
41 |
+
"B07",
|
42 |
+
"B08",
|
43 |
+
"B11",
|
44 |
+
"B12",
|
45 |
+
"B02",
|
46 |
+
"B03",
|
47 |
+
"B04",
|
48 |
+
"B05",
|
49 |
+
"B06",
|
50 |
+
"B07",
|
51 |
+
"B08",
|
52 |
+
"B11",
|
53 |
+
"B12",
|
54 |
+
"B02",
|
55 |
+
"B03",
|
56 |
+
"B04",
|
57 |
+
"B05",
|
58 |
+
"B06",
|
59 |
+
"B07",
|
60 |
+
"B08",
|
61 |
+
"B11",
|
62 |
+
"B12"
|
63 |
+
],
|
64 |
+
"input": {
|
65 |
+
"shape": [
|
66 |
+
-1,
|
67 |
+
36,
|
68 |
+
1024,
|
69 |
+
1024
|
70 |
+
],
|
71 |
+
"dim_order": [
|
72 |
+
"batch",
|
73 |
+
"channel",
|
74 |
+
"height",
|
75 |
+
"width"
|
76 |
+
],
|
77 |
+
"data_type": "float32"
|
78 |
+
},
|
79 |
+
"norm_by_channel": true,
|
80 |
+
"norm_type": "min-max",
|
81 |
+
"resize_type": "crop",
|
82 |
+
"statistics": [
|
83 |
+
{
|
84 |
+
"minimum": 0,
|
85 |
+
"maximum": 255
|
86 |
+
},
|
87 |
+
{
|
88 |
+
"minimum": 0,
|
89 |
+
"maximum": 255
|
90 |
+
},
|
91 |
+
{
|
92 |
+
"minimum": 0,
|
93 |
+
"maximum": 255
|
94 |
+
},
|
95 |
+
{
|
96 |
+
"minimum": 0,
|
97 |
+
"maximum": 255
|
98 |
+
},
|
99 |
+
{
|
100 |
+
"minimum": 0,
|
101 |
+
"maximum": 255
|
102 |
+
},
|
103 |
+
{
|
104 |
+
"minimum": 0,
|
105 |
+
"maximum": 255
|
106 |
+
},
|
107 |
+
{
|
108 |
+
"minimum": 0,
|
109 |
+
"maximum": 255
|
110 |
+
},
|
111 |
+
{
|
112 |
+
"minimum": 0,
|
113 |
+
"maximum": 255
|
114 |
+
},
|
115 |
+
{
|
116 |
+
"minimum": 0,
|
117 |
+
"maximum": 255
|
118 |
+
},
|
119 |
+
{
|
120 |
+
"minimum": 0,
|
121 |
+
"maximum": 255
|
122 |
+
},
|
123 |
+
{
|
124 |
+
"minimum": 0,
|
125 |
+
"maximum": 255
|
126 |
+
},
|
127 |
+
{
|
128 |
+
"minimum": 0,
|
129 |
+
"maximum": 255
|
130 |
+
},
|
131 |
+
{
|
132 |
+
"minimum": 0,
|
133 |
+
"maximum": 255
|
134 |
+
},
|
135 |
+
{
|
136 |
+
"minimum": 0,
|
137 |
+
"maximum": 255
|
138 |
+
},
|
139 |
+
{
|
140 |
+
"minimum": 0,
|
141 |
+
"maximum": 255
|
142 |
+
},
|
143 |
+
{
|
144 |
+
"minimum": 0,
|
145 |
+
"maximum": 255
|
146 |
+
},
|
147 |
+
{
|
148 |
+
"minimum": 0,
|
149 |
+
"maximum": 255
|
150 |
+
},
|
151 |
+
{
|
152 |
+
"minimum": 0,
|
153 |
+
"maximum": 255
|
154 |
+
},
|
155 |
+
{
|
156 |
+
"minimum": 0,
|
157 |
+
"maximum": 255
|
158 |
+
},
|
159 |
+
{
|
160 |
+
"minimum": 0,
|
161 |
+
"maximum": 255
|
162 |
+
},
|
163 |
+
{
|
164 |
+
"minimum": 0,
|
165 |
+
"maximum": 255
|
166 |
+
},
|
167 |
+
{
|
168 |
+
"minimum": 0,
|
169 |
+
"maximum": 255
|
170 |
+
},
|
171 |
+
{
|
172 |
+
"minimum": 0,
|
173 |
+
"maximum": 255
|
174 |
+
},
|
175 |
+
{
|
176 |
+
"minimum": 0,
|
177 |
+
"maximum": 255
|
178 |
+
},
|
179 |
+
{
|
180 |
+
"minimum": 0,
|
181 |
+
"maximum": 255
|
182 |
+
},
|
183 |
+
{
|
184 |
+
"minimum": 0,
|
185 |
+
"maximum": 255
|
186 |
+
},
|
187 |
+
{
|
188 |
+
"minimum": 0,
|
189 |
+
"maximum": 255
|
190 |
+
},
|
191 |
+
{
|
192 |
+
"minimum": 0,
|
193 |
+
"maximum": 255
|
194 |
+
},
|
195 |
+
{
|
196 |
+
"minimum": 0,
|
197 |
+
"maximum": 255
|
198 |
+
},
|
199 |
+
{
|
200 |
+
"minimum": 0,
|
201 |
+
"maximum": 255
|
202 |
+
},
|
203 |
+
{
|
204 |
+
"minimum": 0,
|
205 |
+
"maximum": 255
|
206 |
+
},
|
207 |
+
{
|
208 |
+
"minimum": 0,
|
209 |
+
"maximum": 255
|
210 |
+
},
|
211 |
+
{
|
212 |
+
"minimum": 0,
|
213 |
+
"maximum": 255
|
214 |
+
},
|
215 |
+
{
|
216 |
+
"minimum": 0,
|
217 |
+
"maximum": 255
|
218 |
+
},
|
219 |
+
{
|
220 |
+
"minimum": 0,
|
221 |
+
"maximum": 255
|
222 |
+
},
|
223 |
+
{
|
224 |
+
"minimum": 0,
|
225 |
+
"maximum": 255
|
226 |
+
}
|
227 |
+
],
|
228 |
+
"pre_processing_function": {
|
229 |
+
"format": "documentation-link",
|
230 |
+
"expression": "https://github.com/allenai/satlas/blob/main/CustomInference.md#sentinel-2-inference-example"
|
231 |
+
}
|
232 |
+
}
|
233 |
+
],
|
234 |
+
"mlm:output": [
|
235 |
+
{
|
236 |
+
"name": "confidence array",
|
237 |
+
"tasks": [
|
238 |
+
"semantic-segmentation"
|
239 |
+
],
|
240 |
+
"result": {
|
241 |
+
"shape": [
|
242 |
+
-1,
|
243 |
+
1,
|
244 |
+
1024,
|
245 |
+
1024
|
246 |
+
],
|
247 |
+
"dim_order": [
|
248 |
+
"batch",
|
249 |
+
"height",
|
250 |
+
"width"
|
251 |
+
],
|
252 |
+
"data_type": "float32"
|
253 |
+
},
|
254 |
+
"classification:classes": [
|
255 |
+
{
|
256 |
+
"value": 1,
|
257 |
+
"name": "Solar Farm",
|
258 |
+
"description": "Solar Farm"
|
259 |
+
}
|
260 |
+
],
|
261 |
+
"post_processing_function": null
|
262 |
+
}
|
263 |
+
],
|
264 |
+
"mlm:total_parameters": 89748193,
|
265 |
+
"mlm:pretrained": true,
|
266 |
+
"mlm:pretrained_source": "Sentinel-2 imagery and SATLAS labels",
|
267 |
+
"datetime": null
|
268 |
+
},
|
269 |
+
"geometry": {
|
270 |
+
"type": "Polygon",
|
271 |
+
"coordinates": [
|
272 |
+
[
|
273 |
+
[
|
274 |
+
-7.882190080512502,
|
275 |
+
37.13739173208318
|
276 |
+
],
|
277 |
+
[
|
278 |
+
-7.882190080512502,
|
279 |
+
58.21798141355221
|
280 |
+
],
|
281 |
+
[
|
282 |
+
27.911651652899923,
|
283 |
+
58.21798141355221
|
284 |
+
],
|
285 |
+
[
|
286 |
+
27.911651652899923,
|
287 |
+
37.13739173208318
|
288 |
+
],
|
289 |
+
[
|
290 |
+
-7.882190080512502,
|
291 |
+
37.13739173208318
|
292 |
+
]
|
293 |
+
]
|
294 |
+
]
|
295 |
+
},
|
296 |
+
"links": [
|
297 |
+
{
|
298 |
+
"rel": "derived_from",
|
299 |
+
"href": "https://earth-search.aws.element84.com/v1/collections/sentinel-2-l1c",
|
300 |
+
"type": "application/json"
|
301 |
+
},
|
302 |
+
{
|
303 |
+
"rel": "self",
|
304 |
+
"href": "s3://wherobots-modelhub-prod/professional/semantic-segmentation/solar-satlas-sentinel2/model-metadata.json/item_solar_satlas_sentinel2.json",
|
305 |
+
"type": "application/json"
|
306 |
+
}
|
307 |
+
],
|
308 |
+
"assets": {
|
309 |
+
"model": {
|
310 |
+
"href": "s3://wherobots-modelhub-prod/professional/semantic-segmentation/solar-satlas-sentinel2/inductor/gpu/aot_inductor_gpu_tensor_cores.zip",
|
311 |
+
"type": "application/zip; application=pytorch",
|
312 |
+
"title": "AOTInductor model exported from private, edited, hard fork of Satlas github repo.",
|
313 |
+
"description": "A Swin Transformer backbone with a U-net head trained on the 9-band Sentinel-2 Top of Atmosphere product.",
|
314 |
+
"mlm_artifact_type": "torch.jit.script",
|
315 |
+
"file:size": 333000000,
|
316 |
+
"roles": [
|
317 |
+
"mlm:model",
|
318 |
+
"data"
|
319 |
+
]
|
320 |
+
},
|
321 |
+
"source_code": {
|
322 |
+
"href": "https://github.com/wherobots/modelhub/blob/main/model-forge/satlas/solar/export.py",
|
323 |
+
"type": "text/x-python",
|
324 |
+
"title": "Model implementation.",
|
325 |
+
"description": "Source code to export the model.",
|
326 |
+
"roles": [
|
327 |
+
"mlm:model",
|
328 |
+
"code"
|
329 |
+
]
|
330 |
+
}
|
331 |
+
},
|
332 |
+
"bbox": [
|
333 |
+
-7.882190080512502,
|
334 |
+
37.13739173208318,
|
335 |
+
27.911651652899923,
|
336 |
+
58.21798141355221
|
337 |
+
],
|
338 |
+
"stac_extensions": [
|
339 |
+
"https://stac-extensions.github.io/file/v2.1.0/schema.json",
|
340 |
+
"https://crim-ca.github.io/mlm-extension/v1.2.0/schema.json"
|
341 |
+
]
|
342 |
+
}
|