Both load() paths fetch the pretrained weights from Hugging Face without asking for a particular revision, so each call resolves to whatever main points at at that moment:
- PyTorch —
tabfm/src/pytorch/tabfm_v1_0_0.py:157
- JAX —
tabfm/src/jax/tabfm_v1_0_0.py:279-280
revision is already threaded through _from_pretrained in both files, so the plumbing exists — it is simply never given a value, and there is no checksum either.
main on google/tabfm-1.0.0-pytorch has moved ten times, and one of those commits changed the weight format outright:
702835545c8c 2026-07-02 convert weights to safetensors (#3)
That is the same change behind callers looking for pytorch_model.bin and not finding it, which is what #53 and #77 are about. Anyone who had pinned a revision would have kept working across that day and could then have moved deliberately.
Two things a pin would buy you:
- Reproducibility — a given tabfm version resolves to the same weights every time, so a result from three months ago can be reached again.
- Integrity — users are not moved onto different weights without noticing.
I have not sent a patch, because deciding which commit is the blessed one is your call and I would only be guessing. If it helps, the current head is 77cb9cc1b4fd, and the shape would be a module-level constant passed as revision= in both loaders, still overridable by the caller.
Glad to send the PR once you say which revision it should be.
Disclosure: I used an AI assistant while looking into this. I checked the file references and the Hugging Face commit list myself.
Both
load()paths fetch the pretrained weights from Hugging Face without asking for a particular revision, so each call resolves to whatevermainpoints at at that moment:tabfm/src/pytorch/tabfm_v1_0_0.py:157tabfm/src/jax/tabfm_v1_0_0.py:279-280revisionis already threaded through_from_pretrainedin both files, so the plumbing exists — it is simply never given a value, and there is no checksum either.mainongoogle/tabfm-1.0.0-pytorchhas moved ten times, and one of those commits changed the weight format outright:That is the same change behind callers looking for
pytorch_model.binand not finding it, which is what #53 and #77 are about. Anyone who had pinned a revision would have kept working across that day and could then have moved deliberately.Two things a pin would buy you:
I have not sent a patch, because deciding which commit is the blessed one is your call and I would only be guessing. If it helps, the current head is
77cb9cc1b4fd, and the shape would be a module-level constant passed asrevision=in both loaders, still overridable by the caller.Glad to send the PR once you say which revision it should be.
Disclosure: I used an AI assistant while looking into this. I checked the file references and the Hugging Face commit list myself.