| EN | 中文 |
HSWQ v3.4.8 — SAM3 Nodes Removed (Stock Loader Support Confirmed)
🗑️ Removed
- HSWQ SAM3 Loader (ConvRot INT8) and HSWQ SAM3 Detect were removed from the repository tree.
📖 Background (why)
The SAM3 ConvRot INT8 node work was published in v3.4.7. After posting on r/StableDiffusion, a community member pointed out that these checkpoints work with the default Comfy SAM 3.1 node. Re-testing confirmed it: the stock CheckpointLoaderSimple (and the default Comfy SAM3.1 node) load ConvRot INT8 SAM3 checkpoints correctly — the dedicated loader turned out to be unnecessary.
The reason stock loaders work is the HSWQ startup patch (_patch_load_state_dict_guess_config_int8, gated by is_sam3), which automatically:
- attaches
MixedPrecisionOps(int8_tensorwise) so Linear layers stay true INT8 in VRAM (TensorWiseINT8Layout), and - dequantizes and remaps the CLIP keys so the text encoder loads without the "clip missing" warning.
The error seen during the earlier test was a user-side oversight, not a loader incompatibility.
🔧 What changed
- Tree restored to the pre-SAM3 baseline
d33862a(191ddbc). - History intentionally retained: all SAM3 work — the nodes, the patches, and the complete technical guide — remains in the git history under v3.4.7 for future reference.
- CHANGELOG updated (EN + 中文).
📦 Related
- Quantized models: Hugging Face — SAM3.1-ConvRot-INT8 (900 MB native ConvRot INT8)
- Technical guide (kept in v3.4.7 history): HSWQ SAM3 ConvRot INT8 — Complete Technical Guide
💡 Technical notes from the experience
- Supporting ConvRot INT8 for SAM3 took several days of development; unlike image-generation UNets, the ConvRot rotation handling for ControlNet and CLIP was the difficult part.
- The motivation was storage savings as much as VRAM: converting CLIP and ControlNet to ConvRot INT8 freed about 40 GB on its own (the SSD was running out of space).
- HSWQ quantization protects critical layers in FP16 and can mix ConvRot INT8 with NVFP4; in that case the size becomes more than 50% of FP16, but precision improves.