BonanDing's picture
Add isolated Minecraft and RE10K baseline evaluation suite
59630ba verified
Raw History Blame Contribute Delete
1.02 kB
from typing import Literal, List
from functools import partial
import importlib
Module = Literal[
"",
"Conv2d",
"PaddedConv3D",
"AttnBlock",
"AttnBlock3D",
"ResnetBlock3D",
"Upsample",
"Downsample",
"SpatialUpsample2x",
"SpatialDownsample2x",
"Spatial2xTime2x3DUpsample",
"Spatial2xTime2x3DDownsample",
]
MODULES_3D: List[Module] = [
"PaddedConv3D",
"AttnBlock3D",
"ResnetBlock3D",
"SpatialUpsample2x",
"SpatialDownsample2x",
"Spatial2xTime2x3DUpsample",
"Spatial2xTime2x3DDownsample",
]
MODULES_BASE = "algorithms.vae.common.modules"
# Returns the module class given the module name.
def resolve_str_to_module(name: Module, is_causal: bool) -> type:
if name == "":
raise ValueError("Empty string is not a valid module name.")
module = importlib.import_module(MODULES_BASE)
module_cls = getattr(module, name)
if name in MODULES_3D:
module_cls = partial(module_cls, is_causal=is_causal)
return module_cls