scorevision: push artifact
Browse files
README.md
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
## My TurboVision Miner (local workspace)
|
| 2 |
+
|
| 3 |
+
This folder is **your miner package** (code + weights) that will be uploaded to your Hugging Face model repo and deployed to Chutes.
|
| 4 |
+
|
| 5 |
+
### What you edit
|
| 6 |
+
- **`miner.py`**: your main engine (frame batch → boxes + keypoints)
|
| 7 |
+
- **`chute_config.yml`**: hardware + pip installs for your Chutes runtime
|
| 8 |
+
- **Model files**: put your weights/checkpoints in this folder too (e.g. `*.pt`, `*.onnx`, `*.safetensors`)
|
| 9 |
+
|
| 10 |
+
### The contract (must match)
|
| 11 |
+
Your `miner.py` must contain:
|
| 12 |
+
- `class Miner`
|
| 13 |
+
- `__init__(self, path_hf_repo: Path)` to load weights from this folder
|
| 14 |
+
- `predict_batch(self, batch_images, offset, n_keypoints) -> list[TVFrameResult]`
|
| 15 |
+
|
| 16 |
+
Each returned `TVFrameResult` must include:
|
| 17 |
+
- `frame_id: int`
|
| 18 |
+
- `boxes: list[{x1,y1,x2,y2,cls_id,conf}]`
|
| 19 |
+
- `keypoints: list[(x,y)]` of length `n_keypoints` (pad missing with `(0,0)`)
|
| 20 |
+
|
| 21 |
+
### Deploy (from the turbovision repo root)
|
| 22 |
+
1) Ensure `.env` has your keys:
|
| 23 |
+
- `HUGGINGFACE_USERNAME`, `HUGGINGFACE_API_KEY`
|
| 24 |
+
- `CHUTES_USERNAME`, `CHUTES_API_KEY`
|
| 25 |
+
- (optional for on-chain) `BITTENSOR_WALLET_COLD`, `BITTENSOR_WALLET_HOT`
|
| 26 |
+
|
| 27 |
+
2) Upload + deploy + (optionally) commit on-chain:
|
| 28 |
+
|
| 29 |
+
```bash
|
| 30 |
+
cd /home/pudge/Desktop/Score/turbovision
|
| 31 |
+
source .venv/bin/activate
|
| 32 |
+
sv -vv push --model-path /home/pudge/Desktop/Score/turbovision/my_miner_repo
|
| 33 |
+
```
|
| 34 |
+
|
| 35 |
+
### First smoke test (after deploy)
|
| 36 |
+
Hit your Chutes `/health` and `/predict` endpoints (you’ll get the chute slug in deploy logs).
|
| 37 |
+
|
| 38 |
+
|
| 39 |
+
|
| 40 |
+
|