@@ 71-84 (lines=14) @@ | ||
68 | # for anything by this brick. |
|
69 | get_output_shape = staticmethod(get_conv_output_shape) |
|
70 | ||
71 | @lazy(allocation=['filter_size', 'num_filters', 'num_channels']) |
|
72 | def __init__(self, filter_size, num_filters, num_channels, batch_size=None, |
|
73 | image_size=(None, None), step=(1, 1), border_mode='valid', |
|
74 | tied_biases=True, **kwargs): |
|
75 | super(Convolutional, self).__init__(**kwargs) |
|
76 | ||
77 | self.filter_size = filter_size |
|
78 | self.num_filters = num_filters |
|
79 | self.batch_size = batch_size |
|
80 | self.num_channels = num_channels |
|
81 | self.image_size = image_size |
|
82 | self.step = step |
|
83 | self.border_mode = border_mode |
|
84 | self.tied_biases = tied_biases |
|
85 | ||
86 | def _allocate(self): |
|
87 | W = shared_floatx_nans((self.num_filters, self.num_channels) + |
|
@@ 493-505 (lines=13) @@ | ||
490 | an explicitly specified border mode will be pushed down the hierarchy. |
|
491 | ||
492 | """ |
|
493 | @lazy(allocation=['num_channels']) |
|
494 | def __init__(self, layers, num_channels, batch_size=None, |
|
495 | image_size=(None, None), border_mode=None, tied_biases=None, |
|
496 | **kwargs): |
|
497 | self.layers = [a if isinstance(a, Brick) else a.brick for a in layers] |
|
498 | self.image_size = image_size |
|
499 | self.num_channels = num_channels |
|
500 | self.batch_size = batch_size |
|
501 | self.border_mode = border_mode |
|
502 | self.tied_biases = tied_biases |
|
503 | ||
504 | super(ConvolutionalSequence, self).__init__( |
|
505 | application_methods=layers, **kwargs) |
|
506 | ||
507 | def get_dim(self, name): |
|
508 | if name == 'input_': |