Grio43 commited on
Commit
bab73bc
·
verified ·
1 Parent(s): 571166c

Add discoverability frontmatter (license + tags) to Space card

Browse files
Files changed (1) hide show
  1. README.md +29 -34
README.md CHANGED
@@ -5,48 +5,43 @@ colorFrom: pink
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
- short_description: Anime ViT tagger
 
12
  models:
13
- - Grio43/OppaiOracle
 
 
 
 
 
 
 
 
 
 
 
14
  ---
15
 
16
- # OppaiOracle Space
17
 
18
- Public inference UI for the **V1** (320×320) anime tagger checkpoint that lives in the
19
- [Grio43/OppaiOracle](https://huggingface.co/Grio43/OppaiOracle) model repo.
20
 
21
- ## What this Space does
 
 
 
22
 
23
- - Downloads `V1_onnx/model.onnx` and `V1_onnx/vocabulary.json` from the model repo on first
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
- ## Notes for users
 
 
31
 
32
- - This Space runs on CPU by default. Inference takes a few seconds per image; upgrade the
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
- ## Known noise patterns (read the model card first)
42
-
43
- The full model card on the model repo documents these in detail. In short:
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`.