From lgatr v1 to v2

The lgatr v2 release renames parts of the interface, mostly to make names consistent between the LGATr and LGATrSlim architectures. The concrete changes are:

  • ConditionalLGATr and ConditionalLGATrSlim __init__ arguments:

    • condition_mv_channelsmv_channels_cond

    • condition_v_channelsv_channels_cond

    • condition_s_channelss_channels_cond

    and forward arguments:

    • multivectors_conditionmultivectors_cond

    • vectors_conditionvectors_cond

    • scalars_conditionscalars_cond

  • MLPConfig:

    • activationnonlinearity

    • increase_hidden_channelsmlp_ratio

    • num_hidden_layersnum_layers_mlp (num_layers_mlp counts all layers instead of only the hidden ones, so explicit values have to be increased by one if the parameter is specified)

  • SelfAttentionConfig and CrossAttentionConfig:

    • increase_hidden_channelsattn_ratio.

  • The global gatr_config object is replaced by PrimitivesConfig, which is passed to each network as primitives. This way several networks with different settings can coexist. The flags are renamed:

    • use_fully_connected_subgroupsubgroup

    • use_bivectorbivector

    • use_geometric_productgeometric_product

  • The compile_mode and compile_dynamic arguments are replaced by a single compile_kwargs dict that is passed on to torch.compile(). Note that dynamic is not enabled by default anymore, use compile_kwargs={"dynamic": True} to recover the v1 behavior.