Sparse relations

torch_lattice.nn.functional.relation.build_pool_output_coords(coords, *, kernel_size, stride=1, padding=0, dilation=1, spatial_range=None)[source]

Return the generated sparse output support for local pooling.

The relation follows the same coordinate equation as sparse convolution: input = output * stride + kernel_offset * dilation - padding. Output coordinates are the unique coordinates that receive at least one input row.

Return type:

Tensor

Parameters:

coords (Tensor)

torch_lattice.nn.functional.relation.build_target_out_in_map(input_coords, target_coords, *, kernel_size, stride=1, padding=0, dilation=1)[source]

Build a dense (N_target, kernel_volume) target-to-input relation.

Return type:

Tensor

Parameters:
torch_lattice.nn.functional.relation.gather_scatter_kmap_from_out_in_map(out_in_map, *, input_size)[source]

Convert an out_in_map relation to gather/scatter convolution kmap fields.

Return type:

dict

Parameters:
torch_lattice.nn.functional.conv.kmap.build_kmap.build_kernel_map(_coords, input_node_num, kernel_size=2, stride=2, padding=0, hashmap_keys=None, hashmap_vals=None, spatial_range=None, mode='hashmap', dataflow=Dataflow.ImplicitGEMM, downsample_mode='spconv', training=False, ifsort=False, generative=False, subm=False, split_mask_num=1, split_mask_num_bwd=1, FOD_fusion=True, IGEMM_center_only=False, inference=False)[source]
Return type:

Dict

Parameters:
torch_lattice.nn.functional.conv.kmap.build_kmap.transpose_kernel_map(kmap, ifsort=False, training=False, split_mask_num=1, split_mask_num_bwd=1)[source]
Return type:

Dict

Parameters:
torch_lattice.nn.functional.conv.kmap.downsample.spdownsample(_coords, stride=2, kernel_size=2, padding=0, spatial_range=None, downsample_mode='spconv')[source]
Return type:

Tensor

Parameters:
torch_lattice.nn.functional.conv.kmap.upsample.spupsample_generative(_coords, stride=2, kernel_size=2, padding=0, spatial_range=None)[source]
Return type:

Tensor

Parameters: