def test_convolutional_layer(): x = tensor.tensor4('x') num_channels = 4 batch_size = 5 pooling_size = 3 num_filters = 3 filter_size = (3, 3) activation = Rectifier().apply conv = ConvolutionalLayer(activation, filter_size, num_filters, (pooling_size, pooling_size), num_channels, image_size=(17, 13), batch_size=batch_size, weights_init=Constant(1.), biases_init=Constant(5.)) conv.initialize() y = conv.apply(x) func = function([x], y) x_val = numpy.ones((batch_size, num_channels, 17, 13), dtype=theano.config.floatX) assert_allclose(func(x_val), numpy.prod(filter_size) * num_channels * numpy.ones((batch_size, num_filters, 5, 4)) + 5) assert_equal(conv.convolution.batch_size, batch_size) assert_equal(conv.pooling.batch_size, batch_size)
def test_convolutional_layer(): x = tensor.tensor4('x') num_channels = 4 batch_size = 5 pooling_size = 3 num_filters = 3 filter_size = (3, 3) activation = Rectifier().apply conv = ConvolutionalLayer(activation, filter_size, num_filters, (pooling_size, pooling_size), num_channels, image_size=(17, 13), weights_init=Constant(1.), biases_init=Constant(5.)) conv.initialize() y = conv.apply(x) func = function([x], y) x_val = numpy.ones((batch_size, num_channels, 17, 13), dtype=theano.config.floatX) assert_allclose( func(x_val), numpy.prod(filter_size) * num_channels * numpy.ones( (batch_size, num_filters, 5, 4)) + 5)
def test_convolutional_layer_use_bias(): act = ConvolutionalLayer(Rectifier().apply, (3, 3), 5, (2, 2), 6, image_size=(9, 9), use_bias=False) act.allocate() assert not act.convolution.use_bias assert len(ComputationGraph([act.apply(tensor.tensor4())]).parameters) == 1
def test_convolutional_layer_use_bias(): act = ConvolutionalLayer(Rectifier().apply, (3, 3), 5, (2, 2), 6, image_size=(9, 9), use_bias=False) act.allocate() assert not act.convolution.use_bias assert len(ComputationGraph([act.apply(tensor.tensor4())]).parameters) == 1