def test_zero_padding_3d(): num_samples = 2 stack_size = 2 input_len_dim1 = 4 input_len_dim2 = 5 input_len_dim3 = 3 inputs = np.ones((num_samples, input_len_dim1, input_len_dim2, input_len_dim3, stack_size)) # basic test for data_format in ['channels_first', 'channels_last']: layer_test(convolutional.ZeroPadding3D, kwargs={'padding': (2, 2, 2), 'data_format': data_format}, input_shape=inputs.shape) layer_test(convolutional.ZeroPadding3D, kwargs={'padding': ((1, 2), (3, 4), (0, 2)), 'data_format': data_format}, input_shape=inputs.shape) # correctness test layer = convolutional.ZeroPadding3D(padding=(2, 2, 2), data_format=data_format) layer.build(inputs.shape) outputs = layer(K.variable(inputs)) np_output = K.eval(outputs) if data_format == 'channels_last': for offset in [0, 1, -1, -2]: assert_allclose(np_output[:, offset, :, :, :], 0.) assert_allclose(np_output[:, :, offset, :, :], 0.) assert_allclose(np_output[:, :, :, offset, :], 0.) assert_allclose(np_output[:, 2:-2, 2:-2, 2:-2, :], 1.) elif data_format == 'channels_first': for offset in [0, 1, -1, -2]: assert_allclose(np_output[:, :, offset, :, :], 0.) assert_allclose(np_output[:, :, :, offset, :], 0.) assert_allclose(np_output[:, :, :, :, offset], 0.) assert_allclose(np_output[:, :, 2:-2, 2:-2, 2:-2], 1.) layer = convolutional.ZeroPadding3D(padding=((1, 2), (3, 4), (0, 2)), data_format=data_format) layer.build(inputs.shape) outputs = layer(K.variable(inputs)) np_output = K.eval(outputs) if data_format == 'channels_last': for dim1_offset in [0, -1, -2]: assert_allclose(np_output[:, dim1_offset, :, :, :], 0.) for dim2_offset in [0, 1, 2, -1, -2, -3, -4]: assert_allclose(np_output[:, :, dim2_offset, :, :], 0.) for dim3_offset in [-1, -2]: assert_allclose(np_output[:, :, :, dim3_offset, :], 0.) assert_allclose(np_output[:, 1:-2, 3:-4, 0:-2, :], 1.) elif data_format == 'channels_first': for dim1_offset in [0, -1, -2]: assert_allclose(np_output[:, :, dim1_offset, :, :], 0.) for dim2_offset in [0, 1, 2, -1, -2, -3, -4]: assert_allclose(np_output[:, :, :, dim2_offset, :], 0.) for dim3_offset in [-1, -2]: assert_allclose(np_output[:, :, :, :, dim3_offset], 0.) assert_allclose(np_output[:, :, 1:-2, 3:-4, 0:-2], 1.)
def test_zero_padding_3d(): nb_samples = 2 stack_size = 2 input_len_dim1 = 4 input_len_dim2 = 5 input_len_dim3 = 3 input = np.ones((nb_samples, input_len_dim1, input_len_dim2, input_len_dim3, stack_size)) # basic test layer_test(convolutional.ZeroPadding3D, kwargs={'padding': (2, 2, 2)}, input_shape=input.shape) # correctness test layer = convolutional.ZeroPadding3D(padding=(2, 2, 2)) layer.build(input.shape) output = layer(K.variable(input)) np_output = K.eval(output) for offset in [0, 1, -1, -2]: assert_allclose(np_output[:, offset, :, :, :], 0.) assert_allclose(np_output[:, :, offset, :, :], 0.) assert_allclose(np_output[:, :, :, offset, :], 0.) assert_allclose(np_output[:, 2:-2, 2:-2, 2:-2, :], 1.) layer.get_config()
def test_zero_padding_3d(): nb_samples = 9 stack_size = 7 input_len_dim1 = 10 input_len_dim2 = 11 input_len_dim3 = 12 input = np.ones((nb_samples, stack_size, input_len_dim1, input_len_dim2, input_len_dim3)) # basic test layer_test(convolutional.ZeroPadding3D, kwargs={'padding': (2, 2, 2)}, input_shape=input.shape) # correctness test layer = convolutional.ZeroPadding3D(padding=(2, 2, 2)) layer.set_input(K.variable(input), shape=input.shape) out = K.eval(layer.output) for offset in [0, 1, -1, -2]: assert_allclose(out[:, :, offset, :, :], 0.) assert_allclose(out[:, :, :, offset, :], 0.) assert_allclose(out[:, :, :, :, offset], 0.) assert_allclose(out[:, :, 2:-2, 2:-2, 2:-2], 1.) layer.get_config()
def test_zero_padding_3d(): nb_samples = 9 stack_size = 7 input_len_dim1 = 10 input_len_dim2 = 11 input_len_dim3 = 12 input = np.ones((nb_samples, stack_size, input_len_dim1, input_len_dim2, input_len_dim3)) layer = convolutional.ZeroPadding3D(padding=(2, 2, 2)) layer.input = K.variable(input) for train in [True, False]: out = K.eval(layer.get_output(train)) for offset in [0, 1, -1, -2]: assert_allclose(out[:, :, offset, :, :], 0.) assert_allclose(out[:, :, :, offset, :], 0.) assert_allclose(out[:, :, :, :, offset], 0.) assert_allclose(out[:, :, 2:-2, 2:-2, 2:-2], 1.) layer.get_config()