Publish SpotVortex TFT ONNX release
Browse files- LICENSE +25 -0
- MODEL_MANIFEST.json +154 -0
- README.md +107 -0
- supported_instance_families.txt +60 -0
- tft.onnx +3 -0
- tft.onnx.data +0 -0
LICENSE
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
SpotVortex Non-Commercial License
|
| 2 |
+
|
| 3 |
+
Copyright (c) 2026 SpotVortex. All rights reserved.
|
| 4 |
+
|
| 5 |
+
1. Grant of Permission (Non-Commercial Only)
|
| 6 |
+
Permission is granted to use, copy, and redistribute this model and associated files
|
| 7 |
+
solely for non-commercial purposes, including research, personal projects, evaluation,
|
| 8 |
+
and internal testing.
|
| 9 |
+
|
| 10 |
+
2. Commercial Use Prohibited Without Permission
|
| 11 |
+
Any commercial use is strictly prohibited unless you obtain prior written permission
|
| 12 |
+
from the copyright holder. Commercial use includes, but is not limited to:
|
| 13 |
+
- selling, licensing, or sublicensing the model or derivatives;
|
| 14 |
+
- using the model in paid products or paid services;
|
| 15 |
+
- using the model to generate revenue directly or indirectly.
|
| 16 |
+
|
| 17 |
+
3. No Trademark Rights
|
| 18 |
+
This license does not grant any right to use trademarks, service marks, or logos.
|
| 19 |
+
|
| 20 |
+
4. No Warranty
|
| 21 |
+
THE MODEL IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED.
|
| 22 |
+
IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY.
|
| 23 |
+
|
| 24 |
+
5. Contact for Commercial Licensing
|
| 25 |
+
For commercial licensing requests, contact: softcane@gmail.com
|
MODEL_MANIFEST.json
ADDED
|
@@ -0,0 +1,154 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"schema_version": "v1",
|
| 3 |
+
"generated_at": "2026-02-17T11:06:30Z",
|
| 4 |
+
"cloud": "aws",
|
| 5 |
+
"supported_instance_families": [
|
| 6 |
+
"c5",
|
| 7 |
+
"c5a",
|
| 8 |
+
"c5ad",
|
| 9 |
+
"c5d",
|
| 10 |
+
"c5n",
|
| 11 |
+
"c6a",
|
| 12 |
+
"c6g",
|
| 13 |
+
"c6gd",
|
| 14 |
+
"c6gn",
|
| 15 |
+
"c6i",
|
| 16 |
+
"c6id",
|
| 17 |
+
"c6in",
|
| 18 |
+
"c7a",
|
| 19 |
+
"c7g",
|
| 20 |
+
"c7gd",
|
| 21 |
+
"c7gn",
|
| 22 |
+
"c7i",
|
| 23 |
+
"c7i-flex",
|
| 24 |
+
"m5",
|
| 25 |
+
"m5a",
|
| 26 |
+
"m5ad",
|
| 27 |
+
"m5d",
|
| 28 |
+
"m5dn",
|
| 29 |
+
"m5n",
|
| 30 |
+
"m5zn",
|
| 31 |
+
"m6a",
|
| 32 |
+
"m6g",
|
| 33 |
+
"m6gd",
|
| 34 |
+
"m6i",
|
| 35 |
+
"m6id",
|
| 36 |
+
"m6idn",
|
| 37 |
+
"m6in",
|
| 38 |
+
"m7a",
|
| 39 |
+
"m7g",
|
| 40 |
+
"m7gd",
|
| 41 |
+
"m7i",
|
| 42 |
+
"m7i-flex",
|
| 43 |
+
"r5",
|
| 44 |
+
"r5a",
|
| 45 |
+
"r5ad",
|
| 46 |
+
"r5b",
|
| 47 |
+
"r5d",
|
| 48 |
+
"r5dn",
|
| 49 |
+
"r5n",
|
| 50 |
+
"r6a",
|
| 51 |
+
"r6g",
|
| 52 |
+
"r6gd",
|
| 53 |
+
"r6i",
|
| 54 |
+
"r6id",
|
| 55 |
+
"r6idn",
|
| 56 |
+
"r6in",
|
| 57 |
+
"r7a",
|
| 58 |
+
"r7g",
|
| 59 |
+
"r7gd",
|
| 60 |
+
"r7i",
|
| 61 |
+
"r7iz",
|
| 62 |
+
"t2",
|
| 63 |
+
"t3",
|
| 64 |
+
"t3a",
|
| 65 |
+
"t4g"
|
| 66 |
+
],
|
| 67 |
+
"model_scope": {
|
| 68 |
+
"cloud": "aws",
|
| 69 |
+
"supported_instance_families": [
|
| 70 |
+
"c5",
|
| 71 |
+
"c5a",
|
| 72 |
+
"c5ad",
|
| 73 |
+
"c5d",
|
| 74 |
+
"c5n",
|
| 75 |
+
"c6a",
|
| 76 |
+
"c6g",
|
| 77 |
+
"c6gd",
|
| 78 |
+
"c6gn",
|
| 79 |
+
"c6i",
|
| 80 |
+
"c6id",
|
| 81 |
+
"c6in",
|
| 82 |
+
"c7a",
|
| 83 |
+
"c7g",
|
| 84 |
+
"c7gd",
|
| 85 |
+
"c7gn",
|
| 86 |
+
"c7i",
|
| 87 |
+
"c7i-flex",
|
| 88 |
+
"m5",
|
| 89 |
+
"m5a",
|
| 90 |
+
"m5ad",
|
| 91 |
+
"m5d",
|
| 92 |
+
"m5dn",
|
| 93 |
+
"m5n",
|
| 94 |
+
"m5zn",
|
| 95 |
+
"m6a",
|
| 96 |
+
"m6g",
|
| 97 |
+
"m6gd",
|
| 98 |
+
"m6i",
|
| 99 |
+
"m6id",
|
| 100 |
+
"m6idn",
|
| 101 |
+
"m6in",
|
| 102 |
+
"m7a",
|
| 103 |
+
"m7g",
|
| 104 |
+
"m7gd",
|
| 105 |
+
"m7i",
|
| 106 |
+
"m7i-flex",
|
| 107 |
+
"r5",
|
| 108 |
+
"r5a",
|
| 109 |
+
"r5ad",
|
| 110 |
+
"r5b",
|
| 111 |
+
"r5d",
|
| 112 |
+
"r5dn",
|
| 113 |
+
"r5n",
|
| 114 |
+
"r6a",
|
| 115 |
+
"r6g",
|
| 116 |
+
"r6gd",
|
| 117 |
+
"r6i",
|
| 118 |
+
"r6id",
|
| 119 |
+
"r6idn",
|
| 120 |
+
"r6in",
|
| 121 |
+
"r7a",
|
| 122 |
+
"r7g",
|
| 123 |
+
"r7gd",
|
| 124 |
+
"r7i",
|
| 125 |
+
"r7iz",
|
| 126 |
+
"t2",
|
| 127 |
+
"t3",
|
| 128 |
+
"t3a",
|
| 129 |
+
"t4g"
|
| 130 |
+
]
|
| 131 |
+
},
|
| 132 |
+
"artifacts": {
|
| 133 |
+
"tft.onnx": {
|
| 134 |
+
"path": "tft.onnx",
|
| 135 |
+
"sha256": "db934d4d991846d9c40a5541e478d6d9a49580f6d0fdeede60b1f80f4b789290"
|
| 136 |
+
},
|
| 137 |
+
"tft.onnx.data": {
|
| 138 |
+
"path": "tft.onnx.data",
|
| 139 |
+
"sha256": "b00a90344c6bd90927dc895de727eeb3782f46dd936d7858026a6c33a76a3f43"
|
| 140 |
+
},
|
| 141 |
+
"rl_policy.onnx": {
|
| 142 |
+
"path": "rl_policy.onnx",
|
| 143 |
+
"sha256": "7641814180d22643f980c18f7c99fb573a51549baae515a0afbb03a1a84515cc"
|
| 144 |
+
},
|
| 145 |
+
"rl_policy.onnx.data": {
|
| 146 |
+
"path": "rl_policy.onnx.data",
|
| 147 |
+
"sha256": "d6249d08d2a1f816d19ad8eccf6afc3508a21e25356c18b3d9d43faac67318f7"
|
| 148 |
+
}
|
| 149 |
+
},
|
| 150 |
+
"parity": {
|
| 151 |
+
"status": "validated_in_export_script",
|
| 152 |
+
"notes": "TFT/RL ONNX load checks run in this export pipeline."
|
| 153 |
+
}
|
| 154 |
+
}
|
README.md
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
language:
|
| 3 |
+
- en
|
| 4 |
+
license: other
|
| 5 |
+
library_name: onnxruntime
|
| 6 |
+
tags:
|
| 7 |
+
- onnx
|
| 8 |
+
- forecasting
|
| 9 |
+
- spot-instances
|
| 10 |
+
- kubernetes
|
| 11 |
+
- cloud-cost
|
| 12 |
+
---
|
| 13 |
+
|
| 14 |
+
# SpotVortex TFT Dual-Head Risk Model (ONNX)
|
| 15 |
+
|
| 16 |
+
This repository contains the production TFT ONNX artifact used by SpotVortex for spot risk inference.
|
| 17 |
+
|
| 18 |
+
## Data Source Attribution
|
| 19 |
+
|
| 20 |
+
Training data is based on Spot market telemetry from SpotLake:
|
| 21 |
+
- https://spotlake.ddps.cloud/
|
| 22 |
+
|
| 23 |
+
## Supported Cloud Scope
|
| 24 |
+
|
| 25 |
+
- Cloud: `aws`
|
| 26 |
+
- Supported node families:
|
| 27 |
+
- `c5`
|
| 28 |
+
- `c5a`
|
| 29 |
+
- `c5ad`
|
| 30 |
+
- `c5d`
|
| 31 |
+
- `c5n`
|
| 32 |
+
- `c6a`
|
| 33 |
+
- `c6g`
|
| 34 |
+
- `c6gd`
|
| 35 |
+
- `c6gn`
|
| 36 |
+
- `c6i`
|
| 37 |
+
- `c6id`
|
| 38 |
+
- `c6in`
|
| 39 |
+
- `c7a`
|
| 40 |
+
- `c7g`
|
| 41 |
+
- `c7gd`
|
| 42 |
+
- `c7gn`
|
| 43 |
+
- `c7i`
|
| 44 |
+
- `c7i-flex`
|
| 45 |
+
- `m5`
|
| 46 |
+
- `m5a`
|
| 47 |
+
- `m5ad`
|
| 48 |
+
- `m5d`
|
| 49 |
+
- `m5dn`
|
| 50 |
+
- `m5n`
|
| 51 |
+
- `m5zn`
|
| 52 |
+
- `m6a`
|
| 53 |
+
- `m6g`
|
| 54 |
+
- `m6gd`
|
| 55 |
+
- `m6i`
|
| 56 |
+
- `m6id`
|
| 57 |
+
- `m6idn`
|
| 58 |
+
- `m6in`
|
| 59 |
+
- `m7a`
|
| 60 |
+
- `m7g`
|
| 61 |
+
- `m7gd`
|
| 62 |
+
- `m7i`
|
| 63 |
+
- `m7i-flex`
|
| 64 |
+
- `r5`
|
| 65 |
+
- `r5a`
|
| 66 |
+
- `r5ad`
|
| 67 |
+
- `r5b`
|
| 68 |
+
- `r5d`
|
| 69 |
+
- `r5dn`
|
| 70 |
+
- `r5n`
|
| 71 |
+
- `r6a`
|
| 72 |
+
- `r6g`
|
| 73 |
+
- `r6gd`
|
| 74 |
+
- `r6i`
|
| 75 |
+
- `r6id`
|
| 76 |
+
- `r6idn`
|
| 77 |
+
- `r6in`
|
| 78 |
+
- `r7a`
|
| 79 |
+
- `r7g`
|
| 80 |
+
- `r7gd`
|
| 81 |
+
- `r7i`
|
| 82 |
+
- `r7iz`
|
| 83 |
+
- `t2`
|
| 84 |
+
- `t3`
|
| 85 |
+
- `t3a`
|
| 86 |
+
- `t4g`
|
| 87 |
+
|
| 88 |
+
## Artifact Contents
|
| 89 |
+
|
| 90 |
+
- `tft.onnx` (ONNX graph)
|
| 91 |
+
- `tft.onnx.data` (external tensor data sidecar)
|
| 92 |
+
- `MODEL_MANIFEST.json` (checksums + model scope)
|
| 93 |
+
- `supported_instance_families.txt` (flat list for quick inspection)
|
| 94 |
+
- `LICENSE` (non-commercial proprietary terms)
|
| 95 |
+
|
| 96 |
+
## Model Interface (Runtime Contract)
|
| 97 |
+
|
| 98 |
+
- Input tensor: float32 sequence with 10 features per timestep
|
| 99 |
+
- Output tensors:
|
| 100 |
+
- `capacity_score`
|
| 101 |
+
- `runtime_score`
|
| 102 |
+
|
| 103 |
+
## Notes
|
| 104 |
+
|
| 105 |
+
- This public release intentionally excludes private data-preparation internals and tuning details.
|
| 106 |
+
- Commercial use is prohibited without prior written permission (see `LICENSE`).
|
| 107 |
+
- For deployment/runtime integration, use the SpotVortex agent repository.
|
supported_instance_families.txt
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
c5
|
| 2 |
+
c5a
|
| 3 |
+
c5ad
|
| 4 |
+
c5d
|
| 5 |
+
c5n
|
| 6 |
+
c6a
|
| 7 |
+
c6g
|
| 8 |
+
c6gd
|
| 9 |
+
c6gn
|
| 10 |
+
c6i
|
| 11 |
+
c6id
|
| 12 |
+
c6in
|
| 13 |
+
c7a
|
| 14 |
+
c7g
|
| 15 |
+
c7gd
|
| 16 |
+
c7gn
|
| 17 |
+
c7i
|
| 18 |
+
c7i-flex
|
| 19 |
+
m5
|
| 20 |
+
m5a
|
| 21 |
+
m5ad
|
| 22 |
+
m5d
|
| 23 |
+
m5dn
|
| 24 |
+
m5n
|
| 25 |
+
m5zn
|
| 26 |
+
m6a
|
| 27 |
+
m6g
|
| 28 |
+
m6gd
|
| 29 |
+
m6i
|
| 30 |
+
m6id
|
| 31 |
+
m6idn
|
| 32 |
+
m6in
|
| 33 |
+
m7a
|
| 34 |
+
m7g
|
| 35 |
+
m7gd
|
| 36 |
+
m7i
|
| 37 |
+
m7i-flex
|
| 38 |
+
r5
|
| 39 |
+
r5a
|
| 40 |
+
r5ad
|
| 41 |
+
r5b
|
| 42 |
+
r5d
|
| 43 |
+
r5dn
|
| 44 |
+
r5n
|
| 45 |
+
r6a
|
| 46 |
+
r6g
|
| 47 |
+
r6gd
|
| 48 |
+
r6i
|
| 49 |
+
r6id
|
| 50 |
+
r6idn
|
| 51 |
+
r6in
|
| 52 |
+
r7a
|
| 53 |
+
r7g
|
| 54 |
+
r7gd
|
| 55 |
+
r7i
|
| 56 |
+
r7iz
|
| 57 |
+
t2
|
| 58 |
+
t3
|
| 59 |
+
t3a
|
| 60 |
+
t4g
|
tft.onnx
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:db934d4d991846d9c40a5541e478d6d9a49580f6d0fdeede60b1f80f4b789290
|
| 3 |
+
size 2730
|
tft.onnx.data
ADDED
|
Binary file (94.7 kB). View file
|
|
|