Nodes/cgem156-ComfyUI๐ŸŒ/Load Tagger ๐ŸŒ
ComfyUI Node

Load Tagger ๐ŸŒ

The loader for WD-tagger, the anime auto-captioning model

By laksjdjfยทCreated 2 years agoยทUpdated about a month agoยท 93
Load Tagger ๐ŸŒ
    • WD_TAGGER
    • WD_TAGGER_LABELS
    โ—„taggerโ–พโ–บ
    โ—„dtypeโ–พโ–บ

    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-timm implementation, 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.

    Categorycgem156 ๐ŸŒ/wd-tagger

    Inputs (2)

    NameTypeDefaultDescription
    taggerCOMBO5 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
    dtypeCOMBO3 options: fp16, fp32, bf16

    Outputs (2)

    NameTypeDescription
    WD_TAGGERWD_TAGGERโ€”
    WD_TAGGER_LABELSWD_TAGGER_LABELSโ€”