mxtaltools.models.modules.components
- class mxtaltools.models.modules.components.Activation(activation_func: str, filters: int)[source]
Bases:
ModuleWrapper module for several activation options
- Parameters:
- class mxtaltools.models.modules.components.EmbeddingBlock(init_node_embedding_dim: int, num_input_classes: int, num_scalar_input_features: int, atom_type_embedding_dim: int)[source]
Bases:
Module
- class mxtaltools.models.modules.components.KernelActivation(n_basis: int, span: float, filters: int)[source]
Bases:
ModuleFunction for learning an activation function for every node in a given layer, as a linear combination of basis functions over a given span. Uses nn.Conv1d groups option for efficient evaluation.
- Parameters:
- class mxtaltools.models.modules.components.Normalization(norm: str, filters: int)[source]
Bases:
ModuleWrapper module for several normalization options
- Parameters:
- class mxtaltools.models.modules.components.ResidualMLP(input_dim, hidden_dim, output_dim, num_layers, norm, dropout_p)[source]
Bases:
Modulea simpler general-purpose MLP
- class mxtaltools.models.modules.components.Scalarizer(hidden_dim: int, embedding_dim: int, norm_mode: str, act_func: str, dropout: float = 0, output_dim: int = None)[source]
Bases:
Module- __init__(hidden_dim: int, embedding_dim: int, norm_mode: str, act_func: str, dropout: float = 0, output_dim: int = None)[source]
Generate a learned invariant representation of dimension \((k)\) from a list of vectors of dimension \(v=(k x 3)\).
Generate m vectors as a linear combination of the k vectors of v, take their normalized dot products with the components of v, concatenate to the norms of v, and linearly combine to the so-called scalarized representation of v.
- class mxtaltools.models.modules.components.VectorActivation(hidden_dim: int, act_func: str)[source]
Bases:
ModuleModified implementation of the vector activation function from https://github.com/FlyingGiraffe/vnn/blob/master/models/vn_layers.py
Generates an axis as a learned linear combination of input v, then the normalized overlaps of all the components of v.
Applies an activation function on the vector overlaps, such that, e.g., for ReLU activation, vectors with negative overlap are rotated to be perpendicular to the learned axis (zero overlap) and vectors with positive overlap are untouched.
- Parameters:
- class mxtaltools.models.modules.components.scalarMLP(layers: int, filters: int, input_dim: int, output_dim: int, activation: str = 'gelu', seed: int = 0, dropout: float = 0, norm: str = None, norm_after_linear: bool = True, bias: bool = True, ramp_depth: bool = False)[source]
Bases:
ModuleFlexible multi-layer perceptron module, with several options.
- Parameters:
layers (int) – number of fully-connected layers
filters (int) – feature depth with FC layers
input_dim (int) – feature depth of inputs
output_dim (int) – feature depth of outputs
activation (str) – activation function
seed (int) – random seed
dropout (float) – dropout probability
ramp_depth (bool) – whether to ramp the feature depth exponentially from input_dim to output_dim through the network
- class mxtaltools.models.modules.components.vectorMLP(layers: int, filters: int, input_dim: int, output_dim: int, vector_input_dim: int, vector_output_dim: int, activation: str = 'gelu', seed: int = 0, dropout: float = 0, norm: str = None, norm_after_linear: bool = True, bias: bool = True, vector_norm: str = None, ramp_depth: bool = False, v_to_s_combination: str = 'sum')[source]
Bases:
scalarMLPscalarMLP model with l=1 vector track added with o3 equivariance