Nodes/ComfyUI-NeurCADRecon/NeurCADRecon Load Checkpoint
ComfyUI Node

NeurCADRecon Load Checkpoint

Skip the retraining — load a saved .pth and go

By PozzettiAndrea-archive·Created 9 months ago·Updated 7 months ago· 0
NeurCADRecon Load Checkpoint
    • model
    • model_info
    checkpoint_path
    deviceauto

    If you've already trained a shape once, you don't want to sit through another 5–15 minutes of loss curves just to re-extract the mesh. This node is the shortcut: point it at a saved .pth checkpoint, and it hands you back the trained model, ready for NeurCADReconInference. Same NEURCADRECON_MODEL type, same downstream wiring, zero training.

    It exists because the Train node saves checkpoints by default - timestamped .pth files dropped into ComfyUI/output/neurcadrecon_checkpoints/ unless you gave it a custom checkpoint_dir. So the flow is: train once, save, and any later workflow becomes Load Checkpoint → Inference instead of Load Model → Train → Inference. If you're iterating on grid_resolution at export time, or you killed ComfyUI mid-workflow and want your result back, this is the node.

    Inputs and outputs

    • checkpoint_path (STRING, required) - the full path to a .pth file, like C:\ComfyUI\output\neurcadrecon_checkpoints\neurcadrecon_20260816_141530.pth. There's no file browser widget; paste the path from the Train node's checkpoint_path output or your file manager.
    • device (auto / cuda / cpu) - auto is fine unless you have a reason to pin it.

    Outputs are model (NEURCADRECON_MODEL) → Inference, and model_info (STRING), a summary showing the device, init type, and checkpoint path.

    How it works

    It's a torch.load(..., map_location=device) under the hood. The checkpoint stores the network state_dict plus the config that built it (init type, hidden dim, layer count), so the node reconstructs the exact same SIREN architecture, loads the weights, and switches it to eval mode. Because it re-creates the network from the checkpoint's own config rather than a hardcoded one, a checkpoint trained with a non-default init_type still loads correctly. It also restores the normalization parameters (center, scale, bounding box) stored alongside the weights, which is what lets the mesh come out at the right size and position.

    Where it trips people up

    The two failures are self-inflicted and both come with helpful errors. Empty checkpoint_path gets you a ValueError explaining the whole pipeline and pointing you at Train if you actually wanted to train. A path to a file that doesn't exist gets you a FileNotFoundError - the classic mistake is running ComfyUI on one machine, checkpointing, then trying to load from a path that only exists on the other. Also note: the default checkpoint directory lives under ComfyUI/output/, and some people clean that folder out routinely - don't, unless you want to retrain your part.

    Installation

    Same as every node in the pack. ComfyUI Manager, search "NeurCADRecon", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/PozzettiAndrea/ComfyUI-NeurCADRecon
    pip install -r ComfyUI-NeurCADRecon/requirements.txt
    

    restart, done. Deps are torch, numpy, trimesh, scipy, and PyMCubes - no model downloads. GPL-3.0. It's by Andrea Pozzetti (ComfyUI-CADabra, SAM3DObjects, MeshSegmenter), and it carries the pack-wide caveat: the README declares it "Work in Progress." For such a small node it's genuinely handy, but keep expectations calibrated - this whole pack is a niche, per-object reconstruction tool, not a production pipeline. The load node just makes the niche less tedious.

    CategoryNeurCADRecon

    Inputs (2)

    NameTypeDefaultDescription
    checkpoint_pathSTRINGPath to .pth checkpoint file.
    deviceoptCOMBOautoDevice to load model on.

    Outputs (2)

    NameTypeDescription
    modelNEURCADRECON_MODEL
    model_infoSTRING