NeurCADRecon Load Checkpoint
Skip the retraining — load a saved .pth and go
- model
- model_info
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.pthfile, likeC:\ComfyUI\output\neurcadrecon_checkpoints\neurcadrecon_20260816_141530.pth. There's no file browser widget; paste the path from the Train node'scheckpoint_pathoutput or your file manager. - device (
auto/cuda/cpu) -autois 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.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| checkpoint_path | STRING | Path to .pth checkpoint file. | |
| deviceopt | COMBO | auto | Device to load model on. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| model | NEURCADRECON_MODEL | — |
| model_info | STRING | — |