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"]. |
|
""" |
Hello, I would like to ask about the difference of the variables
property_embeddingsandproperty_embeddings_adaptas found in the code and the yaml config files. I could not really find whatproperty_embeddingsis used for, but from issues #58, #128 I would assume the following:property_embeddings: Training a model from scratch, conditioned on the specified propertiesproperty_embeddings_adapt: Fine-tuning a model to condition it on the specified propertiesIs 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 viaproperty_embeddings?Thanks (:
As a side note, the docstring on the
GemNetTDenoiserinit seems a bit outdated, quoting an incorrect default for hidden dims and not matching all of the current variables, likeproperty_embeddingsandproperty_embeddings_adapt(property_embeddings_adaptis unused here). I could try to update it, if you won't find the time and would like me to.mattergen/mattergen/denoiser.py
Lines 173 to 195 in 5bb2b39