1
0
mirror of https://github.com/huggingface/diffusers.git synced 2026-10-23 09:09:01 +03:00
Files
Kieran Didi 5378870419 Add RFD4-Proteina (#15088)
* Add RFD4-Proteina

Adds the RFD4-Proteina pipeline with its transformer, autoencoder and per-modality schedulers, a LoRA loader mixin, a checkpoint conversion script, tests and documentation.

* Address review: pass tensors instead of dicts, name the pipeline example inputs

prepare_latents returns a tuple and the sampling loop works on named tensors. The pipeline output has bb_ca, local_latents and clean_* fields instead of dicts, and the callback tensors are named. The pipeline properties move below __init__, the transformer return annotation names its tuple, LoRA moves from the loaders page to the pipeline docs, and the pipeline tests spell out their helpers.

* Remove the constructor options that are constant for the released checkpoint

The transformer always recycles the trunk, updates the pair representation with triangle multiplication (without bias) and aligns the chirality feature, as the released checkpoint does. The converter now checks that a checkpoint has exactly these settings instead of carrying them as options.

* Spell out the scheduler test arguments and the docs examples, default the autoencoder to its released features

The scheduler test helper takes its options by name, and the usage and batching examples pass the five required inputs by name. The autoencoder's default encoder features now match the released checkpoint, and the decoder moves its allowed-residue table to the token types' device.

* Follow the repository's test and docs checks

Restore the LoRA mixin on the loaders page, which utils/check_support_list.py requires for every LoRA loader mixin, and keep the mention in the pipeline docs. Compose the attention and torch.compile testers on the models, drop the model-level LoRA tests that the first pull request should not carry, and make the pipeline's backbone-noising step public as a lifecycle method.

* Keep the pipeline test helpers at the top of the test class

* Drop the training-only detach calls and make the noise helpers static methods

* Remove num_inference_steps and skip the unused encode for inverse folding

The number of steps is fixed by the released recipe and is the length of recycle_depths. Inverse folding starts both modalities at time zero, so its latents are noise and the encoded input was only consuming random draws.

---------

Co-authored-by: YiYi Xu <yixu310@gmail.com>
2026-10-20 11:12:21 -10:00
..
2026-10-20 11:12:21 -10:00
2023-01-04 22:59:42 +01:00
2026-10-15 22:00:50 +05:30
2026-09-24 09:11:42 -07:00
2026-10-20 11:12:21 -10:00