Spaces:
Running on Zero
Running on Zero
Add discoverability frontmatter (license + tags) to Space card
Browse files
README.md
CHANGED
|
@@ -5,48 +5,43 @@ colorFrom: pink
|
|
| 5 |
colorTo: purple
|
| 6 |
sdk: gradio
|
| 7 |
sdk_version: 6.14.0
|
| 8 |
-
python_version:
|
| 9 |
app_file: app.py
|
| 10 |
pinned: false
|
| 11 |
-
|
|
|
|
| 12 |
models:
|
| 13 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 14 |
---
|
| 15 |
|
| 16 |
-
# OppaiOracle
|
| 17 |
|
| 18 |
-
|
| 19 |
-
[Grio43/OppaiOracle](https://huggingface.co/Grio43/OppaiOracle) model repo.
|
| 20 |
|
| 21 |
-
|
|
|
|
|
|
|
|
|
|
| 22 |
|
| 23 |
-
|
| 24 |
-
launch (cached afterwards).
|
| 25 |
-
- Letterboxes the uploaded image to 320×320, normalizes with mean/std = 0.5, runs the ONNX
|
| 26 |
-
graph with `onnxruntime`, and returns the top tags above the chosen threshold.
|
| 27 |
-
- Sigmoid is already inside the ONNX graph — the output is a probability vector over 19,294
|
| 28 |
-
tags.
|
| 29 |
|
| 30 |
-
|
|
|
|
|
|
|
| 31 |
|
| 32 |
-
|
| 33 |
-
Space hardware to GPU for faster turnaround.
|
| 34 |
-
- Default threshold is 0.50 (broader recall for browsing). The macro PR break-even point
|
| 35 |
-
measured on the validation set is ≈ 0.614 — set the slider there for the calibrated
|
| 36 |
-
precision = recall operating point.
|
| 37 |
-
- The V1.1 (448×448) checkpoint is also in the model repo but is **not** exposed by this
|
| 38 |
-
Space. Match input resolution to the checkpoint you load — feeding 448 to V1 (or 320 to
|
| 39 |
-
V1.1) hurts accuracy because the ViT position-embedding grid is fixed at load time.
|
| 40 |
|
| 41 |
-
|
| 42 |
-
|
| 43 |
-
|
| 44 |
-
|
| 45 |
-
- **Missing tags are the dominant noise mode.** Many present concepts are simply unlabeled
|
| 46 |
-
in the training corpus, so low predicted scores are less informative than they look.
|
| 47 |
-
- **Color tags** (eye/hair/general) leak between perceptual neighbours.
|
| 48 |
-
- **Hair length** boundaries (`long_hair` / `very_long_hair`) are inherently noisy in the
|
| 49 |
-
source data.
|
| 50 |
-
- **Neckwear** (`bow` / `bowtie` / `ribbon` / `ascot` / `necktie`) is routinely confused at
|
| 51 |
-
the source.
|
| 52 |
-
- Treat any prediction as a *suggestion to inspect*, not a final answer.
|
|
|
|
| 5 |
colorTo: purple
|
| 6 |
sdk: gradio
|
| 7 |
sdk_version: 6.14.0
|
| 8 |
+
python_version: "3.12"
|
| 9 |
app_file: app.py
|
| 10 |
pinned: false
|
| 11 |
+
license: apache-2.0
|
| 12 |
+
short_description: Multi-label anime tagger — ViT, 19,294 tags
|
| 13 |
models:
|
| 14 |
+
- Grio43/OppaiOracle
|
| 15 |
+
tags:
|
| 16 |
+
- anime
|
| 17 |
+
- anime-tagger
|
| 18 |
+
- tagger
|
| 19 |
+
- image-tagging
|
| 20 |
+
- multi-label
|
| 21 |
+
- multi-label-classification
|
| 22 |
+
- vision-transformer
|
| 23 |
+
- vit
|
| 24 |
+
- illustration
|
| 25 |
+
- danbooru
|
| 26 |
---
|
| 27 |
|
| 28 |
+
# OppaiOracle — live demo
|
| 29 |
|
| 30 |
+
Multi-label tagger for anime / illustration images. ViT trained from scratch on a \~5.9M-image cleaned corpus, predicting over 19,000 tags.
|
|
|
|
| 31 |
|
| 32 |
+
- **Model card:** [Grio43/OppaiOracle](https://huggingface.co/Grio43/OppaiOracle)
|
| 33 |
+
- **License:** Apache 2.0
|
| 34 |
+
- **Native input resolution (V1):** 320×320 (letterboxed)
|
| 35 |
+
- **V1.1 (448×448 fine-tune):** planned for release the week of 2026-05-15
|
| 36 |
|
| 37 |
+
## How to use
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 38 |
|
| 39 |
+
1. Drop or upload an anime / illustration image.
|
| 40 |
+
2. The Space returns the predicted tags with their probabilities. Per-tag thresholds from `pr_thresholds.json` are applied where available.
|
| 41 |
+
3. Treat the output as a *first pass* — see the [model card](https://huggingface.co/Grio43/OppaiOracle) for the limitations, especially around color, hair-length, size-bucket, and small-accessory tags.
|
| 42 |
|
| 43 |
+
## Notes
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 44 |
|
| 45 |
+
- This Space runs the **safetensors** V1 checkpoint via PyTorch on the assigned hardware.
|
| 46 |
+
- For local inference (ONNX Runtime, DirectML, CUDA EP), grab `V1_onnx/model.onnx` from the model repo.
|
| 47 |
+
- For PyTorch / custom inference, grab `V1_safetensors/model.safetensors` plus `config.json` and `preprocessing.json`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|