Eximius Labs

sense pack · thermal

a thermal sense pack that adds infrared imagery to the shared space at no cost to the other senses.

family fusion embedding 2·pack thermal-gated adapter·output 2048-d·license open weights

ember lets the family see heat. it routes thermal imagery through the vision path of fusion embedding 2 and lands it in the same shared space, so thermal frames can be retrieved with text.

it is a clean demonstration of composability: a whole new sensor, added, with every existing modality left provably untouched.

how it works

ember is a modality-gated adapter on the fe2 base. under a thermal gate it sends infrared imagery through the vision path; every other modality stays bitwise-preserved. the gate is what keeps the addition local to thermal.

ember architecture: thermal imagery routed under a thermal gate through the base vision path via a trained adapter, with every other modality left bitwise-preserved.
architecture: frozen components in grey, the trained / new path in terracotta, all reading out into one shared 2048-d space.

training data

a single thermal-gated adapter is trained on paired thermal↔text data. every non-thermal path of the fe2 base is left bitwise-identical, so the score below comes at zero cost to text, image, video, or audio behaviour.

results

thermal→text retrieval reaches R@10 of about 0.783 across multiple seeds. the point is not only the score but that the base's text, image, video, and audio behaviour is exactly unchanged by adding it. this is a single retrieval direction, not a broad thermal-understanding benchmark.

thermal retrieval (multi-seed)

benchmarkscore
thermal→text R@10≈0.783

honest limitations

  • the result reported here is a single retrieval direction; it is not a broad thermal-understanding benchmark.
  • thermal is routed through the existing vision path rather than a dedicated thermal encoder.

usage

import torch
from transformers import AutoModel

model = AutoModel.from_pretrained(
    "EximiusLabs/fusion-embedding-2-ember",
    trust_remote_code=True,
).eval()

# thermal frames read out into the same 2048-d space as text
thermal = model.embed_image("thermal_frame.png")
query   = model.embed_text("a warm engine block")

similarity = (thermal * query).sum()

citation

@software{eximius_ember_2026,
  author = {Eximius Labs},
  title  = {Ember: a thermal sense pack for the
            Fusion Embedding 2 space},
  year   = {2026},
  url    = {https://huggingface.co/EximiusLabs/fusion-embedding-2-ember},
}

how it fits the family

ember is the clearest statement of the family's composability thesis: a modality-gated adapter adds a sensor and the rest of the space is provably unchanged.

any thermal a robot carries can be indexed into the same memory the other senses use.

related models