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.
- 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.
- torch_lattice.nn.functional.relation.gather_scatter_kmap_from_out_in_map(out_in_map, *, input_size)[source]¶
Convert an
out_in_maprelation to gather/scatter convolution kmap fields.
- 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]¶
- 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]¶
- torch_lattice.nn.functional.conv.kmap.downsample.spdownsample(_coords, stride=2, kernel_size=2, padding=0, spatial_range=None, downsample_mode='spconv')[source]¶