Load Tagger ๐
The loader for WD-tagger, the anime auto-captioning model
- WD_TAGGER
- WD_TAGGER_LABELS
WD-tagger - SmilingWolf's WD14/WD-v3 family - is the model most people reach for when they need Danbooru-style tags out of an image automatically, most commonly to caption a LoRA training set for an Illustrious, NoobAI, or Pony-family checkpoint. This node loads it inside ComfyUI, and it's the foundation everything else in cgem156's wd-tagger folder builds on: the Grad-CAM nodes, Grad Pair, and MSE Heatmap Tagger all need a loaded tagger to work with.
Why load a tagger inside ComfyUI at all
Normally WD-tagger runs as a standalone script or inside a training tool, not inside your generation graph. The reason to have it here is the interpretability tooling this pack builds around it - once the tagger is a node, you can point Grad-CAM at it and ask "why did the tagger think this image has this tag," visualized as a heatmap over the actual pixels. That's a debugging tool for auditing a dataset or sanity-checking a captioning pipeline, not something you'd run on every generation.
Inputs and outputs
Two required fields, both combos:
- tagger - which WD-tagger variant to load. The pack's README credits SmilingWolf's models and the
wdv3-timmimplementation, so expect the usual WD14/WD-v3 lineup here. - dtype - the precision to load weights in (fp16/fp32-style choice), trading memory for a little numerical headroom.
Two outputs: WD_TAGGER (the loaded model, feeds into the Grad-CAM family and MSE Heatmap Tagger) and WD_TAGGER_LABELS (the tag vocabulary the model was trained to predict - useful if you want to inspect or filter what it's capable of tagging at all).
Installing it
ComfyUI Manager: search "cgem156-ComfyUI". Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/laksjdjf/cgem156-ComfyUI
Restart afterward. Like the Dart nodes, this one pulls its weights from Hugging Face on first use rather than shipping them in the repo - the README credits https://huggingface.co/SmilingWolf as the model source, so your first run needs a working connection while it downloads and caches whichever tagger variant you picked. After that it loads locally like any other model.
Common issues
Since WD-tagger itself is a well-established tool outside this pack (it's the standard captioning choice cited across LoRA-training guides for Danbooru-trained bases), most of the friction here is generic to that model family rather than specific to this loader: picking dtype in a way your GPU or CPU inference path doesn't like can cause a hard error or silently slower inference - if load succeeds but tagging is unexpectedly slow, that's the first thing to check. First-run downloads can also stall or fail quietly behind a flaky connection, same as any Hugging Face pull - if WD_TAGGER or WD_TAGGER_LABELS come back empty, re-run rather than assume a code problem.
Worth setting expectations correctly: on its own this node produces nothing visual. It's a prerequisite, not a destination - the actual point (Grad-CAM heatmaps, MSE-based feature diffing) lives in the other nodes under the same wd-tagger category, all of which expect a WD_TAGGER from this node as their starting point.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| tagger | COMBO | 5 options: SmilingWolf/wd-vit-tagger-v3, SmilingWolf/wd-swinv2-tagger-v3, SmilingWolf/wd-convnext-tagger-v3, SmilingWolf/wd-vit-large-tagger-v3, SmilingWolf/wd-eva02-large-tagger-v3 | |
| dtype | COMBO | 3 options: fp16, fp32, bf16 |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| WD_TAGGER | WD_TAGGER | โ |
| WD_TAGGER_LABELS | WD_TAGGER_LABELS | โ |