flambe.compile.utils
¶
Module Contents¶
-
flambe.compile.utils.
all_subclasses
(class_: Type[Any]) → Set[Type[Any]][source]¶ Return a set of all subclasses for a given class object
Recursively collects all subclasses of class_ down the object hierarchy into one set.
Parameters: class (Type[Any]) – Class to retrieve all subclasses for Returns: All subclasses of class_ Return type: Set[Type[Any]]
-
flambe.compile.utils.
make_component
(class_: type, tag_namespace: str, only_module: Optional[str] = None) → None[source]¶ Make class and all its children a Component
For example a call to make_component(torch.optim.Adam, “torch”) will make the tag !torch.Adam accessible in any yaml configs. This does NOT monkey patch (aka swizzle) torch, but instead creates a dynamic subclass which will be used by the yaml constructor i.e. only classes loaded from the config will be affected, anything imported and used in code.
Parameters: - class (type) – To be registered with yaml as a component, along with all its children
- tag_prefix (str) – Added to beginning of all the tags
- only_module (str) – Module prefix used to limit the scope of what gets registered
Returns: Return type: None