Python blocks.bricks.Linear() Examples
The following are 12
code examples of blocks.bricks.Linear().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
blocks.bricks
, or try the search function
.
Example #1
Source File: bricks.py From image-captioning-for-mortals with BSD 3-Clause "New" or "Revised" License | 6 votes |
def __init__(self, image_feature_dim, embedding_dim, **kwargs): super(Encoder, self).__init__(**kwargs) self.image_embedding = Linear( input_dim=image_feature_dim , output_dim=embedding_dim , name="image_embedding" ) self.to_inputs = Linear( input_dim=embedding_dim , output_dim=embedding_dim*4 # times 4 cuz vstack(input, forget, cell, hidden) , name="to_inputs" ) self.transition = LSTM( dim=embedding_dim, name="transition") self.children = [ self.image_embedding , self.to_inputs , self.transition ]
Example #2
Source File: model.py From blocks-char-rnn with MIT License | 5 votes |
def softmax_layer(h, y, vocab_size, hidden_size): hidden_to_output = Linear(name='hidden_to_output', input_dim=hidden_size, output_dim=vocab_size) initialize([hidden_to_output]) linear_output = hidden_to_output.apply(h) linear_output.name = 'linear_output' softmax = NDimensionalSoftmax() y_hat = softmax.apply(linear_output, extra_ndim=1) y_hat.name = 'y_hat' cost = softmax.categorical_cross_entropy( y, linear_output, extra_ndim=1).mean() cost.name = 'cost' return y_hat, cost
Example #3
Source File: model.py From blocks-char-rnn with MIT License | 5 votes |
def rnn_layer(dim, h, n): linear = Linear(input_dim=dim, output_dim=dim, name='linear' + str(n)) rnn = SimpleRecurrent(dim=dim, activation=Tanh(), name='rnn' + str(n)) initialize([linear, rnn]) return rnn.apply(linear.apply(h))
Example #4
Source File: model.py From blocks-char-rnn with MIT License | 5 votes |
def lstm_layer(dim, h, n): linear = Linear(input_dim=dim, output_dim=dim * 4, name='linear' + str(n)) lstm = LSTM(dim=dim, name='lstm' + str(n)) initialize([linear, lstm]) return lstm.apply(linear.apply(h))
Example #5
Source File: parallel.py From attention-lvcsr with MIT License | 5 votes |
def __init__(self, output_names, input_dim, prototype=None, **kwargs): if not prototype: prototype = Linear() self.output_names = output_names self.input_dim = input_dim kwargs.setdefault('child_prefix', 'fork') super(Fork, self).__init__(output_names, prototype=prototype, **kwargs) self.input_dims = None
Example #6
Source File: parallel.py From attention-lvcsr with MIT License | 5 votes |
def __init__(self, target_names, source_name, target_dims, source_dim, prototype=None, **kwargs): if not prototype: prototype = Linear(use_bias=False) self.target_names = target_names self.source_name = source_name self.target_dims = target_dims self.source_dim = source_dim super(Distribute, self).__init__( output_names=target_names, output_dims=target_dims, input_dim=source_dim, prototype=prototype, **kwargs)
Example #7
Source File: parallel.py From attention-lvcsr with MIT License | 5 votes |
def __init__(self, input_names, input_dims, output_dim, prototype=None, **kwargs): if not prototype: prototype = Linear(use_bias=False) self.output_dim = output_dim super(Merge, self).__init__( input_names, input_dims, [output_dim for _ in input_names], prototype, **kwargs )
Example #8
Source File: test_variable_filter.py From attention-lvcsr with MIT License | 5 votes |
def test_variable_filter_roles_error(): # Creating computation graph brick1 = Linear(input_dim=2, output_dim=2, name='linear1') x = tensor.vector() h1 = brick1.apply(x) cg = ComputationGraph(h1) # testing role error VariableFilter(roles=PARAMETER)(cg.variables)
Example #9
Source File: test_serialization.py From attention-lvcsr with MIT License | 5 votes |
def test_renamer(): x = tensor.matrix('features') layer = Linear(10, 10) y = layer.apply(x) named = shared(name='named', value=numpy.zeros(2)) tag_named = shared(value=numpy.zeros(2)) tag_named.tag.name = 'tag_named' unnamed = shared(value=numpy.zeros(2)) variables = [layer.W, named, tag_named, unnamed, unnamed, unnamed] renamer = _Renamer() names = [renamer(n) for n in variables] true_names = ['|linear.W', 'named', 'tag_named', 'parameter', 'parameter_2', 'parameter_3'] assert set(names) == set(true_names)
Example #10
Source File: test_interfaces.py From attention-lvcsr with MIT License | 5 votes |
def test_linearlike_subclass_initialize_works_overridden_w(): class NotQuiteLinear(Linear): @property def W(self): W = super(NotQuiteLinear, self).W return W / tensor.sqrt((W ** 2).sum(axis=0)) brick = NotQuiteLinear(5, 10, weights_init=IsotropicGaussian(0.02), biases_init=Constant(1)) brick.initialize() assert not numpy.isnan(brick.parameters[0].get_value()).any() numpy.testing.assert_allclose((brick.W ** 2).sum(axis=0).eval(), 1, rtol=1e-6)
Example #11
Source File: attentive_reader.py From DeepMind-Teaching-Machines-to-Read-and-Comprehend with MIT License | 5 votes |
def make_bidir_lstm_stack(seq, seq_dim, mask, sizes, skip=True, name=''): bricks = [] curr_dim = [seq_dim] curr_hidden = [seq] hidden_list = [] for k, dim in enumerate(sizes): fwd_lstm_ins = [Linear(input_dim=d, output_dim=4*dim, name='%s_fwd_lstm_in_%d_%d'%(name,k,l)) for l, d in enumerate(curr_dim)] fwd_lstm = LSTM(dim=dim, activation=Tanh(), name='%s_fwd_lstm_%d'%(name,k)) bwd_lstm_ins = [Linear(input_dim=d, output_dim=4*dim, name='%s_bwd_lstm_in_%d_%d'%(name,k,l)) for l, d in enumerate(curr_dim)] bwd_lstm = LSTM(dim=dim, activation=Tanh(), name='%s_bwd_lstm_%d'%(name,k)) bricks = bricks + [fwd_lstm, bwd_lstm] + fwd_lstm_ins + bwd_lstm_ins fwd_tmp = sum(x.apply(v) for x, v in zip(fwd_lstm_ins, curr_hidden)) bwd_tmp = sum(x.apply(v) for x, v in zip(bwd_lstm_ins, curr_hidden)) fwd_hidden, _ = fwd_lstm.apply(fwd_tmp, mask=mask) bwd_hidden, _ = bwd_lstm.apply(bwd_tmp[::-1], mask=mask[::-1]) hidden_list = hidden_list + [fwd_hidden, bwd_hidden] if skip: curr_hidden = [seq, fwd_hidden, bwd_hidden[::-1]] curr_dim = [seq_dim, dim, dim] else: curr_hidden = [fwd_hidden, bwd_hidden[::-1]] curr_dim = [dim, dim] return bricks, hidden_list
Example #12
Source File: attention.py From attention-lvcsr with MIT License | 4 votes |
def __init__(self, match_dim, conv_n, conv_num_filters=1, state_transformer=None, attended_transformer=None, energy_computer=None, prior=None, energy_normalizer=None, **kwargs): super(SequenceContentAndConvAttention, self).__init__(**kwargs) if not state_transformer: state_transformer = Linear(use_bias=False) self.match_dim = match_dim self.state_transformer = state_transformer self.state_transformers = Parallel(input_names=self.state_names, prototype=state_transformer, name="state_trans") if not attended_transformer: # Only this contributor to the match vector # is allowed to have biases attended_transformer = Linear(name="preprocess") if not energy_normalizer: energy_normalizer = 'softmax' self.energy_normalizer = energy_normalizer if not energy_computer: energy_computer = ShallowEnergyComputer( name="energy_comp", use_bias=self.energy_normalizer != 'softmax') self.filter_handler = Linear(name="handler", use_bias=False) self.attended_transformer = attended_transformer self.energy_computer = energy_computer if not prior: prior = dict(type='expanding', initial_begin=0, initial_end=10000, min_speed=0, max_speed=0) self.prior = prior self.conv_n = conv_n self.conv_num_filters = conv_num_filters self.conv = Conv1D(conv_num_filters, 2 * conv_n + 1) self.children = [self.state_transformers, self.attended_transformer, self.energy_computer, self.filter_handler, self.conv]