Update AnimeTimm organization card
Browse filesAdd a DeepGHS-stewarded organization profile with dbv4-full dataset details, model tables, reproducible chart assets, and local maintenance guidance.
- .gitattributes +1 -0
- AGENTS.md +45 -0
- CLAUDE.md +45 -0
- README.md +88 -4
- assets/animetimm-banner.png +0 -0
- assets/dbv4-full-model-snapshot.png +3 -0
- data/dbv4_full_dataset_summary.json +41 -0
- data/dbv4_full_models.csv +21 -0
- data/dbv4_full_models.json +202 -0
- data/featured_models.json +146 -0
- scripts/build_org_card.py +124 -0
.gitattributes
CHANGED
|
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
assets/dbv4-full-model-snapshot.png filter=lfs diff=lfs merge=lfs -text
|
AGENTS.md
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# AnimeTimm Organization Card Maintenance
|
| 2 |
+
|
| 3 |
+
This repository backs the Hugging Face organization card for `animetimm`.
|
| 4 |
+
|
| 5 |
+
## Scope
|
| 6 |
+
|
| 7 |
+
- Keep this repository focused on the public organization profile shown at `https://huggingface.co/animetimm`.
|
| 8 |
+
- Maintain `README.md`, public visual assets under `assets/`, checked-in source data under `data/`, and reproducible helper scripts under `scripts/`.
|
| 9 |
+
- Do not add private credentials, local absolute paths, unpublished benchmark data, or private repository details.
|
| 10 |
+
|
| 11 |
+
## Stewardship Language
|
| 12 |
+
|
| 13 |
+
- Describe AnimeTimm as a DeepGHS project.
|
| 14 |
+
- Link to `https://huggingface.co/deepghs`, `https://github.com/deepghs`, and `https://github.com/deepghs/animetimm` when discussing ownership or upstream engineering work.
|
| 15 |
+
- Keep the tone lightly academic and anime-hobbyist friendly: technically clear, but not corporate or overly formal.
|
| 16 |
+
|
| 17 |
+
## Model Zoo Policy
|
| 18 |
+
|
| 19 |
+
- The organization card should currently feature only the main `dbv4-full` model line.
|
| 20 |
+
- Do not list `dbv4a`, `witha`, `e621`, `pexels`, private, or experimental branches on the homepage unless the project direction changes explicitly.
|
| 21 |
+
- Keep two model tables: top 5 by `Macro@Best F1`, and one best representative per backbone family.
|
| 22 |
+
- Store model metrics in `data/dbv4_full_models.csv`; generated JSON files and charts should be derived from that source.
|
| 23 |
+
|
| 24 |
+
## Regeneration
|
| 25 |
+
|
| 26 |
+
Run the following command from the repository root after updating `data/dbv4_full_models.csv`:
|
| 27 |
+
|
| 28 |
+
```bash
|
| 29 |
+
python scripts/build_org_card.py
|
| 30 |
+
```
|
| 31 |
+
|
| 32 |
+
Review the generated files before committing:
|
| 33 |
+
|
| 34 |
+
- `assets/animetimm-banner.png`
|
| 35 |
+
- `assets/dbv4-full-model-snapshot.png`
|
| 36 |
+
- `data/dbv4_full_models.json`
|
| 37 |
+
- `data/featured_models.json`
|
| 38 |
+
|
| 39 |
+
## Commit Policy
|
| 40 |
+
|
| 41 |
+
Use the repository owner's Hugging Face account/token when pushing updates. Commit messages should be concise English summaries, for example:
|
| 42 |
+
|
| 43 |
+
```text
|
| 44 |
+
Update AnimeTimm organization card
|
| 45 |
+
```
|
CLAUDE.md
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# AnimeTimm Organization Card Maintenance
|
| 2 |
+
|
| 3 |
+
This repository backs the Hugging Face organization card for `animetimm`.
|
| 4 |
+
|
| 5 |
+
## Scope
|
| 6 |
+
|
| 7 |
+
- Keep this repository focused on the public organization profile shown at `https://huggingface.co/animetimm`.
|
| 8 |
+
- Maintain `README.md`, public visual assets under `assets/`, checked-in source data under `data/`, and reproducible helper scripts under `scripts/`.
|
| 9 |
+
- Do not add private credentials, local absolute paths, unpublished benchmark data, or private repository details.
|
| 10 |
+
|
| 11 |
+
## Stewardship Language
|
| 12 |
+
|
| 13 |
+
- Describe AnimeTimm as a DeepGHS project.
|
| 14 |
+
- Link to `https://huggingface.co/deepghs`, `https://github.com/deepghs`, and `https://github.com/deepghs/animetimm` when discussing ownership or upstream engineering work.
|
| 15 |
+
- Keep the tone lightly academic and anime-hobbyist friendly: technically clear, but not corporate or overly formal.
|
| 16 |
+
|
| 17 |
+
## Model Zoo Policy
|
| 18 |
+
|
| 19 |
+
- The organization card should currently feature only the main `dbv4-full` model line.
|
| 20 |
+
- Do not list `dbv4a`, `witha`, `e621`, `pexels`, private, or experimental branches on the homepage unless the project direction changes explicitly.
|
| 21 |
+
- Keep two model tables: top 5 by `Macro@Best F1`, and one best representative per backbone family.
|
| 22 |
+
- Store model metrics in `data/dbv4_full_models.csv`; generated JSON files and charts should be derived from that source.
|
| 23 |
+
|
| 24 |
+
## Regeneration
|
| 25 |
+
|
| 26 |
+
Run the following command from the repository root after updating `data/dbv4_full_models.csv`:
|
| 27 |
+
|
| 28 |
+
```bash
|
| 29 |
+
python scripts/build_org_card.py
|
| 30 |
+
```
|
| 31 |
+
|
| 32 |
+
Review the generated files before committing:
|
| 33 |
+
|
| 34 |
+
- `assets/animetimm-banner.png`
|
| 35 |
+
- `assets/dbv4-full-model-snapshot.png`
|
| 36 |
+
- `data/dbv4_full_models.json`
|
| 37 |
+
- `data/featured_models.json`
|
| 38 |
+
|
| 39 |
+
## Commit Policy
|
| 40 |
+
|
| 41 |
+
Use the repository owner's Hugging Face account/token when pushing updates. Commit messages should be concise English summaries, for example:
|
| 42 |
+
|
| 43 |
+
```text
|
| 44 |
+
Update AnimeTimm organization card
|
| 45 |
+
```
|
README.md
CHANGED
|
@@ -1,10 +1,94 @@
|
|
| 1 |
---
|
| 2 |
title: README
|
| 3 |
-
emoji:
|
| 4 |
-
colorFrom:
|
| 5 |
-
colorTo:
|
| 6 |
sdk: static
|
| 7 |
pinned: false
|
| 8 |
---
|
| 9 |
|
| 10 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
---
|
| 2 |
title: README
|
| 3 |
+
emoji: 🎨
|
| 4 |
+
colorFrom: pink
|
| 5 |
+
colorTo: indigo
|
| 6 |
sdk: static
|
| 7 |
pinned: false
|
| 8 |
---
|
| 9 |
|
| 10 |
+
<img src="./assets/animetimm-banner.png" alt="AnimeTimm banner" width="100%">
|
| 11 |
+
|
| 12 |
+
# AnimeTimm
|
| 13 |
+
|
| 14 |
+
**AnimeTimm is a DeepGHS project for training, testing, and sharing `timm`-based vision models for anime-style and illustration-focused image tagging.**
|
| 15 |
+
|
| 16 |
+
It is part research playground, part anime-fan workshop: we care about reproducible datasets, model cards, ONNX exports, and practical demos, but the models are also built for people who actually work with 2D art, tags, characters, and visual search.
|
| 17 |
+
|
| 18 |
+
## Project Stewardship
|
| 19 |
+
|
| 20 |
+
AnimeTimm is produced and maintained by the [DeepGHS](https://huggingface.co/deepghs) team and contributors.
|
| 21 |
+
|
| 22 |
+
This Hugging Face organization is the focused publishing home for AnimeTimm releases: model checkpoints, selected training datasets, and interactive Spaces. The upstream engineering work is connected to the [DeepGHS GitHub organization](https://github.com/deepghs), including the [`deepghs/animetimm`](https://github.com/deepghs/animetimm) repository.
|
| 23 |
+
|
| 24 |
+
## What We Build
|
| 25 |
+
|
| 26 |
+
- `timm`-based image tagging and classification models for anime-style images.
|
| 27 |
+
- Training datasets prepared for large-scale tagger experiments.
|
| 28 |
+
- PyTorch, Safetensors, and ONNX artifacts where available.
|
| 29 |
+
- Playgrounds and ranklists for trying models and comparing outputs.
|
| 30 |
+
|
| 31 |
+
## Featured Dataset
|
| 32 |
+
|
| 33 |
+
### [`danbooru-wdtagger-v4-w640-ws-full`](https://huggingface.co/datasets/animetimm/danbooru-wdtagger-v4-w640-ws-full)
|
| 34 |
+
|
| 35 |
+
The main public dataset release used by the `dbv4-full` model family. It is a Danbooru-derived WebDataset build for large-scale anime-style multi-label tagging, with images resized so `min(width, height) <= 640`.
|
| 36 |
+
|
| 37 |
+
| Split | Images | Total Size |
|
| 38 |
+
| --- | ---: | ---: |
|
| 39 |
+
| train | 5,321,713 | 318 GB |
|
| 40 |
+
| test | 295,926 | 17.7 GB |
|
| 41 |
+
| val | 296,957 | 17.8 GB |
|
| 42 |
+
| **total** | **5,914,596** | **353.5 GB** |
|
| 43 |
+
|
| 44 |
+
Each sample contains the image as `webp` plus JSON metadata: `id`, `width`, `height`, `rating`, `general_tags`, and `character_tags`. The selected label space has **12,476 tags**: 9,225 general tags, 3,247 character tags, and 4 rating tags.
|
| 45 |
+
|
| 46 |
+
## Model Zoo: `dbv4-full`
|
| 47 |
+
|
| 48 |
+
The tables below focus only on the main `dbv4-full` model line. Metrics are copied from the corresponding model cards and use the test split reported there.
|
| 49 |
+
|
| 50 |
+
<img src="./assets/dbv4-full-model-snapshot.png" alt="dbv4-full model performance and parameter snapshot" width="100%">
|
| 51 |
+
|
| 52 |
+
### Top 5 By Macro F1
|
| 53 |
+
|
| 54 |
+
| Rank | Model | Family | Params | Macro@Best F1 | Macro@0.40 F1 | Micro@0.40 F1 |
|
| 55 |
+
| --- | --- | --- | --- | --- | --- | --- |
|
| 56 |
+
| 1 | [convnextv2_huge.dbv4-full](https://huggingface.co/animetimm/convnextv2_huge.dbv4-full) | ConvNeXt | 692.6M | 0.611 | 0.580 | 0.697 |
|
| 57 |
+
| 2 | [eva02_large_patch14_448.dbv4-full](https://huggingface.co/animetimm/eva02_large_patch14_448.dbv4-full) | EVA | 316.8M | 0.599 | 0.569 | 0.693 |
|
| 58 |
+
| 3 | [caformer_b36.dbv4-full](https://huggingface.co/animetimm/caformer_b36.dbv4-full) | CAFormer | 134.0M | 0.581 | 0.546 | 0.689 |
|
| 59 |
+
| 4 | [swinv2_base_window8_256.dbv4-full](https://huggingface.co/animetimm/swinv2_base_window8_256.dbv4-full) | SwinV2 | 99.7M | 0.575 | 0.541 | 0.683 |
|
| 60 |
+
| 5 | [caformer_m36.dbv4-full](https://huggingface.co/animetimm/caformer_m36.dbv4-full) | CAFormer | 82.7M | 0.559 | 0.515 | 0.676 |
|
| 61 |
+
|
| 62 |
+
### Representative Models By Backbone Family
|
| 63 |
+
|
| 64 |
+
Each row is the best `dbv4-full` model currently published for that backbone family.
|
| 65 |
+
|
| 66 |
+
| Family | Model | Params | Macro@Best F1 | Macro@0.40 F1 | Micro@0.40 F1 |
|
| 67 |
+
| --- | --- | --- | --- | --- | --- |
|
| 68 |
+
| ConvNeXt | [convnextv2_huge.dbv4-full](https://huggingface.co/animetimm/convnextv2_huge.dbv4-full) | 692.6M | 0.611 | 0.580 | 0.697 |
|
| 69 |
+
| EVA | [eva02_large_patch14_448.dbv4-full](https://huggingface.co/animetimm/eva02_large_patch14_448.dbv4-full) | 316.8M | 0.599 | 0.569 | 0.693 |
|
| 70 |
+
| CAFormer | [caformer_b36.dbv4-full](https://huggingface.co/animetimm/caformer_b36.dbv4-full) | 134.0M | 0.581 | 0.546 | 0.689 |
|
| 71 |
+
| SwinV2 | [swinv2_base_window8_256.dbv4-full](https://huggingface.co/animetimm/swinv2_base_window8_256.dbv4-full) | 99.7M | 0.575 | 0.541 | 0.683 |
|
| 72 |
+
| ViT | [vit_base_patch16_224.dbv4-full](https://huggingface.co/animetimm/vit_base_patch16_224.dbv4-full) | 95.8M | 0.540 | 0.500 | 0.664 |
|
| 73 |
+
| MobileNetV4 | [mobilenetv4_conv_aa_large.dbv4-full](https://huggingface.co/animetimm/mobilenetv4_conv_aa_large.dbv4-full) | 47.3M | 0.511 | 0.458 | 0.641 |
|
| 74 |
+
| MobileNetV3 | [mobilenetv3_large_150d.dbv4-full](https://huggingface.co/animetimm/mobilenetv3_large_150d.dbv4-full) | 29.3M | 0.462 | 0.400 | 0.605 |
|
| 75 |
+
| MobileViT | [mobilevitv2_200.dbv4-full](https://huggingface.co/animetimm/mobilevitv2_200.dbv4-full) | 30.2M | 0.454 | 0.401 | 0.608 |
|
| 76 |
+
| ResNet | [resnet152.dbv4-full](https://huggingface.co/animetimm/resnet152.dbv4-full) | 83.7M | 0.486 | 0.448 | 0.624 |
|
| 77 |
+
|
| 78 |
+
## Try It
|
| 79 |
+
|
| 80 |
+
- [`dbv4-full-playground`](https://huggingface.co/spaces/animetimm/dbv4-full-playground) - tag images with pretrained `dbv4-full` models.
|
| 81 |
+
- [`dbv4-full-ranklist`](https://huggingface.co/spaces/animetimm/dbv4-full-ranklist) - compare the public `dbv4-full` model lineup.
|
| 82 |
+
|
| 83 |
+
## Maintenance
|
| 84 |
+
|
| 85 |
+
The source data and chart builder are stored in this Space repository so the organization card can be regenerated without guessing:
|
| 86 |
+
|
| 87 |
+
- [`data/dbv4_full_models.csv`](./data/dbv4_full_models.csv) - checked-in metric table.
|
| 88 |
+
- [`data/dbv4_full_dataset_summary.json`](./data/dbv4_full_dataset_summary.json) - checked-in featured dataset summary.
|
| 89 |
+
- [`data/featured_models.json`](./data/featured_models.json) - top-5 and best-by-family selections.
|
| 90 |
+
- [`scripts/build_org_card.py`](./scripts/build_org_card.py) - regenerates the banner and model snapshot chart from the checked-in data.
|
| 91 |
+
|
| 92 |
+
## Notes
|
| 93 |
+
|
| 94 |
+
These releases are research and hobbyist infrastructure for visual tagging. Please check each model or dataset card for license, source data notes, intended use, and audience restrictions before reuse.
|
assets/animetimm-banner.png
ADDED
|
assets/dbv4-full-model-snapshot.png
ADDED
|
Git LFS Details
|
data/dbv4_full_dataset_summary.json
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"repo_id": "animetimm/danbooru-wdtagger-v4-w640-ws-full",
|
| 3 |
+
"pretrained_tag": "dbv4-full",
|
| 4 |
+
"source": "Danbooru-derived metadata cleaned by SmilingWolf, as described in the dataset card.",
|
| 5 |
+
"format": "WebDataset",
|
| 6 |
+
"image_rule": "Images are resized so min(width, height) <= 640.",
|
| 7 |
+
"splits": [
|
| 8 |
+
{
|
| 9 |
+
"name": "train",
|
| 10 |
+
"images": 5321713,
|
| 11 |
+
"total_size": "318 GB"
|
| 12 |
+
},
|
| 13 |
+
{
|
| 14 |
+
"name": "test",
|
| 15 |
+
"images": 295926,
|
| 16 |
+
"total_size": "17.7 GB"
|
| 17 |
+
},
|
| 18 |
+
{
|
| 19 |
+
"name": "val",
|
| 20 |
+
"images": 296957,
|
| 21 |
+
"total_size": "17.8 GB"
|
| 22 |
+
}
|
| 23 |
+
],
|
| 24 |
+
"total_images": 5914596,
|
| 25 |
+
"total_size": "353.5 GB",
|
| 26 |
+
"sample_fields": [
|
| 27 |
+
"webp",
|
| 28 |
+
"json.id",
|
| 29 |
+
"json.width",
|
| 30 |
+
"json.height",
|
| 31 |
+
"json.rating",
|
| 32 |
+
"json.general_tags",
|
| 33 |
+
"json.character_tags"
|
| 34 |
+
],
|
| 35 |
+
"selected_tags": {
|
| 36 |
+
"total": 12476,
|
| 37 |
+
"general": 9225,
|
| 38 |
+
"character": 3247,
|
| 39 |
+
"rating": 4
|
| 40 |
+
}
|
| 41 |
+
}
|
data/dbv4_full_models.csv
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
rank_by_macro_best,family,model,repo_id,params_m,macro_best,macro_040,micro_040
|
| 2 |
+
1,ConvNeXt,convnextv2_huge.dbv4-full,animetimm/convnextv2_huge.dbv4-full,692.6,0.611,0.58,0.697
|
| 3 |
+
2,EVA,eva02_large_patch14_448.dbv4-full,animetimm/eva02_large_patch14_448.dbv4-full,316.8,0.599,0.569,0.693
|
| 4 |
+
3,CAFormer,caformer_b36.dbv4-full,animetimm/caformer_b36.dbv4-full,134.0,0.581,0.546,0.689
|
| 5 |
+
4,SwinV2,swinv2_base_window8_256.dbv4-full,animetimm/swinv2_base_window8_256.dbv4-full,99.7,0.575,0.541,0.683
|
| 6 |
+
5,CAFormer,caformer_m36.dbv4-full,animetimm/caformer_m36.dbv4-full,82.7,0.559,0.515,0.676
|
| 7 |
+
6,ConvNeXt,convnext_base.dbv4-full,animetimm/convnext_base.dbv4-full,100.4,0.553,0.521,0.669
|
| 8 |
+
7,CAFormer,caformer_s36.dbv4-full,animetimm/caformer_s36.dbv4-full,62.8,0.549,0.504,0.67
|
| 9 |
+
8,ViT,vit_base_patch16_224.dbv4-full,animetimm/vit_base_patch16_224.dbv4-full,95.8,0.54,0.5,0.664
|
| 10 |
+
9,CAFormer,caformer_s18.dbv4-full,animetimm/caformer_s18.dbv4-full,49.9,0.516,0.464,0.647
|
| 11 |
+
10,MobileNetV4,mobilenetv4_conv_aa_large.dbv4-full,animetimm/mobilenetv4_conv_aa_large.dbv4-full,47.3,0.511,0.458,0.641
|
| 12 |
+
11,ResNet,resnet152.dbv4-full,animetimm/resnet152.dbv4-full,83.7,0.486,0.448,0.624
|
| 13 |
+
12,ResNet,resnet101.dbv4-full,animetimm/resnet101.dbv4-full,68.1,0.481,0.437,0.622
|
| 14 |
+
13,MobileNetV3,mobilenetv3_large_150d.dbv4-full,animetimm/mobilenetv3_large_150d.dbv4-full,29.3,0.462,0.4,0.605
|
| 15 |
+
14,MobileViT,mobilevitv2_200.dbv4-full,animetimm/mobilevitv2_200.dbv4-full,30.2,0.454,0.401,0.608
|
| 16 |
+
15,ResNet,resnet50.dbv4-full,animetimm/resnet50.dbv4-full,49.1,0.421,0.382,0.572
|
| 17 |
+
16,MobileNetV3,mobilenetv3_large_100.dbv4-full,animetimm/mobilenetv3_large_100.dbv4-full,20.2,0.383,0.311,0.533
|
| 18 |
+
17,MobileNetV4,mobilenetv4_conv_small.dbv4-full,animetimm/mobilenetv4_conv_small.dbv4-full,18.5,0.379,0.312,0.529
|
| 19 |
+
18,ResNet,resnet34.dbv4-full,animetimm/resnet34.dbv4-full,27.7,0.342,0.29,0.53
|
| 20 |
+
19,ResNet,resnet18.dbv4-full,animetimm/resnet18.dbv4-full,17.6,0.314,0.259,0.499
|
| 21 |
+
20,MobileNetV4,mobilenetv4_conv_small_050.dbv4-full,animetimm/mobilenetv4_conv_small_050.dbv4-full,16.9,0.3,0.194,0.429
|
data/dbv4_full_models.json
ADDED
|
@@ -0,0 +1,202 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[
|
| 2 |
+
{
|
| 3 |
+
"rank_by_macro_best": 1,
|
| 4 |
+
"family": "ConvNeXt",
|
| 5 |
+
"model": "convnextv2_huge.dbv4-full",
|
| 6 |
+
"repo_id": "animetimm/convnextv2_huge.dbv4-full",
|
| 7 |
+
"params_m": 692.6,
|
| 8 |
+
"macro_best": 0.611,
|
| 9 |
+
"macro_040": 0.58,
|
| 10 |
+
"micro_040": 0.697
|
| 11 |
+
},
|
| 12 |
+
{
|
| 13 |
+
"rank_by_macro_best": 2,
|
| 14 |
+
"family": "EVA",
|
| 15 |
+
"model": "eva02_large_patch14_448.dbv4-full",
|
| 16 |
+
"repo_id": "animetimm/eva02_large_patch14_448.dbv4-full",
|
| 17 |
+
"params_m": 316.8,
|
| 18 |
+
"macro_best": 0.599,
|
| 19 |
+
"macro_040": 0.569,
|
| 20 |
+
"micro_040": 0.693
|
| 21 |
+
},
|
| 22 |
+
{
|
| 23 |
+
"rank_by_macro_best": 3,
|
| 24 |
+
"family": "CAFormer",
|
| 25 |
+
"model": "caformer_b36.dbv4-full",
|
| 26 |
+
"repo_id": "animetimm/caformer_b36.dbv4-full",
|
| 27 |
+
"params_m": 134.0,
|
| 28 |
+
"macro_best": 0.581,
|
| 29 |
+
"macro_040": 0.546,
|
| 30 |
+
"micro_040": 0.689
|
| 31 |
+
},
|
| 32 |
+
{
|
| 33 |
+
"rank_by_macro_best": 4,
|
| 34 |
+
"family": "SwinV2",
|
| 35 |
+
"model": "swinv2_base_window8_256.dbv4-full",
|
| 36 |
+
"repo_id": "animetimm/swinv2_base_window8_256.dbv4-full",
|
| 37 |
+
"params_m": 99.7,
|
| 38 |
+
"macro_best": 0.575,
|
| 39 |
+
"macro_040": 0.541,
|
| 40 |
+
"micro_040": 0.683
|
| 41 |
+
},
|
| 42 |
+
{
|
| 43 |
+
"rank_by_macro_best": 5,
|
| 44 |
+
"family": "CAFormer",
|
| 45 |
+
"model": "caformer_m36.dbv4-full",
|
| 46 |
+
"repo_id": "animetimm/caformer_m36.dbv4-full",
|
| 47 |
+
"params_m": 82.7,
|
| 48 |
+
"macro_best": 0.559,
|
| 49 |
+
"macro_040": 0.515,
|
| 50 |
+
"micro_040": 0.676
|
| 51 |
+
},
|
| 52 |
+
{
|
| 53 |
+
"rank_by_macro_best": 6,
|
| 54 |
+
"family": "ConvNeXt",
|
| 55 |
+
"model": "convnext_base.dbv4-full",
|
| 56 |
+
"repo_id": "animetimm/convnext_base.dbv4-full",
|
| 57 |
+
"params_m": 100.4,
|
| 58 |
+
"macro_best": 0.553,
|
| 59 |
+
"macro_040": 0.521,
|
| 60 |
+
"micro_040": 0.669
|
| 61 |
+
},
|
| 62 |
+
{
|
| 63 |
+
"rank_by_macro_best": 7,
|
| 64 |
+
"family": "CAFormer",
|
| 65 |
+
"model": "caformer_s36.dbv4-full",
|
| 66 |
+
"repo_id": "animetimm/caformer_s36.dbv4-full",
|
| 67 |
+
"params_m": 62.8,
|
| 68 |
+
"macro_best": 0.549,
|
| 69 |
+
"macro_040": 0.504,
|
| 70 |
+
"micro_040": 0.67
|
| 71 |
+
},
|
| 72 |
+
{
|
| 73 |
+
"rank_by_macro_best": 8,
|
| 74 |
+
"family": "ViT",
|
| 75 |
+
"model": "vit_base_patch16_224.dbv4-full",
|
| 76 |
+
"repo_id": "animetimm/vit_base_patch16_224.dbv4-full",
|
| 77 |
+
"params_m": 95.8,
|
| 78 |
+
"macro_best": 0.54,
|
| 79 |
+
"macro_040": 0.5,
|
| 80 |
+
"micro_040": 0.664
|
| 81 |
+
},
|
| 82 |
+
{
|
| 83 |
+
"rank_by_macro_best": 9,
|
| 84 |
+
"family": "CAFormer",
|
| 85 |
+
"model": "caformer_s18.dbv4-full",
|
| 86 |
+
"repo_id": "animetimm/caformer_s18.dbv4-full",
|
| 87 |
+
"params_m": 49.9,
|
| 88 |
+
"macro_best": 0.516,
|
| 89 |
+
"macro_040": 0.464,
|
| 90 |
+
"micro_040": 0.647
|
| 91 |
+
},
|
| 92 |
+
{
|
| 93 |
+
"rank_by_macro_best": 10,
|
| 94 |
+
"family": "MobileNetV4",
|
| 95 |
+
"model": "mobilenetv4_conv_aa_large.dbv4-full",
|
| 96 |
+
"repo_id": "animetimm/mobilenetv4_conv_aa_large.dbv4-full",
|
| 97 |
+
"params_m": 47.3,
|
| 98 |
+
"macro_best": 0.511,
|
| 99 |
+
"macro_040": 0.458,
|
| 100 |
+
"micro_040": 0.641
|
| 101 |
+
},
|
| 102 |
+
{
|
| 103 |
+
"rank_by_macro_best": 11,
|
| 104 |
+
"family": "ResNet",
|
| 105 |
+
"model": "resnet152.dbv4-full",
|
| 106 |
+
"repo_id": "animetimm/resnet152.dbv4-full",
|
| 107 |
+
"params_m": 83.7,
|
| 108 |
+
"macro_best": 0.486,
|
| 109 |
+
"macro_040": 0.448,
|
| 110 |
+
"micro_040": 0.624
|
| 111 |
+
},
|
| 112 |
+
{
|
| 113 |
+
"rank_by_macro_best": 12,
|
| 114 |
+
"family": "ResNet",
|
| 115 |
+
"model": "resnet101.dbv4-full",
|
| 116 |
+
"repo_id": "animetimm/resnet101.dbv4-full",
|
| 117 |
+
"params_m": 68.1,
|
| 118 |
+
"macro_best": 0.481,
|
| 119 |
+
"macro_040": 0.437,
|
| 120 |
+
"micro_040": 0.622
|
| 121 |
+
},
|
| 122 |
+
{
|
| 123 |
+
"rank_by_macro_best": 13,
|
| 124 |
+
"family": "MobileNetV3",
|
| 125 |
+
"model": "mobilenetv3_large_150d.dbv4-full",
|
| 126 |
+
"repo_id": "animetimm/mobilenetv3_large_150d.dbv4-full",
|
| 127 |
+
"params_m": 29.3,
|
| 128 |
+
"macro_best": 0.462,
|
| 129 |
+
"macro_040": 0.4,
|
| 130 |
+
"micro_040": 0.605
|
| 131 |
+
},
|
| 132 |
+
{
|
| 133 |
+
"rank_by_macro_best": 14,
|
| 134 |
+
"family": "MobileViT",
|
| 135 |
+
"model": "mobilevitv2_200.dbv4-full",
|
| 136 |
+
"repo_id": "animetimm/mobilevitv2_200.dbv4-full",
|
| 137 |
+
"params_m": 30.2,
|
| 138 |
+
"macro_best": 0.454,
|
| 139 |
+
"macro_040": 0.401,
|
| 140 |
+
"micro_040": 0.608
|
| 141 |
+
},
|
| 142 |
+
{
|
| 143 |
+
"rank_by_macro_best": 15,
|
| 144 |
+
"family": "ResNet",
|
| 145 |
+
"model": "resnet50.dbv4-full",
|
| 146 |
+
"repo_id": "animetimm/resnet50.dbv4-full",
|
| 147 |
+
"params_m": 49.1,
|
| 148 |
+
"macro_best": 0.421,
|
| 149 |
+
"macro_040": 0.382,
|
| 150 |
+
"micro_040": 0.572
|
| 151 |
+
},
|
| 152 |
+
{
|
| 153 |
+
"rank_by_macro_best": 16,
|
| 154 |
+
"family": "MobileNetV3",
|
| 155 |
+
"model": "mobilenetv3_large_100.dbv4-full",
|
| 156 |
+
"repo_id": "animetimm/mobilenetv3_large_100.dbv4-full",
|
| 157 |
+
"params_m": 20.2,
|
| 158 |
+
"macro_best": 0.383,
|
| 159 |
+
"macro_040": 0.311,
|
| 160 |
+
"micro_040": 0.533
|
| 161 |
+
},
|
| 162 |
+
{
|
| 163 |
+
"rank_by_macro_best": 17,
|
| 164 |
+
"family": "MobileNetV4",
|
| 165 |
+
"model": "mobilenetv4_conv_small.dbv4-full",
|
| 166 |
+
"repo_id": "animetimm/mobilenetv4_conv_small.dbv4-full",
|
| 167 |
+
"params_m": 18.5,
|
| 168 |
+
"macro_best": 0.379,
|
| 169 |
+
"macro_040": 0.312,
|
| 170 |
+
"micro_040": 0.529
|
| 171 |
+
},
|
| 172 |
+
{
|
| 173 |
+
"rank_by_macro_best": 18,
|
| 174 |
+
"family": "ResNet",
|
| 175 |
+
"model": "resnet34.dbv4-full",
|
| 176 |
+
"repo_id": "animetimm/resnet34.dbv4-full",
|
| 177 |
+
"params_m": 27.7,
|
| 178 |
+
"macro_best": 0.342,
|
| 179 |
+
"macro_040": 0.29,
|
| 180 |
+
"micro_040": 0.53
|
| 181 |
+
},
|
| 182 |
+
{
|
| 183 |
+
"rank_by_macro_best": 19,
|
| 184 |
+
"family": "ResNet",
|
| 185 |
+
"model": "resnet18.dbv4-full",
|
| 186 |
+
"repo_id": "animetimm/resnet18.dbv4-full",
|
| 187 |
+
"params_m": 17.6,
|
| 188 |
+
"macro_best": 0.314,
|
| 189 |
+
"macro_040": 0.259,
|
| 190 |
+
"micro_040": 0.499
|
| 191 |
+
},
|
| 192 |
+
{
|
| 193 |
+
"rank_by_macro_best": 20,
|
| 194 |
+
"family": "MobileNetV4",
|
| 195 |
+
"model": "mobilenetv4_conv_small_050.dbv4-full",
|
| 196 |
+
"repo_id": "animetimm/mobilenetv4_conv_small_050.dbv4-full",
|
| 197 |
+
"params_m": 16.9,
|
| 198 |
+
"macro_best": 0.3,
|
| 199 |
+
"macro_040": 0.194,
|
| 200 |
+
"micro_040": 0.429
|
| 201 |
+
}
|
| 202 |
+
]
|
data/featured_models.json
ADDED
|
@@ -0,0 +1,146 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"top5_macro_f1": [
|
| 3 |
+
{
|
| 4 |
+
"rank_by_macro_best": 1,
|
| 5 |
+
"family": "ConvNeXt",
|
| 6 |
+
"model": "convnextv2_huge.dbv4-full",
|
| 7 |
+
"repo_id": "animetimm/convnextv2_huge.dbv4-full",
|
| 8 |
+
"params_m": 692.6,
|
| 9 |
+
"macro_best": 0.611,
|
| 10 |
+
"macro_040": 0.58,
|
| 11 |
+
"micro_040": 0.697
|
| 12 |
+
},
|
| 13 |
+
{
|
| 14 |
+
"rank_by_macro_best": 2,
|
| 15 |
+
"family": "EVA",
|
| 16 |
+
"model": "eva02_large_patch14_448.dbv4-full",
|
| 17 |
+
"repo_id": "animetimm/eva02_large_patch14_448.dbv4-full",
|
| 18 |
+
"params_m": 316.8,
|
| 19 |
+
"macro_best": 0.599,
|
| 20 |
+
"macro_040": 0.569,
|
| 21 |
+
"micro_040": 0.693
|
| 22 |
+
},
|
| 23 |
+
{
|
| 24 |
+
"rank_by_macro_best": 3,
|
| 25 |
+
"family": "CAFormer",
|
| 26 |
+
"model": "caformer_b36.dbv4-full",
|
| 27 |
+
"repo_id": "animetimm/caformer_b36.dbv4-full",
|
| 28 |
+
"params_m": 134.0,
|
| 29 |
+
"macro_best": 0.581,
|
| 30 |
+
"macro_040": 0.546,
|
| 31 |
+
"micro_040": 0.689
|
| 32 |
+
},
|
| 33 |
+
{
|
| 34 |
+
"rank_by_macro_best": 4,
|
| 35 |
+
"family": "SwinV2",
|
| 36 |
+
"model": "swinv2_base_window8_256.dbv4-full",
|
| 37 |
+
"repo_id": "animetimm/swinv2_base_window8_256.dbv4-full",
|
| 38 |
+
"params_m": 99.7,
|
| 39 |
+
"macro_best": 0.575,
|
| 40 |
+
"macro_040": 0.541,
|
| 41 |
+
"micro_040": 0.683
|
| 42 |
+
},
|
| 43 |
+
{
|
| 44 |
+
"rank_by_macro_best": 5,
|
| 45 |
+
"family": "CAFormer",
|
| 46 |
+
"model": "caformer_m36.dbv4-full",
|
| 47 |
+
"repo_id": "animetimm/caformer_m36.dbv4-full",
|
| 48 |
+
"params_m": 82.7,
|
| 49 |
+
"macro_best": 0.559,
|
| 50 |
+
"macro_040": 0.515,
|
| 51 |
+
"micro_040": 0.676
|
| 52 |
+
}
|
| 53 |
+
],
|
| 54 |
+
"best_by_family": [
|
| 55 |
+
{
|
| 56 |
+
"rank_by_macro_best": 1,
|
| 57 |
+
"family": "ConvNeXt",
|
| 58 |
+
"model": "convnextv2_huge.dbv4-full",
|
| 59 |
+
"repo_id": "animetimm/convnextv2_huge.dbv4-full",
|
| 60 |
+
"params_m": 692.6,
|
| 61 |
+
"macro_best": 0.611,
|
| 62 |
+
"macro_040": 0.58,
|
| 63 |
+
"micro_040": 0.697
|
| 64 |
+
},
|
| 65 |
+
{
|
| 66 |
+
"rank_by_macro_best": 2,
|
| 67 |
+
"family": "EVA",
|
| 68 |
+
"model": "eva02_large_patch14_448.dbv4-full",
|
| 69 |
+
"repo_id": "animetimm/eva02_large_patch14_448.dbv4-full",
|
| 70 |
+
"params_m": 316.8,
|
| 71 |
+
"macro_best": 0.599,
|
| 72 |
+
"macro_040": 0.569,
|
| 73 |
+
"micro_040": 0.693
|
| 74 |
+
},
|
| 75 |
+
{
|
| 76 |
+
"rank_by_macro_best": 3,
|
| 77 |
+
"family": "CAFormer",
|
| 78 |
+
"model": "caformer_b36.dbv4-full",
|
| 79 |
+
"repo_id": "animetimm/caformer_b36.dbv4-full",
|
| 80 |
+
"params_m": 134.0,
|
| 81 |
+
"macro_best": 0.581,
|
| 82 |
+
"macro_040": 0.546,
|
| 83 |
+
"micro_040": 0.689
|
| 84 |
+
},
|
| 85 |
+
{
|
| 86 |
+
"rank_by_macro_best": 4,
|
| 87 |
+
"family": "SwinV2",
|
| 88 |
+
"model": "swinv2_base_window8_256.dbv4-full",
|
| 89 |
+
"repo_id": "animetimm/swinv2_base_window8_256.dbv4-full",
|
| 90 |
+
"params_m": 99.7,
|
| 91 |
+
"macro_best": 0.575,
|
| 92 |
+
"macro_040": 0.541,
|
| 93 |
+
"micro_040": 0.683
|
| 94 |
+
},
|
| 95 |
+
{
|
| 96 |
+
"rank_by_macro_best": 8,
|
| 97 |
+
"family": "ViT",
|
| 98 |
+
"model": "vit_base_patch16_224.dbv4-full",
|
| 99 |
+
"repo_id": "animetimm/vit_base_patch16_224.dbv4-full",
|
| 100 |
+
"params_m": 95.8,
|
| 101 |
+
"macro_best": 0.54,
|
| 102 |
+
"macro_040": 0.5,
|
| 103 |
+
"micro_040": 0.664
|
| 104 |
+
},
|
| 105 |
+
{
|
| 106 |
+
"rank_by_macro_best": 10,
|
| 107 |
+
"family": "MobileNetV4",
|
| 108 |
+
"model": "mobilenetv4_conv_aa_large.dbv4-full",
|
| 109 |
+
"repo_id": "animetimm/mobilenetv4_conv_aa_large.dbv4-full",
|
| 110 |
+
"params_m": 47.3,
|
| 111 |
+
"macro_best": 0.511,
|
| 112 |
+
"macro_040": 0.458,
|
| 113 |
+
"micro_040": 0.641
|
| 114 |
+
},
|
| 115 |
+
{
|
| 116 |
+
"rank_by_macro_best": 13,
|
| 117 |
+
"family": "MobileNetV3",
|
| 118 |
+
"model": "mobilenetv3_large_150d.dbv4-full",
|
| 119 |
+
"repo_id": "animetimm/mobilenetv3_large_150d.dbv4-full",
|
| 120 |
+
"params_m": 29.3,
|
| 121 |
+
"macro_best": 0.462,
|
| 122 |
+
"macro_040": 0.4,
|
| 123 |
+
"micro_040": 0.605
|
| 124 |
+
},
|
| 125 |
+
{
|
| 126 |
+
"rank_by_macro_best": 14,
|
| 127 |
+
"family": "MobileViT",
|
| 128 |
+
"model": "mobilevitv2_200.dbv4-full",
|
| 129 |
+
"repo_id": "animetimm/mobilevitv2_200.dbv4-full",
|
| 130 |
+
"params_m": 30.2,
|
| 131 |
+
"macro_best": 0.454,
|
| 132 |
+
"macro_040": 0.401,
|
| 133 |
+
"micro_040": 0.608
|
| 134 |
+
},
|
| 135 |
+
{
|
| 136 |
+
"rank_by_macro_best": 11,
|
| 137 |
+
"family": "ResNet",
|
| 138 |
+
"model": "resnet152.dbv4-full",
|
| 139 |
+
"repo_id": "animetimm/resnet152.dbv4-full",
|
| 140 |
+
"params_m": 83.7,
|
| 141 |
+
"macro_best": 0.486,
|
| 142 |
+
"macro_040": 0.448,
|
| 143 |
+
"micro_040": 0.624
|
| 144 |
+
}
|
| 145 |
+
]
|
| 146 |
+
}
|
scripts/build_org_card.py
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/env python3
|
| 2 |
+
"""Build the AnimeTimm organization card assets from checked-in model data."""
|
| 3 |
+
|
| 4 |
+
import csv
|
| 5 |
+
import json
|
| 6 |
+
from collections import OrderedDict
|
| 7 |
+
from pathlib import Path
|
| 8 |
+
|
| 9 |
+
import matplotlib
|
| 10 |
+
matplotlib.use("Agg")
|
| 11 |
+
import matplotlib.pyplot as plt
|
| 12 |
+
from matplotlib.patches import Rectangle
|
| 13 |
+
|
| 14 |
+
ROOT = Path(__file__).resolve().parents[1]
|
| 15 |
+
ASSETS = ROOT / "assets"
|
| 16 |
+
DATA = ROOT / "data"
|
| 17 |
+
ASSETS.mkdir(exist_ok=True)
|
| 18 |
+
|
| 19 |
+
FAMILY_ORDER = [
|
| 20 |
+
"ConvNeXt",
|
| 21 |
+
"EVA",
|
| 22 |
+
"CAFormer",
|
| 23 |
+
"SwinV2",
|
| 24 |
+
"ViT",
|
| 25 |
+
"MobileNetV4",
|
| 26 |
+
"MobileNetV3",
|
| 27 |
+
"MobileViT",
|
| 28 |
+
"ResNet",
|
| 29 |
+
]
|
| 30 |
+
|
| 31 |
+
|
| 32 |
+
def load_rows():
|
| 33 |
+
with (DATA / "dbv4_full_models.csv").open(newline="", encoding="utf-8") as f:
|
| 34 |
+
rows = list(csv.DictReader(f))
|
| 35 |
+
for row in rows:
|
| 36 |
+
row["rank_by_macro_best"] = int(row["rank_by_macro_best"])
|
| 37 |
+
for key in ["params_m", "macro_best", "macro_040", "micro_040"]:
|
| 38 |
+
row[key] = float(row[key])
|
| 39 |
+
return sorted(rows, key=lambda item: item["macro_best"], reverse=True)
|
| 40 |
+
|
| 41 |
+
|
| 42 |
+
def write_data_views(rows):
|
| 43 |
+
with (DATA / "dbv4_full_models.json").open("w", encoding="utf-8") as f:
|
| 44 |
+
json.dump(rows, f, indent=2)
|
| 45 |
+
best = OrderedDict()
|
| 46 |
+
for row in rows:
|
| 47 |
+
best.setdefault(row["family"], row)
|
| 48 |
+
family_rows = [best[family] for family in FAMILY_ORDER if family in best]
|
| 49 |
+
with (DATA / "featured_models.json").open("w", encoding="utf-8") as f:
|
| 50 |
+
json.dump({"top5_macro_f1": rows[:5], "best_by_family": family_rows}, f, indent=2)
|
| 51 |
+
return rows[:5], family_rows
|
| 52 |
+
|
| 53 |
+
|
| 54 |
+
def draw_banner():
|
| 55 |
+
fig, ax = plt.subplots(figsize=(12, 3.6), dpi=160)
|
| 56 |
+
fig.patch.set_facecolor("#12131c")
|
| 57 |
+
ax.set_facecolor("#12131c")
|
| 58 |
+
ax.set_xlim(0, 1200)
|
| 59 |
+
ax.set_ylim(0, 360)
|
| 60 |
+
ax.axis("off")
|
| 61 |
+
colors = ["#ff7ab6", "#8f7cff", "#55d6be", "#ffd166", "#7bdff2"]
|
| 62 |
+
for i, color in enumerate(colors):
|
| 63 |
+
ax.add_patch(Rectangle((i * 240, 0), 240, 360, color=color, alpha=0.10 + 0.02 * i, lw=0))
|
| 64 |
+
for x in range(0, 1201, 60):
|
| 65 |
+
ax.plot([x, x], [0, 360], color="white", alpha=0.045, lw=0.7)
|
| 66 |
+
for y in range(0, 361, 60):
|
| 67 |
+
ax.plot([0, 1200], [y, y], color="white", alpha=0.045, lw=0.7)
|
| 68 |
+
for x, y, size, color in [(930, 240, 52, "#ff7ab6"), (1010, 165, 38, "#55d6be"), (1080, 260, 28, "#ffd166"), (845, 120, 32, "#8f7cff")]:
|
| 69 |
+
ax.scatter([x], [y], s=size * size / 4, marker="*", color=color, alpha=0.85, edgecolors="white", linewidths=0.8)
|
| 70 |
+
labels = ["tags", "timm", "anime", "F1", "ONNX", "safetensors"]
|
| 71 |
+
positions = [(720, 78), (812, 285), (935, 65), (1045, 104), (705, 210), (1085, 205)]
|
| 72 |
+
for (x, y), label, color in zip(positions, labels, colors + ["#ffffff"]):
|
| 73 |
+
ax.text(x, y, label, color="#f7f7fb", fontsize=13, fontweight="bold", ha="center", va="center", bbox=dict(boxstyle="round,pad=0.35,rounding_size=0.18", fc=color, ec="white", alpha=0.35, lw=0.8))
|
| 74 |
+
ax.text(70, 218, "AnimeTimm", color="white", fontsize=54, fontweight="bold", ha="left", va="center")
|
| 75 |
+
ax.text(75, 157, "timm-based vision models for anime-style image tagging", color="#e6e7f3", fontsize=20, ha="left", va="center")
|
| 76 |
+
ax.text(76, 108, "A DeepGHS research-and-hobbyist project", color="#ffcfdf", fontsize=15, ha="left", va="center")
|
| 77 |
+
xs = [720, 800, 890, 980, 1080]
|
| 78 |
+
ys = [135, 175, 205, 225, 252]
|
| 79 |
+
ax.plot(xs, ys, color="#ffffff", lw=2.2, alpha=0.78)
|
| 80 |
+
ax.scatter(xs, ys, s=75, color="#55d6be", edgecolor="white", linewidth=1.2, zorder=3)
|
| 81 |
+
fig.savefig(ASSETS / "animetimm-banner.png", bbox_inches="tight", pad_inches=0)
|
| 82 |
+
plt.close(fig)
|
| 83 |
+
|
| 84 |
+
|
| 85 |
+
def draw_snapshot(top5, family_rows):
|
| 86 |
+
plot_rows = top5 + [row for row in family_rows if row not in top5]
|
| 87 |
+
plot_rows = sorted(plot_rows, key=lambda row: row["macro_best"])
|
| 88 |
+
fig, ax1 = plt.subplots(figsize=(11.5, 7.2), dpi=160)
|
| 89 |
+
fig.patch.set_facecolor("#ffffff")
|
| 90 |
+
ax1.set_facecolor("#fbfbff")
|
| 91 |
+
y = list(range(len(plot_rows)))
|
| 92 |
+
labels = [row["model"].replace(".dbv4-full", "") for row in plot_rows]
|
| 93 |
+
bar_colors = ["#8f7cff" if row in top5 else "#55b9d6" for row in plot_rows]
|
| 94 |
+
ax1.barh(y, [row["macro_best"] for row in plot_rows], color=bar_colors, alpha=0.88)
|
| 95 |
+
ax1.set_yticks(y)
|
| 96 |
+
ax1.set_yticklabels(labels, fontsize=9)
|
| 97 |
+
ax1.set_xlim(0.28, 0.63)
|
| 98 |
+
ax1.set_xlabel("Macro@Best F1", fontsize=11)
|
| 99 |
+
ax1.grid(axis="x", alpha=0.22)
|
| 100 |
+
for idx, row in enumerate(plot_rows):
|
| 101 |
+
ax1.text(row["macro_best"] + 0.004, idx, f"{row['macro_best']:.3f}", va="center", fontsize=8, color="#222222")
|
| 102 |
+
ax2 = ax1.twiny()
|
| 103 |
+
ax2.scatter([row["params_m"] for row in plot_rows], y, color="#ff7ab6", s=46, edgecolor="white", linewidth=0.8, zorder=5)
|
| 104 |
+
ax2.set_xscale("log")
|
| 105 |
+
ax2.set_xlabel("Parameters (M, log scale)", fontsize=11)
|
| 106 |
+
ax2.set_xlim(12, 900)
|
| 107 |
+
for idx, row in enumerate(plot_rows):
|
| 108 |
+
ax2.text(row["params_m"] * 1.04, idx + 0.14, f"{row['params_m']:.1f}M", va="center", fontsize=7, color="#8a1f55")
|
| 109 |
+
ax1.set_title("AnimeTimm dbv4-full Model Snapshot", fontsize=16, fontweight="bold", pad=14)
|
| 110 |
+
fig.text(0.125, 0.028, "Purple bars mark the top-5 Macro@Best F1 models. Blue bars are best-per-family representatives not already in top-5.", fontsize=8.5, color="#555555")
|
| 111 |
+
fig.tight_layout(rect=[0, 0.045, 1, 1])
|
| 112 |
+
fig.savefig(ASSETS / "dbv4-full-model-snapshot.png", bbox_inches="tight")
|
| 113 |
+
plt.close(fig)
|
| 114 |
+
|
| 115 |
+
|
| 116 |
+
def main():
|
| 117 |
+
rows = load_rows()
|
| 118 |
+
top5, family_rows = write_data_views(rows)
|
| 119 |
+
draw_banner()
|
| 120 |
+
draw_snapshot(top5, family_rows)
|
| 121 |
+
|
| 122 |
+
|
| 123 |
+
if __name__ == "__main__":
|
| 124 |
+
main()
|