Skip to content

Commit 056f869

Browse files
committed
Can take subview of container using []-syntax.
1 parent 4f99557 commit 056f869

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

DeepFried2/containers/Container.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
from ..layers import Module
22

3+
import DeepFried2.utils import aslist as _aslist
4+
35

46
class Container(Module):
57

@@ -38,3 +40,6 @@ def get_stat_updates(self):
3840
def add(self, *modules):
3941
assert all(isinstance(m, Module) for m in modules), "`Container`s can only contain objects subtyping `Module`."
4042
self.modules += modules
43+
44+
def __getitem__(self, slice_):
45+
return type(self)(*_aslist(self.modules[slice_]))

DeepFried2/utils.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,3 +38,12 @@ def load_params(module, fromwhere):
3838
with _np.load(fromwhere) as f:
3939
for p, v in zip(params, f['params']):
4040
p.set_value(v)
41+
42+
43+
def aslist(what):
44+
if isinstance(what, list):
45+
return what
46+
elif isinstance(what, tuple):
47+
return list(what)
48+
else:
49+
return [what]

0 commit comments

Comments
 (0)