{"record":{"id":"7293cf3b6a0d5e6a","repo":"hpcaitech/Open-Sora","slug":"local-module-local-module-is-not-supported","errorCode":null,"errorMessage":"local_module {local_module} is not supported","messagePattern":"local_module (.+?) is not supported","errorType":"exception","errorClass":"NotImplementedError","httpStatus":null,"severity":"error","filePath":"opensora/models/dc_ae/models/nn/ops.py","lineNumber":883,"sourceCode":"                    is_video=is_video,\n                ),\n                IdentityLayer(),\n            )\n        elif local_module == \"GLUMBConv\":\n            self.local_module = ResidualBlock(\n                GLUMBConv(\n                    in_channels=in_channels,\n                    out_channels=in_channels,\n                    expand_ratio=expand_ratio,\n                    use_bias=(True, True, False),\n                    norm=(None, None, norm),\n                    act_func=(act_func, act_func, None),\n                    is_video=is_video,\n                ),\n                IdentityLayer(),\n            )\n        else:\n            raise NotImplementedError(f\"local_module {local_module} is not supported\")\n\n    def forward(self, x: torch.Tensor) -> torch.Tensor:\n        x = self.context_module(x)\n        x = self.local_module(x)\n        return x\n\n\n#################################################################################\n#                             Functional Blocks                                 #\n#################################################################################\n\n\nclass ResidualBlock(nn.Module):\n    def __init__(\n        self,\n        main: Optional[nn.Module],\n        shortcut: Optional[nn.Module],\n        post_act=None,","sourceCodeStart":865,"sourceCodeEnd":901,"githubUrl":"https://github.com/hpcaitech/Open-Sora/blob/7ad6a96a135feb81f755c84fb391818718f6beb2/opensora/models/dc_ae/models/nn/ops.py#L865-L901","documentation":"EfficientViTBlock supports only specific local_module names — 'MBConv', 'GLUMBConv' (and None/identity paths); anything else raises NotImplementedError in __init__. GLUMBConv is the local module used by the EViTS5_GLU blocks in the deep-compression autoencoder.","triggerScenarios":"Setting local_module to an unsupported string (e.g. 'ConvNeXt', 'FFN', 'Conv3x3') in an EViTS block config during DCAE construction.","commonSituations":"Customizing block configs by hand; porting EfficientViT code/configs whose local-module vocabulary differs from this implementation.","solutions":["Use 'MBConv' or 'GLUMBConv' (or the identity path) for local_module","Rely on shipped configs; patch ops.py locally only if you implement a new local module"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"assert local_module in (None, 'MBConv', 'GLUMBConv'), f'unsupported local_module: {local_module}'","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Whitelist local_module values at config load","Avoid porting EfficientViT configs verbatim; map names explicitly"],"tags":["config","dc-ae","efficient-vit","not-implemented"],"backgroundTag":"invalid-config-value","analyzedSha":"7ad6a96a135feb81f755c84fb391818718f6beb2","analyzedAt":"2026-08-28T16:58:37.171Z","schemaVersion":2},"datasetVersion":"2026-08-28T21:17:43.275Z"}