Skip to content

Understanding property_embeddings vs property_embeddings_adapt #133

@luisbro

Description

@luisbro

Hello, I would like to ask about the difference of the variables property_embeddings and property_embeddings_adapt as found in the code and the yaml config files. I could not really find what property_embeddings is used for, but from issues #58, #128 I would assume the following:

  • property_embeddings: Training a model from scratch, conditioned on the specified properties
  • property_embeddings_adapt: Fine-tuning a model to condition it on the specified properties

Is this accurate? If so, it seems to me like all models provided here use the fine tuning via property_embeddings_adapt, so what made you decide to keep the option of training from scratch via property_embeddings?

Thanks (:


As a side note, the docstring on the GemNetTDenoiser init seems a bit outdated, quoting an incorrect default for hidden dims and not matching all of the current variables, like property_embeddings and property_embeddings_adapt (property_embeddings_adapt is unused here). I could try to update it, if you won't find the time and would like me to.

def __init__(
self,
gemnet: nn.Module,
hidden_dim: int = 512,
denoise_atom_types: bool = True,
atom_type_diffusion: str = [
"mask",
"uniform",
][0],
property_embeddings: torch.nn.ModuleDict | None = None,
property_embeddings_adapt: torch.nn.ModuleDict | None = None,
element_mask_func: Callable | None = None,
**kwargs,
):
"""Construct a GemNetTDenoiser object.
Args:
gemnet: a GNN module
hidden_dim (int, optional): Number of hidden dimensions in the GemNet. Defaults to 128.
denoise_atom_types (bool, optional): Whether to denoise the atom types. Defaults to False.
atom_type_diffusion (str, optional): Which type of atom type diffusion to use. Defaults to "mask".
condition_on (Optional[List[str]], optional): Which aspects of the data to condition on. Strings must be in ["property", "chemical_system"]. If None (default), condition on ["chemical_system"].
"""

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions