Source code for torch_lattice.nn.functional.conv.conv_mode

from enum import Enum

_global_kmap_mode = "hashmap_on_the_fly"  # or "hashmap"
_global_downsample_mode = "spconv"  # or "minkowski"


[docs] def get_kmap_mode(): global _global_kmap_mode return _global_kmap_mode
[docs] def set_kmap_mode(kmap_mode: str): global _global_kmap_mode if kmap_mode in ["hashmap_on_the_fly", "hashmap"]: _global_kmap_mode = kmap_mode else: assert ( 0 ), f'Unsupport kmap_mode: {kmap_mode}. Please set kmap_mode to "hashmap_on_the_fly" or "hashmap".'
[docs] def get_downsample_mode(): global _global_downsample_mode return _global_downsample_mode
[docs] def set_downsample_mode(downsample_mode: str): global _global_downsample_mode if downsample_mode in ["spconv", "minkowski"]: _global_downsample_mode = downsample_mode else: assert ( 0 ), f'Unsupport downsample_mode {downsample_mode}. Please set downsample_mode to "spconv" or "minkowski".'
[docs] class ConvMode(Enum): mode0 = 0 # split=0 fwd & split=3 bwd mode1 = 1 # split=1 fwd & split=3 bwd mode2 = 2 # split=3 fwd & split=3 bwd
_global_conv_mode = ConvMode.mode0
[docs] def get_conv_mode(): global _global_conv_mode return _global_conv_mode
[docs] def set_conv_mode(conv_mode): global _global_conv_mode if isinstance(conv_mode, int): if conv_mode == 0: _global_conv_mode = ConvMode.mode0 elif conv_mode == 1: _global_conv_mode = ConvMode.mode1 elif conv_mode == 2: _global_conv_mode = ConvMode.mode2 else: assert 0, f"Undefined conv_mode:{conv_mode}" elif isinstance(conv_mode, ConvMode): _global_conv_mode = conv_mode else: assert 0, f"Unsupport conv_mode input type"