Skip to content

Commit 585b4ed

Browse files
committed
Allows array-likes as Param's init.
This will turn anything with a `shape` and `dtype` into an `df.init.array` initializer.
1 parent 5ed9d97 commit 585b4ed

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

DeepFried2/Param.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,12 @@ def __init__(self, shape, init, fan=None, name=None, learn=True, decay=True, dty
1010
self.fan = fan
1111
self.decay = decay
1212

13-
val = init(self.shape, self.fan).astype(dtype)
13+
# Support a useful shortcut for initializing with an array-like:
14+
# TODO: It would be nicer to use Python's buffer-interface.
15+
if hasattr(init, 'shape') and hasattr(init, 'dtype'):
16+
self.init = df.init.array(init)
17+
18+
val = self.init(self.shape, self.fan).astype(dtype)
1419
self.param = df.th.shared(val, name=name, **kw)
1520

1621
if learn:

0 commit comments

Comments
 (0)