MolecularDiffusion.modules.models.jodo.layers¶
Classes¶
Gaussian basis function layer for 3D distance features, with time embedding condition |
|
The version of edge feature gating. |
|
Gaussian basis function layer for 3D distance features |
|
following @crowsonkb 's lead with learned sinusoidal pos emb |
|
The version for involving the edge feature. Multiply Msg. Without FFN and norm. |
|
The version for involving the edge feature. Multiply Msg. Without FFN and norm. |
Functions¶
|
Module Contents¶
- class MolecularDiffusion.modules.models.jodo.layers.CondCoorsNorm(time_dim, eps=1e-08)¶
Bases:
torch.nn.Module- forward(coors, time_emb)¶
- eps = 1e-08¶
- time_emb¶
- class MolecularDiffusion.modules.models.jodo.layers.CondGaussianLayer(K, time_dim)¶
Bases:
torch.nn.ModuleGaussian basis function layer for 3D distance features, with time embedding condition
- forward(x, time_emb=None)¶
- K¶
- means¶
- stds¶
- time_mlp¶
- class MolecularDiffusion.modules.models.jodo.layers.CoorsNorm(eps=1e-08, scale_init=1.0)¶
Bases:
torch.nn.Module- forward(coors)¶
- eps = 1e-08¶
- scale¶
- class MolecularDiffusion.modules.models.jodo.layers.EdgeGateTransLayer(x_channels: int, out_channels: int, heads: int = 1, dropout: float = 0.0, edge_dim: int | None = None, bias: bool = True, **kwargs)¶
Bases:
torch_geometric.nn.conv.MessagePassingThe version of edge feature gating.
- forward(x: torch_geometric.typing.OptTensor, edge_index: torch_geometric.typing.Adj, edge_attr: torch_geometric.typing.OptTensor = None) torch.Tensor¶
- message(query_i: torch.Tensor, key_j: torch.Tensor, value_j: torch.Tensor, edge_attr: torch_geometric.typing.OptTensor, index: torch.Tensor, ptr: torch_geometric.typing.OptTensor, size_i: int | None) Tuple[torch.Tensor, torch.Tensor]¶
- reset_parameters()¶
- dropout = 0.0¶
- edge_dim = None¶
- heads = 1¶
- lin_edge0¶
- lin_edge1¶
- lin_key¶
- lin_query¶
- lin_value¶
- out_channels¶
- x_channels¶
- class MolecularDiffusion.modules.models.jodo.layers.GaussianLayer(K, *args, **kwargs)¶
Bases:
torch.nn.ModuleGaussian basis function layer for 3D distance features
- forward(x, *args, **kwargs)¶
- K¶
- means¶
- stds¶
- class MolecularDiffusion.modules.models.jodo.layers.LearnedSinusodialposEmb(dim)¶
Bases:
torch.nn.Modulefollowing @crowsonkb ‘s lead with learned sinusoidal pos emb https://github.com/crowsonkb/v-diffusion-jax/blob/master/diffusion/models/danbooru_128.py#L8
- forward(x)¶
- weights¶
- class MolecularDiffusion.modules.models.jodo.layers.TransMixLayer(x_channels: int, out_channels: int, extra_heads: int = 2, heads: int = 4, dropout: float = 0.0, edge_dim: int | None = None, bias: bool = True, inf: bool = False, **kwargs)¶
Bases:
torch_geometric.nn.conv.MessagePassingThe version for involving the edge feature. Multiply Msg. Without FFN and norm. Extra attention heads from adjacency matrix.
- forward(x: torch_geometric.typing.OptTensor, edge_index: torch_geometric.typing.Adj, edge_attr: torch_geometric.typing.OptTensor, extra_heads: torch_geometric.typing.OptTensor) torch.Tensor¶
- message(query_i: torch.Tensor, key_j: torch.Tensor, value_j: torch.Tensor, edge_attr: torch_geometric.typing.OptTensor, extra_heads: torch_geometric.typing.OptTensor, index: torch.Tensor, ptr: torch_geometric.typing.OptTensor, size_i: int | None) Tuple[torch.Tensor, torch.Tensor]¶
- reset_parameters()¶
- dropout = 0.0¶
- edge_dim = None¶
- extra_heads = 2¶
- heads = 4¶
- lin_edge0¶
- lin_edge1¶
- lin_key¶
- lin_query¶
- lin_value¶
- out_channels¶
- set_inf = False¶
- x_channels¶
- class MolecularDiffusion.modules.models.jodo.layers.Trans_Layer(x_channels: int, out_channels: int, heads: int = 1, dropout: float = 0.0, edge_dim: int | None = None, bias: bool = True, **kwargs)¶
Bases:
torch_geometric.nn.conv.MessagePassingThe version for involving the edge feature. Multiply Msg. Without FFN and norm.
- forward(x: torch_geometric.typing.OptTensor, edge_index: torch_geometric.typing.Adj, edge_attr: torch_geometric.typing.OptTensor = None) torch.Tensor¶
- message(query_i: torch.Tensor, key_j: torch.Tensor, value_j: torch.Tensor, edge_attr: torch_geometric.typing.OptTensor, index: torch.Tensor, ptr: torch_geometric.typing.OptTensor, size_i: int | None) Tuple[torch.Tensor, torch.Tensor]¶
- reset_parameters()¶
- dropout = 0.0¶
- edge_dim = None¶
- heads = 1¶
- lin_edge0¶
- lin_edge1¶
- lin_key¶
- lin_query¶
- lin_value¶
- out_channels¶
- x_channels¶
- MolecularDiffusion.modules.models.jodo.layers.gaussian(x, mean, std)¶