Skip to content

Commit 4ce0777

Browse files
committed
Remove zero and one shortuct initializers.
This is for consistency: now *all* initializers are "created" using call-syntax, as in `initializer()`. Previously this was the case for all initializers except `zero` and `one`, which is confusing.
1 parent 99b176f commit 4ce0777

File tree

6 files changed

+14
-17
lines changed

6 files changed

+14
-17
lines changed

beacon8/init/Const.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,3 @@ def const(value):
55
def init(shape, fan):
66
return _np.full(shape, value)
77
return init
8-
9-
zero = const(0)
10-
one = const(1)

beacon8/init/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from .Const import const, zero, one
1+
from .Const import const
22
from .Xavier import xavier, xavierN, xavierSigm, xavierSigmN
33
from .PReLU import prelu, preluN
44
from .Normal import normal

beacon8/layers/BatchNormalization.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from .Module import Module
2-
from beacon8.init import zero, one
2+
from beacon8.init import const
33
from beacon8.utils import create_param, create_param_and_grad
44

55
import numpy as _np
@@ -11,15 +11,15 @@ class BatchNormalization(Module):
1111
def __init__(self, n_features, eps=None):
1212
Module.__init__(self)
1313

14-
self.weight, self.grad_weight = create_param_and_grad(n_features, one, 'W_BN')
15-
self.bias, self.grad_bias = create_param_and_grad(n_features, zero, 'b_BN')
14+
self.weight, self.grad_weight = create_param_and_grad(n_features, const(1), 'W_BN')
15+
self.bias, self.grad_bias = create_param_and_grad(n_features, const(0), 'b_BN')
1616

17-
self.inference_weight = create_param(n_features, one, 'W_BN_inf')
18-
self.inference_bias = create_param(n_features, zero, 'b_BN_inf')
17+
self.inference_weight = create_param(n_features, const(1), 'W_BN_inf')
18+
self.inference_bias = create_param(n_features, const(0), 'b_BN_inf')
1919

2020
# These are buffers for collecting the minibatch statistics.
21-
self.buffer_variance = create_param(n_features, one, 'BN_var')
22-
self.buffer_mean = create_param(n_features, zero, 'BN_mean')
21+
self.buffer_variance = create_param(n_features, const(1), 'BN_var')
22+
self.buffer_mean = create_param(n_features, const(0), 'BN_mean')
2323
self.buffer_counts = _th.shared(_np.asarray(0, dtype=_th.config.floatX))
2424

2525
self.eps = eps or 1e-5

beacon8/layers/Linear.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from .Module import Module
2-
from beacon8.init import zero, xavier
2+
from beacon8.init import const, xavier
33
from beacon8.utils import create_param_and_grad
44

55
import numpy as _np
@@ -8,7 +8,7 @@
88

99
class Linear(Module):
1010

11-
def __init__(self, nin, nout, with_bias=True, initW=xavier(), initB=zero):
11+
def __init__(self, nin, nout, with_bias=True, initW=xavier(), initB=const(0)):
1212
Module.__init__(self)
1313

1414
self.nin = nin

beacon8/layers/SpatialConvolution.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
from .Module import Module
2-
from beacon8.init import zero, xavier
2+
from beacon8.init import const, xavier
33
from beacon8.utils import create_param_and_grad
44

55
import theano as _th
66
import numpy as _np
77

88

99
class SpatialConvolution(Module):
10-
def __init__(self, n_input_plane, n_output_plane, k_w, k_h, d_w=1, d_h=1, with_bias=True, initW=xavier(), initB=zero, border_mode='valid', imshape=None):
10+
def __init__(self, n_input_plane, n_output_plane, k_w, k_h, d_w=1, d_h=1, with_bias=True, initW=xavier(), initB=const(0), border_mode='valid', imshape=None):
1111
Module.__init__(self)
1212
self.n_input_plane = n_input_plane
1313
self.n_output_plane = n_output_plane

beacon8/layers/SpatialConvolutionCUDNN.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from .Module import Module
2-
from beacon8.init import zero, xavier
2+
from beacon8.init import const, xavier
33
from beacon8.utils import create_param_and_grad
44

55
import theano as _th
@@ -8,7 +8,7 @@
88

99

1010
class SpatialConvolutionCUDNN(Module):
11-
def __init__(self, n_input_plane, n_output_plane, k_w, k_h, d_w=1, d_h=1, pad_w=0, pad_h=0, with_bias=True, initW=xavier(), initB=zero):
11+
def __init__(self, n_input_plane, n_output_plane, k_w, k_h, d_w=1, d_h=1, pad_w=0, pad_h=0, with_bias=True, initW=xavier(), initB=const(0)):
1212
Module.__init__(self)
1313
self.n_input_plane = n_input_plane
1414
self.n_output_plane = n_output_plane

0 commit comments

Comments
 (0)