k1lib.selector module¶
This module is for selecting a subnetwork so that you can do special things to them. Checkout the tutorial section for a walkthrough. This is exposed automatically with:
from k1lib.imports import *
selector.select # exposed
-
class
k1lib.selector.ModuleSelector(parent: ModuleSelector, name: str, nnModule: torch.nn.Module)[source]¶ Bases:
object-
property
displayF¶ Function to display each ModuleSelector’s lines. Default is just:
lambda mS: ", ".join(mS.selectedProps)
-
selected(prop: Optional[str] = None) → bool[source]¶ Whether this ModuleSelector has a specific prop
-
named_children() → Iterator[Tuple[str, k1lib.selector.ModuleSelector]][source]¶ Get all named direct child
-
named_modules(prop: Optional[str] = None) → Iterator[Tuple[str, k1lib.selector.ModuleSelector]][source]¶ Get all named child recursively
- Parameters
prop – Filter property
-
children() → Iterator[k1lib.selector.ModuleSelector][source]¶ Get all direct child
-
modules(prop: Optional[str] = None) → Iterator[k1lib.selector.ModuleSelector][source]¶ Get all child recursively. Optional filter prop
-
property
directParams¶ Params directly under this module
-
parameters() → Iterator[torch.nn.parameter.Parameter][source]¶ Get generator of parameters, all depths
-
property
deepestDepth¶ Deepest depth of the tree. If self doesn’t have any child, then depth is 0
-
apply(f: Callable[[k1lib.selector.ModuleSelector], None])¶ Applies a function to self and all child
ModuleSelector
-
copy()¶
-
property
-
k1lib.selector.filter(selectors: str, defaultProp='all') → List[str][source]¶ Removes all quirkly features allowed by the css language, and outputs nice lines.
- Parameters
selectors – single css selector string. Statements separated by “\n” or “;”
defaultProp – default property, if statement doesn’t have one
-
k1lib.selector.select(model: torch.nn.Module, selectors: str) → k1lib.selector.ModuleSelector[source]¶ Creates a new ModuleSelector, in sync with a model