luz.utils module¶
- adjacency(edge_index, device='cpu')¶
Convert edge indices to adjacency matrix.
- Parameters
edge_index (
Tensor
) – Edge index tensor. Shape: \((2,N_{edges})\)- Returns
Adjacency matrix. Shape: \((N_{nodes},N_{nodes})\)
- Return type
torch.Tensor
- aggregate_mask(groups, num_groups, num_items, mean=False, device='cpu')¶
Create a mask to aggregate items into groups.
- Parameters
groups (
Tensor
) – Tensor of group indices.num_groups (
int
) – Number of groups.num_items (
int
) – Number of items.mean (
Optional
[bool
]) – If True, mask aggregates by averaging rather than summing, by default False.device (
Union
[str
,device
,None
]) – Device on which mask will be created, by default “cpu”.
- Returns
Mask to aggregate items into groups.
- Return type
torch.Tensor
- batchwise_edge_mean(edges, edge_index, batch, device='cpu')¶
- Return type
Tensor
- batchwise_edge_sum(edges, edge_index, batch, device='cpu')¶
- Return type
Tensor
- batchwise_mask(batch, edge_index=None, mean=False, device='cpu')¶
Create a mask for batchwise aggregation of graph nodes or edges.
- Parameters
batch (
Tensor
) – Tensor of batch indices. Shape: \((N_{nodes},)\)edge_index (
Optional
[Tensor
]) – Tensor of edge indices, by default None. Shape: \((2,N_{edges})\)mean (
Optional
[bool
]) – If True, mask aggregates by averaging rather than summing, by default False.device (
Union
[str
,device
,None
]) – Device on which mask will be created, by default “cpu”.
- Returns
Mask for batchwise aggregation. Shape: \((N_{batch},N_{nodes})\) if edge_index = None
- Return type
torch.Tensor
- batchwise_node_mean(nodes, batch, device='cpu')¶
- Return type
Tensor
- batchwise_node_sum(nodes, batch, device='cpu')¶
- Return type
Tensor
- dot_product_attention(query, key, mask=None)¶
Compute scaled dot product attention.
- Parameters
query (
Tensor
) – Query vectors. Shape: \((N_{queries},d_q)\)key (
Tensor
) – Key vectors. Shape: \((N_{keys},d_q)\)mask (
Optional
[Tensor
]) – Mask tensor to ignore query-key pairs, by default None. Shape: \((N_{queries},N_{keys})\)
- Returns
Scaled dot product attention between each query and key vector. Shape: \((N_{queries},N_{keys})\)
- Return type
torch.Tensor
- expand_path(path, dir=None)¶
- Return type
str
- in_degree(adjacency)¶
Compute in-degrees of nodes in a graph.
- Parameters
adjacency (
Tensor
) – Adjacency matrix. Shape: \((N_{nodes}, N_{nodes})\)- Returns
Nodewise in-degree tensor. Shape: \((N_{nodes},)\)
- Return type
torch.Tensor
- int_length(n)¶
- Return type
int
- masked_softmax(x, mask, dim=1)¶
Compute softmax of a tensor using a mask.
- Parameters
x (
Tensor
) – Argument of softmax.mask (
Tensor
) – Mask tensor.dim (
Optional
[int
]) – Dimension along which softmax will be computed.
- Returns
Masked softmax of x.
- Return type
torch.Tensor
- memoize(func)¶
- Return type
Callable
[…,Any
]
- mkdir_safe(directory)¶
- Return type
None
- nodewise_edge_mean(edges, edge_index, device='cpu')¶
- Return type
Tensor
- nodewise_edge_sum(edges, edge_index, device='cpu')¶
Sum all incoming edge features for each node.
- Parameters
edges (
Tensor
) – Edge features. Shape: \((N_{edges},d_e)\)edge_index (
Tensor
) – Ege indices. Shape: \((2,N_{edges})\)device (
Union
[str
,device
,None
]) – Device on which mask will be created, by default “cpu”.
- Returns
Tensor of summed incoming edges for each node. Shape: \((N_{nodes},d_e)\)
- Return type
torch.Tensor
- nodewise_mask(edge_index, mean=False, device='cpu')¶
Create a mask for nodewise aggregation of incoming graph edges.
- Parameters
edge_index (
Tensor
) – Edge indices. Shape: \((2,N_{edges})\)mean (
Optional
[bool
]) – If True, mask aggregates by averaging rather than summing, by default False.device (
Union
[str
,device
,None
]) – Device on which mask will be created, by default “cpu”.
- Returns
Mask for nodewise edge aggregation. Shape: \((N_{nodes},N_{edges})\)
- Return type
torch.Tensor
- out_degree(adjacency)¶
Compute out-degrees of nodes in a graph.
- Parameters
adjacency (
Tensor
) – Adjacency matrix. Shape: \((N_{nodes},N_{nodes})\)- Returns
Nodewise out-degree tensor. Shape: \((N_{nodes},)\)
- Return type
torch.Tensor
- remove_self_loops(edge_index, edges=None)¶
- Return type
Union
[Tensor
,Tuple
[Tensor
]]
- set_seed(seed)¶
- Return type
None
- temporary_seed(seed)¶
- Return type
None