SYMBOL INDEX (463 symbols across 39 files) FILE: semseg/__init__.py function show_models (line 7) | def show_models(): function show_backbones (line 13) | def show_backbones(): function show_heads (line 24) | def show_heads(): function show_datasets (line 30) | def show_datasets(): FILE: semseg/augmentations.py class Compose (line 9) | class Compose: method __init__ (line 10) | def __init__(self, transforms: list) -> None: method __call__ (line 13) | def __call__(self, img: Tensor, mask: Tensor) -> Tuple[Tensor, Tensor]: class Normalize (line 25) | class Normalize: method __init__ (line 26) | def __init__(self, mean: list = (0.485, 0.456, 0.406), std: list = (0.... method __call__ (line 30) | def __call__(self, img: Tensor, mask: Tensor) -> Tuple[Tensor, Tensor]: class ColorJitter (line 37) | class ColorJitter: method __init__ (line 38) | def __init__(self, brightness=0, contrast=0, saturation=0, hue=0) -> N... method __call__ (line 44) | def __call__(self, img: Tensor, mask: Tensor) -> Tuple[Tensor, Tensor]: class AdjustGamma (line 56) | class AdjustGamma: method __init__ (line 57) | def __init__(self, gamma: float, gain: float = 1) -> None: method __call__ (line 66) | def __call__(self, img: Tensor, mask: Tensor) -> Tuple[Tensor, Tensor]: class RandomAdjustSharpness (line 70) | class RandomAdjustSharpness: method __init__ (line 71) | def __init__(self, sharpness_factor: float, p: float = 0.5) -> None: method __call__ (line 75) | def __call__(self, img: Tensor, mask: Tensor) -> Tuple[Tensor, Tensor]: class RandomAutoContrast (line 81) | class RandomAutoContrast: method __init__ (line 82) | def __init__(self, p: float = 0.5) -> None: method __call__ (line 85) | def __call__(self, img: Tensor, mask: Tensor) -> Tuple[Tensor, Tensor]: class RandomGaussianBlur (line 91) | class RandomGaussianBlur: method __init__ (line 92) | def __init__(self, kernel_size: int = 3, p: float = 0.5) -> None: method __call__ (line 96) | def __call__(self, img: Tensor, mask: Tensor) -> Tuple[Tensor, Tensor]: class RandomHorizontalFlip (line 102) | class RandomHorizontalFlip: method __init__ (line 103) | def __init__(self, p: float = 0.5) -> None: method __call__ (line 106) | def __call__(self, img: Tensor, mask: Tensor) -> Tuple[Tensor, Tensor]: class RandomVerticalFlip (line 112) | class RandomVerticalFlip: method __init__ (line 113) | def __init__(self, p: float = 0.5) -> None: method __call__ (line 116) | def __call__(self, img: Tensor, mask: Tensor) -> Tuple[Tensor, Tensor]: class RandomGrayscale (line 122) | class RandomGrayscale: method __init__ (line 123) | def __init__(self, p: float = 0.5) -> None: method __call__ (line 126) | def __call__(self, img: Tensor, mask: Tensor) -> Tuple[Tensor, Tensor]: class Equalize (line 132) | class Equalize: method __call__ (line 133) | def __call__(self, image, label): class Posterize (line 137) | class Posterize: method __init__ (line 138) | def __init__(self, bits=2): method __call__ (line 141) | def __call__(self, image, label): class Affine (line 145) | class Affine: method __init__ (line 146) | def __init__(self, angle=0, translate=[0, 0], scale=1.0, shear=[0, 0],... method __call__ (line 153) | def __call__(self, img, label): class RandomRotation (line 157) | class RandomRotation: method __init__ (line 158) | def __init__(self, degrees: float = 10.0, p: float = 0.2, seg_fill: in... method __call__ (line 174) | def __call__(self, img: Tensor, mask: Tensor) -> Tuple[Tensor, Tensor]: class CenterCrop (line 182) | class CenterCrop: method __init__ (line 183) | def __init__(self, size: Union[int, List[int], Tuple[int]]) -> None: method __call__ (line 191) | def __call__(self, img: Tensor, mask: Tensor) -> Tuple[Tensor, Tensor]: class RandomCrop (line 195) | class RandomCrop: method __init__ (line 196) | def __init__(self, size: Union[int, List[int], Tuple[int]], p: float =... method __call__ (line 205) | def __call__(self, img: Tensor, mask: Tensor) -> Tuple[Tensor, Tensor]: class Pad (line 221) | class Pad: method __init__ (line 222) | def __init__(self, size: Union[List[int], Tuple[int], int], seg_fill: ... method __call__ (line 231) | def __call__(self, img: Tensor, mask: Tensor) -> Tuple[Tensor, Tensor]: class ResizePad (line 236) | class ResizePad: method __init__ (line 237) | def __init__(self, size: Union[int, Tuple[int], List[int]], seg_fill: ... method __call__ (line 247) | def __call__(self, img: Tensor, mask: Tensor) -> Tuple[Tensor, Tensor]: class Resize (line 265) | class Resize: method __init__ (line 266) | def __init__(self, size: Union[int, Tuple[int], List[int]]) -> None: method __call__ (line 275) | def __call__(self, img: Tensor, mask: Tensor) -> Tuple[Tensor, Tensor]: class RandomResizedCrop (line 291) | class RandomResizedCrop: method __init__ (line 292) | def __init__(self, size: Union[int, Tuple[int], List[int]], scale: Tup... method __call__ (line 299) | def __call__(self, img: Tensor, mask: Tensor) -> Tuple[Tensor, Tensor]: function get_train_augmentation (line 334) | def get_train_augmentation(size: Union[int, Tuple[int], List[int]], seg_... function get_val_augmentation (line 348) | def get_val_augmentation(size: Union[int, Tuple[int], List[int]]): FILE: semseg/augmentations_mm.py class Compose (line 9) | class Compose: method __init__ (line 10) | def __init__(self, transforms: list) -> None: method __call__ (line 13) | def __call__(self, sample: list) -> list: class Normalize (line 26) | class Normalize: method __init__ (line 27) | def __init__(self, mean: list = (0.485, 0.456, 0.406), std: list = (0.... method __call__ (line 31) | def __call__(self, sample: list) -> list: class RandomColorJitter (line 46) | class RandomColorJitter: method __init__ (line 47) | def __init__(self, p=0.5) -> None: method __call__ (line 50) | def __call__(self, sample: list) -> list: class AdjustGamma (line 61) | class AdjustGamma: method __init__ (line 62) | def __init__(self, gamma: float, gain: float = 1) -> None: method __call__ (line 71) | def __call__(self, img: Tensor, mask: Tensor) -> Tuple[Tensor, Tensor]: class RandomAdjustSharpness (line 75) | class RandomAdjustSharpness: method __init__ (line 76) | def __init__(self, sharpness_factor: float, p: float = 0.5) -> None: method __call__ (line 80) | def __call__(self, sample: list) -> list: class RandomAutoContrast (line 86) | class RandomAutoContrast: method __init__ (line 87) | def __init__(self, p: float = 0.5) -> None: method __call__ (line 90) | def __call__(self, sample: list) -> list: class RandomGaussianBlur (line 96) | class RandomGaussianBlur: method __init__ (line 97) | def __init__(self, kernel_size: int = 3, p: float = 0.5) -> None: method __call__ (line 101) | def __call__(self, sample: list) -> list: class RandomHorizontalFlip (line 108) | class RandomHorizontalFlip: method __init__ (line 109) | def __init__(self, p: float = 0.5) -> None: method __call__ (line 112) | def __call__(self, sample: list) -> list: class RandomVerticalFlip (line 120) | class RandomVerticalFlip: method __init__ (line 121) | def __init__(self, p: float = 0.5) -> None: method __call__ (line 124) | def __call__(self, img: Tensor, mask: Tensor) -> Tuple[Tensor, Tensor]: class RandomGrayscale (line 130) | class RandomGrayscale: method __init__ (line 131) | def __init__(self, p: float = 0.5) -> None: method __call__ (line 134) | def __call__(self, img: Tensor, mask: Tensor) -> Tuple[Tensor, Tensor]: class Equalize (line 140) | class Equalize: method __call__ (line 141) | def __call__(self, image, label): class Posterize (line 145) | class Posterize: method __init__ (line 146) | def __init__(self, bits=2): method __call__ (line 149) | def __call__(self, image, label): class Affine (line 153) | class Affine: method __init__ (line 154) | def __init__(self, angle=0, translate=[0, 0], scale=1.0, shear=[0, 0],... method __call__ (line 161) | def __call__(self, img, label): class RandomRotation (line 165) | class RandomRotation: method __init__ (line 166) | def __init__(self, degrees: float = 10.0, p: float = 0.2, seg_fill: in... method __call__ (line 182) | def __call__(self, sample: list) -> list: class CenterCrop (line 195) | class CenterCrop: method __init__ (line 196) | def __init__(self, size: Union[int, List[int], Tuple[int]]) -> None: method __call__ (line 204) | def __call__(self, img: Tensor, mask: Tensor) -> Tuple[Tensor, Tensor]: class RandomCrop (line 208) | class RandomCrop: method __init__ (line 209) | def __init__(self, size: Union[int, List[int], Tuple[int]], p: float =... method __call__ (line 218) | def __call__(self, img: Tensor, mask: Tensor) -> Tuple[Tensor, Tensor]: class Pad (line 234) | class Pad: method __init__ (line 235) | def __init__(self, size: Union[List[int], Tuple[int], int], seg_fill: ... method __call__ (line 244) | def __call__(self, img: Tensor, mask: Tensor) -> Tuple[Tensor, Tensor]: class ResizePad (line 249) | class ResizePad: method __init__ (line 250) | def __init__(self, size: Union[int, Tuple[int], List[int]], seg_fill: ... method __call__ (line 260) | def __call__(self, img: Tensor, mask: Tensor) -> Tuple[Tensor, Tensor]: class Resize (line 278) | class Resize: method __init__ (line 279) | def __init__(self, size: Union[int, Tuple[int], List[int]]) -> None: method __call__ (line 288) | def __call__(self, sample:list) -> list: class RandomResizedCrop (line 315) | class RandomResizedCrop: method __init__ (line 316) | def __init__(self, size: Union[int, Tuple[int], List[int]], scale: Tup... method __call__ (line 323) | def __call__(self, sample: list) -> list: function get_train_augmentation (line 365) | def get_train_augmentation(size: Union[int, Tuple[int], List[int]], seg_... function get_val_augmentation (line 374) | def get_val_augmentation(size: Union[int, Tuple[int], List[int]]): FILE: semseg/datasets/deliver.py class DELIVER (line 16) | class DELIVER(Dataset): method __init__ (line 51) | def __init__(self, root: str = 'data/DELIVER', split: str = 'train', t... method __len__ (line 70) | def __len__(self) -> int: method __getitem__ (line 73) | def __getitem__(self, index: int) -> Tuple[Tensor, Tensor]: method _open_img (line 103) | def _open_img(self, file): method encode (line 112) | def encode(self, label: Tensor) -> Tensor: FILE: semseg/datasets/kitti360.py class KITTI360 (line 15) | class KITTI360(Dataset): method __init__ (line 28) | def __init__(self, root: str = 'data/KITTI360', split: str = 'train', ... method __len__ (line 49) | def __len__(self) -> int: method __getitem__ (line 52) | def __getitem__(self, index: int) -> Tuple[Tensor, Tensor]: method _open_img (line 81) | def _open_img(self, file): method encode (line 90) | def encode(self, label: Tensor) -> Tensor: method _get_file_names (line 94) | def _get_file_names(self, split_name): FILE: semseg/datasets/mcubes.py class MCubeS (line 19) | class MCubeS(Dataset): method __init__ (line 47) | def __init__(self, root: str = 'data/MCubeS/multimodal_dataset', split... method __len__ (line 74) | def __len__(self) -> int: method __getitem__ (line 77) | def __getitem__(self, index: int) -> Tuple[Tensor, Tensor]: method transform_tr (line 120) | def transform_tr(self, sample): method transform_val (line 130) | def transform_val(self, sample): method _get_file_names (line 138) | def _get_file_names(self, split_name): class Normalize (line 152) | class Normalize(object): method __init__ (line 158) | def __init__(self, mean=(0., 0., 0.), std=(1., 1., 1.)): method __call__ (line 162) | def __call__(self, sample): class ToTensor (line 185) | class ToTensor(object): method __call__ (line 188) | def __call__(self, sample): class RandomHorizontalFlip (line 232) | class RandomHorizontalFlip(object): method __call__ (line 233) | def __call__(self, sample): class RandomGaussianBlur (line 267) | class RandomGaussianBlur(object): method __call__ (line 268) | def __call__(self, sample): class RandomScaleCrop (line 289) | class RandomScaleCrop(object): method __init__ (line 290) | def __init__(self, base_size, crop_size, fill=255): method __call__ (line 295) | def __call__(self, sample): class FixScaleCrop (line 388) | class FixScaleCrop(object): method __init__ (line 389) | def __init__(self, crop_size): method __call__ (line 392) | def __call__(self, sample): FILE: semseg/datasets/mfnet.py class MFNet (line 15) | class MFNet(Dataset): method __init__ (line 22) | def __init__(self, root: str = 'data/MFNet', split: str = 'train', tra... method __len__ (line 36) | def __len__(self) -> int: method __getitem__ (line 39) | def __getitem__(self, index: int) -> Tuple[Tensor, Tensor]: method _open_img (line 59) | def _open_img(self, file): method encode (line 68) | def encode(self, label: Tensor) -> Tensor: method _get_file_names (line 71) | def _get_file_names(self, split_name): FILE: semseg/datasets/nyu.py class NYU (line 16) | class NYU(Dataset): method __init__ (line 27) | def __init__(self, root: str = 'data/NYUDepthv2', split: str = 'train'... method __len__ (line 40) | def __len__(self) -> int: method __getitem__ (line 43) | def __getitem__(self, index: int) -> Tuple[Tensor, Tensor]: method _open_img (line 70) | def _open_img(self, file): method encode (line 79) | def encode(self, label: Tensor) -> Tensor: method _get_file_names (line 82) | def _get_file_names(self, split_name): FILE: semseg/datasets/urbanlf.py class UrbanLF (line 16) | class UrbanLF(Dataset): method __init__ (line 24) | def __init__(self, root: str = 'data/UrBanLF/Syn', split: str = 'train... method __len__ (line 38) | def __len__(self) -> int: method __getitem__ (line 41) | def __getitem__(self, index: int) -> Tuple[Tensor, Tensor]: method _open_img (line 88) | def _open_img(self, file): method encode (line 97) | def encode(self, label: Tensor) -> Tensor: FILE: semseg/losses.py class CrossEntropy (line 6) | class CrossEntropy(nn.Module): method __init__ (line 7) | def __init__(self, ignore_label: int = 255, weight: Tensor = None, aux... method _forward (line 12) | def _forward(self, preds: Tensor, labels: Tensor) -> Tensor: method forward (line 16) | def forward(self, preds, labels: Tensor) -> Tensor: class OhemCrossEntropy (line 22) | class OhemCrossEntropy(nn.Module): method __init__ (line 23) | def __init__(self, ignore_label: int = 255, weight: Tensor = None, thr... method _forward (line 30) | def _forward(self, preds: Tensor, labels: Tensor) -> Tensor: method forward (line 41) | def forward(self, preds, labels: Tensor) -> Tensor: class Dice (line 47) | class Dice(nn.Module): method __init__ (line 48) | def __init__(self, delta: float = 0.5, aux_weights: list = [1, 0.4, 0.... method _forward (line 56) | def _forward(self, preds: Tensor, labels: Tensor) -> Tensor: method forward (line 70) | def forward(self, preds, targets: Tensor) -> Tensor: function get_loss (line 79) | def get_loss(loss_fn_name: str = 'CrossEntropy', ignore_label: int = 255... FILE: semseg/metrics.py class Metrics (line 6) | class Metrics: method __init__ (line 7) | def __init__(self, num_classes: int, ignore_label: int, device) -> None: method update (line 12) | def update(self, pred: Tensor, target: Tensor) -> None: method compute_iou (line 17) | def compute_iou(self) -> Tuple[Tensor, Tensor]: method compute_f1 (line 26) | def compute_f1(self) -> Tuple[Tensor, Tensor]: method compute_pixel_acc (line 35) | def compute_pixel_acc(self) -> Tuple[Tensor, Tensor]: FILE: semseg/models/backbones/cmnext.py class Attention (line 15) | class Attention(nn.Module): method __init__ (line 16) | def __init__(self, dim, head, sr_ratio): method forward (line 29) | def forward(self, x: Tensor, H, W) -> Tensor: class DWConv (line 48) | class DWConv(nn.Module): method __init__ (line 49) | def __init__(self, dim): method forward (line 53) | def forward(self, x: Tensor, H, W) -> Tensor: class MLP (line 60) | class MLP(nn.Module): method __init__ (line 61) | def __init__(self, c1, c2): method forward (line 67) | def forward(self, x: Tensor, H, W) -> Tensor: class PatchEmbed (line 71) | class PatchEmbed(nn.Module): method __init__ (line 72) | def __init__(self, c1=3, c2=32, patch_size=7, stride=4, padding=0): method forward (line 77) | def forward(self, x: Tensor) -> Tensor: class PatchEmbedParallel (line 84) | class PatchEmbedParallel(nn.Module): method __init__ (line 85) | def __init__(self, c1=3, c2=32, patch_size=7, stride=4, padding=0, num... method forward (line 90) | def forward(self, x: list) -> list: class Block (line 96) | class Block(nn.Module): method __init__ (line 97) | def __init__(self, dim, head, sr_ratio=1, dpr=0., is_fan=False): method forward (line 105) | def forward(self, x: Tensor, H, W) -> Tensor: class ChannelProcessing (line 111) | class ChannelProcessing(nn.Module): method __init__ (line 112) | def __init__(self, dim, num_heads=8, qkv_bias=False, attn_drop=0., dro... method forward (line 126) | def forward(self, x, H, W, atten=None): class PredictorConv (line 146) | class PredictorConv(nn.Module): method __init__ (line 147) | def __init__(self, embed_dim=384, num_modals=4): method forward (line 156) | def forward(self, x): class ModuleParallel (line 163) | class ModuleParallel(nn.Module): method __init__ (line 164) | def __init__(self, module): method forward (line 168) | def forward(self, x_parallel): class ConvLayerNorm (line 171) | class ConvLayerNorm(nn.Module): method __init__ (line 174) | def __init__(self, normalized_shape, eps=1e-6) -> None: method forward (line 180) | def forward(self, x: Tensor) -> Tensor: class LayerNormParallel (line 187) | class LayerNormParallel(nn.Module): method __init__ (line 188) | def __init__(self, num_features, num_modals=4): method forward (line 194) | def forward(self, x_parallel): class CMNeXt (line 208) | class CMNeXt(nn.Module): method __init__ (line 209) | def __init__(self, model_name: str = 'B0', modals: list = ['rgb', 'dep... method tokenselect (line 277) | def tokenselect(self, x_ext, module): method forward (line 284) | def forward(self, x: list) -> list: FILE: semseg/models/backbones/cmx.py class Attention (line 9) | class Attention(nn.Module): method __init__ (line 10) | def __init__(self, dim, head, sr_ratio): method forward (line 23) | def forward(self, x: Tensor, H, W) -> Tensor: class DWConv (line 42) | class DWConv(nn.Module): method __init__ (line 43) | def __init__(self, dim): method forward (line 47) | def forward(self, x: Tensor, H, W) -> Tensor: class MLP (line 54) | class MLP(nn.Module): method __init__ (line 55) | def __init__(self, c1, c2): method forward (line 61) | def forward(self, x: Tensor, H, W) -> Tensor: class PatchEmbed (line 65) | class PatchEmbed(nn.Module): method __init__ (line 66) | def __init__(self, c1=3, c2=32, patch_size=7, stride=4): method forward (line 71) | def forward(self, x: Tensor) -> Tensor: class Block (line 79) | class Block(nn.Module): method __init__ (line 80) | def __init__(self, dim, head, sr_ratio=1, dpr=0.): method forward (line 88) | def forward(self, x: Tensor, H, W) -> Tensor: class PredictorLG (line 128) | class PredictorLG(nn.Module): method __init__ (line 131) | def __init__(self, embed_dim=384, num_modals=4): method forward (line 142) | def forward(self, x): class CMX (line 156) | class CMX(nn.Module): method __init__ (line 157) | def __init__(self, model_name: str = 'B0', modals: list = ['rgb', 'dep... method tokenselect (line 230) | def tokenselect(self, x_ext, module): method forward (line 242) | def forward(self, x: list) -> list: FILE: semseg/models/base.py function load_dualpath_model (line 8) | def load_dualpath_model(model, model_file): class BaseModel (line 37) | class BaseModel(nn.Module): method __init__ (line 38) | def __init__(self, backbone: str = 'MiT-B0', num_classes: int = 19, mo... method _init_weights (line 45) | def _init_weights(self, m: nn.Module) -> None: method init_pretrained (line 60) | def init_pretrained(self, pretrained: str = None) -> None: FILE: semseg/models/cmnext.py class CMNeXt (line 11) | class CMNeXt(BaseModel): method __init__ (line 12) | def __init__(self, backbone: str = 'CMNeXt-B0', num_classes: int = 25,... method forward (line 17) | def forward(self, x: list) -> list: method init_pretrained (line 23) | def init_pretrained(self, pretrained: str = None) -> None: function load_dualpath_model (line 36) | def load_dualpath_model(model, model_file): FILE: semseg/models/cmx.py class CMX (line 8) | class CMX(BaseModel): method __init__ (line 9) | def __init__(self, backbone: str = 'CMX-B0', num_classes: int = 25, mo... method forward (line 14) | def forward(self, x: list) -> list: method init_pretrained (line 21) | def init_pretrained(self, pretrained: str = None) -> None: function load_dualpath_model (line 34) | def load_dualpath_model(model, model_file): FILE: semseg/models/heads/condnet.py class CondHead (line 7) | class CondHead(nn.Module): method __init__ (line 8) | def __init__(self, in_channel: int = 2048, channel: int = 512, num_cla... method forward (line 20) | def forward(self, features) -> Tensor: FILE: semseg/models/heads/fapn.py class DCNv2 (line 8) | class DCNv2(nn.Module): method __init__ (line 9) | def __init__(self, c1, c2, k, s, p, g=1): method _init_offset (line 15) | def _init_offset(self): method forward (line 19) | def forward(self, x, offset): class FSM (line 27) | class FSM(nn.Module): method __init__ (line 28) | def __init__(self, c1, c2): method forward (line 33) | def forward(self, x: Tensor) -> Tensor: class FAM (line 40) | class FAM(nn.Module): method __init__ (line 41) | def __init__(self, c1, c2): method forward (line 47) | def forward(self, feat_l, feat_s): class FaPNHead (line 59) | class FaPNHead(nn.Module): method __init__ (line 60) | def __init__(self, in_channels, channel=128, num_classes=19): method forward (line 73) | def forward(self, features) -> Tensor: FILE: semseg/models/heads/fcn.py class FCNHead (line 7) | class FCNHead(nn.Module): method __init__ (line 8) | def __init__(self, c1, c2, num_classes: int = 19): method forward (line 13) | def forward(self, features) -> Tensor: FILE: semseg/models/heads/fpn.py class FPNHead (line 7) | class FPNHead(nn.Module): method __init__ (line 11) | def __init__(self, in_channels, channel=128, num_classes=19): method forward (line 23) | def forward(self, features) -> Tensor: FILE: semseg/models/heads/hem.py class _MatrixDecomposition2DBase (line 7) | class _MatrixDecomposition2DBase(nn.Module): method __init__ (line 8) | def __init__(self, args=dict()): method _build_bases (line 35) | def _build_bases(self, B, S, D, R, cuda=False): method local_step (line 38) | def local_step(self, x, bases, coef): method local_inference (line 42) | def local_inference(self, x, bases): method compute_coef (line 53) | def compute_coef(self, x, bases, coef): method forward (line 56) | def forward(self, x, return_bases=False): class NMF2D (line 99) | class NMF2D(_MatrixDecomposition2DBase): method __init__ (line 100) | def __init__(self, args=dict()): method _build_bases (line 105) | def _build_bases(self, B, S, D, R, cuda=False): method local_step (line 116) | def local_step(self, x, bases, coef): method compute_coef (line 133) | def compute_coef(self, x, bases, coef): class Hamburger (line 144) | class Hamburger(nn.Module): method __init__ (line 145) | def __init__(self, ham_channels=512, ham_kwargs=dict(), norm_cfg=None): method forward (line 151) | def forward(self, x): class LightHamHead (line 159) | class LightHamHead(nn.Module): method __init__ (line 160) | def __init__(self, in_channels=[64, 128, 320, 512], ham_channels=512, ... method forward (line 177) | def forward(self, inputs): FILE: semseg/models/heads/lawin.py class MLP (line 7) | class MLP(nn.Module): method __init__ (line 8) | def __init__(self, dim=2048, embed_dim=768): method forward (line 12) | def forward(self, x: Tensor) -> Tensor: class PatchEmbed (line 18) | class PatchEmbed(nn.Module): method __init__ (line 19) | def __init__(self, patch_size=4, in_ch=3, dim=96, type='pool') -> None: method forward (line 35) | def forward(self, x: Tensor) -> Tensor: class LawinAttn (line 53) | class LawinAttn(nn.Module): method __init__ (line 54) | def __init__(self, in_ch=512, head=4, patch_size=8, reduction=2) -> None: method forward (line 72) | def forward(self, query: Tensor, context: Tensor) -> Tensor: class ConvModule (line 108) | class ConvModule(nn.Module): method __init__ (line 109) | def __init__(self, c1, c2): method forward (line 115) | def forward(self, x: Tensor) -> Tensor: class LawinHead (line 119) | class LawinHead(nn.Module): method __init__ (line 120) | def __init__(self, in_channels: list, embed_dim=512, num_classes=19) -... method get_lawin_att_feats (line 144) | def get_lawin_att_feats(self, x: Tensor, patch_size: int): method forward (line 160) | def forward(self, features): FILE: semseg/models/heads/segformer.py class MLP (line 7) | class MLP(nn.Module): method __init__ (line 8) | def __init__(self, dim, embed_dim): method forward (line 12) | def forward(self, x: Tensor) -> Tensor: class ConvModule (line 18) | class ConvModule(nn.Module): method __init__ (line 19) | def __init__(self, c1, c2): method forward (line 25) | def forward(self, x: Tensor) -> Tensor: class SegFormerHead (line 29) | class SegFormerHead(nn.Module): method __init__ (line 30) | def __init__(self, dims: list, embed_dim: int = 256, num_classes: int ... method forward (line 39) | def forward(self, features: Tuple[Tensor, Tensor, Tensor, Tensor]) -> ... FILE: semseg/models/heads/sfnet.py class AlignedModule (line 8) | class AlignedModule(nn.Module): method __init__ (line 9) | def __init__(self, c1, c2, k=3): method forward (line 15) | def forward(self, low_feature: Tensor, high_feature: Tensor) -> Tensor: method flow_warp (line 25) | def flow_warp(self, x: Tensor, flow: Tensor, size: tuple) -> Tensor: class SFHead (line 36) | class SFHead(nn.Module): method __init__ (line 37) | def __init__(self, in_channels, channel=256, num_classes=19, scales=(1... method forward (line 54) | def forward(self, features: list) -> Tensor: FILE: semseg/models/heads/upernet.py class UPerHead (line 9) | class UPerHead(nn.Module): method __init__ (line 14) | def __init__(self, in_channels, channel=128, num_classes: int = 19, sc... method forward (line 32) | def forward(self, features: Tuple[Tensor, Tensor, Tensor, Tensor]) -> ... FILE: semseg/models/layers/common.py class ConvModule (line 5) | class ConvModule(nn.Sequential): method __init__ (line 6) | def __init__(self, c1, c2, k, s=1, p=0, d=1, g=1): class DropPath (line 14) | class DropPath(nn.Module): method __init__ (line 23) | def __init__(self, p: float = None): method forward (line 27) | def forward(self, x: Tensor) -> Tensor: FILE: semseg/models/layers/initialize.py function _no_grad_trunc_normal_ (line 7) | def _no_grad_trunc_normal_(tensor, mean, std, a, b): function trunc_normal_ (line 43) | def trunc_normal_(tensor, mean=0., std=1., a=-2., b=2.): FILE: semseg/models/modules/crossatt.py function exists (line 6) | def exists(val): function default (line 9) | def default(val, d): function stable_softmax (line 12) | def stable_softmax(t, dim = -1): class BidirectionalCrossAttention (line 18) | class BidirectionalCrossAttention(nn.Module): method __init__ (line 19) | def __init__(self, dim, heads=8, dim_head=64, context_dim=None, dropou... method forward (line 45) | def forward(self, x, context, return_attn=False, rel_pos_bias=None): FILE: semseg/models/modules/ffm.py class ChannelWeights (line 9) | class ChannelWeights(nn.Module): method __init__ (line 10) | def __init__(self, dim, reduction=1): method forward (line 21) | def forward(self, x1, x2): class SpatialWeights (line 32) | class SpatialWeights(nn.Module): method __init__ (line 33) | def __init__(self, dim, reduction=1): method forward (line 42) | def forward(self, x1, x2): class FeatureRectifyModule (line 49) | class FeatureRectifyModule(nn.Module): method __init__ (line 50) | def __init__(self, dim, reduction=1, lambda_c=.5, lambda_s=.5): method _init_weights (line 57) | def _init_weights(self, m): method forward (line 72) | def forward(self, x1, x2): class CrossAttention (line 81) | class CrossAttention(nn.Module): method __init__ (line 82) | def __init__(self, dim, num_heads=8, qkv_bias=False, qk_scale=None): method forward (line 93) | def forward(self, x1, x2): class CrossPath (line 111) | class CrossPath(nn.Module): method __init__ (line 112) | def __init__(self, dim, reduction=1, num_heads=None, norm_layer=nn.Lay... method forward (line 124) | def forward(self, x1, x2): class ChannelEmbed (line 136) | class ChannelEmbed(nn.Module): method __init__ (line 137) | def __init__(self, in_channels, out_channels, reduction=1, norm_layer=... method forward (line 150) | def forward(self, x, H, W): class FeatureFusionModule (line 159) | class FeatureFusionModule(nn.Module): method __init__ (line 160) | def __init__(self, dim, reduction=1, num_heads=None, norm_layer=nn.Bat... method _init_weights (line 166) | def _init_weights(self, m): method forward (line 181) | def forward(self, x1, x2): FILE: semseg/models/modules/mspa.py class DWConv (line 9) | class DWConv(nn.Module): method __init__ (line 10) | def __init__(self, dim=768): method forward (line 14) | def forward(self, x): class Mlp (line 18) | class Mlp(nn.Module): method __init__ (line 19) | def __init__(self, in_features, hidden_features=None, out_features=Non... method forward (line 29) | def forward(self, x): class MSPoolAttention (line 40) | class MSPoolAttention(nn.Module): method __init__ (line 41) | def __init__(self, dim): method forward (line 51) | def forward(self, x): class MSPABlock (line 60) | class MSPABlock(nn.Module): method __init__ (line 61) | def __init__(self, dim, mlp_ratio=4., drop=0., drop_path=0., act_layer... method forward (line 82) | def forward(self, x): FILE: semseg/models/modules/ppm.py class PPM (line 7) | class PPM(nn.Module): method __init__ (line 10) | def __init__(self, c1, c2=128, scales=(1, 2, 3, 6)): method forward (line 22) | def forward(self, x: Tensor) -> Tensor: FILE: semseg/models/modules/psa.py class PSAP (line 6) | class PSAP(nn.Module): method __init__ (line 7) | def __init__(self, c1, c2): method spatial_pool (line 18) | def spatial_pool(self, x: Tensor) -> Tensor: method channel_pool (line 31) | def channel_pool(self, x: Tensor) -> Tensor: method forward (line 42) | def forward(self, x: Tensor) -> Tensor: class PSAS (line 47) | class PSAS(nn.Module): method __init__ (line 48) | def __init__(self, c1, c2): method spatial_pool (line 64) | def spatial_pool(self, x: Tensor) -> Tensor: method channel_pool (line 77) | def channel_pool(self, x: Tensor) -> Tensor: method forward (line 88) | def forward(self, x: Tensor) -> Tensor: FILE: semseg/optimizers.py function get_optimizer (line 5) | def get_optimizer(model: nn.Module, optimizer: str, lr: float, weight_de... FILE: semseg/schedulers.py class PolyLR (line 6) | class PolyLR(_LRScheduler): method __init__ (line 7) | def __init__(self, optimizer, max_iter, decay_iter=1, power=0.9, last_... method get_lr (line 13) | def get_lr(self): class WarmupLR (line 21) | class WarmupLR(_LRScheduler): method __init__ (line 22) | def __init__(self, optimizer, warmup_iter=500, warmup_ratio=5e-4, warm... method get_lr (line 28) | def get_lr(self): method get_lr_ratio (line 32) | def get_lr_ratio(self): method get_main_ratio (line 35) | def get_main_ratio(self): method get_warmup_ratio (line 38) | def get_warmup_ratio(self): class WarmupPolyLR (line 45) | class WarmupPolyLR(WarmupLR): method __init__ (line 46) | def __init__(self, optimizer, power, max_iter, warmup_iter=500, warmup... method get_main_ratio (line 51) | def get_main_ratio(self): class WarmupExpLR (line 59) | class WarmupExpLR(WarmupLR): method __init__ (line 60) | def __init__(self, optimizer, gamma, interval=1, warmup_iter=500, warm... method get_main_ratio (line 65) | def get_main_ratio(self): class WarmupCosineLR (line 70) | class WarmupCosineLR(WarmupLR): method __init__ (line 71) | def __init__(self, optimizer, max_iter, eta_ratio=0, warmup_iter=500, ... method get_main_ratio (line 76) | def get_main_ratio(self): function get_scheduler (line 87) | def get_scheduler(scheduler_name: str, optimizer, max_iter: int, power: ... FILE: semseg/utils/utils.py function fix_seeds (line 20) | def fix_seeds(seed: int = 3407) -> None: function setup_cudnn (line 26) | def setup_cudnn() -> None: function time_sync (line 31) | def time_sync() -> float: function get_model_size (line 36) | def get_model_size(model: Union[nn.Module, torch.jit.ScriptModule]): function test_model_latency (line 47) | def test_model_latency(model: nn.Module, inputs: torch.Tensor, use_cuda:... function count_parameters (line 52) | def count_parameters(model: nn.Module) -> float: function setup_ddp (line 55) | def setup_ddp(): function cleanup_ddp (line 78) | def cleanup_ddp(): function reduce_tensor (line 82) | def reduce_tensor(tensor: Tensor) -> Tensor: function throughput (line 89) | def throughput(dataloader, model: nn.Module, times: int = 30): function show_models (line 103) | def show_models(): function timer (line 110) | def timer(func): function get_logger (line 125) | def get_logger(log_file=None): function cal_flops (line 147) | def cal_flops(model, modals, logger): function print_iou (line 163) | def print_iou(epoch, iou, miou, acc, macc, class_names): function nchw_to_nlc (line 178) | def nchw_to_nlc(x): function nlc_to_nchw (line 190) | def nlc_to_nchw(x, hw_shape): function nlc2nchw2nlc (line 206) | def nlc2nchw2nlc(module, x, hw_shape, contiguous=False, **kwargs): FILE: semseg/utils/visualize.py function visualize_dataset_sample (line 13) | def visualize_dataset_sample(dataset, root, split='val', batch_size=4): function generate_palette (line 67) | def generate_palette(num_classes, background: bool = False): function draw_text (line 77) | def draw_text(image: torch.Tensor, seg_map: torch.Tensor, labels: list, ... FILE: tools/infer_mm.py class SemSeg (line 20) | class SemSeg: method __init__ (line 21) | def __init__(self, cfg) -> None: method postprocess (line 50) | def postprocess(self, orig_img: Tensor, seg_map: Tensor, overlay: bool... method model_forward (line 63) | def model_forward(self, img: Tensor) -> Tensor: method _open_img (line 66) | def _open_img(self, file): method predict (line 75) | def predict(self, img_fname: str, overlay: bool) -> Tensor: FILE: tools/train_mm.py function main (line 26) | def main(cfg, gpu, save_dir): FILE: tools/val_mm.py function pad_image (line 24) | def pad_image(img, target_size): function sliding_predict (line 31) | def sliding_predict(model, image, num_classes, flip=True): function evaluate (line 65) | def evaluate(model, dataloader, device): function evaluate_msf (line 88) | def evaluate_msf(model, dataloader, device, scales, flip): function main (line 123) | def main(cfg):