def test_cropping_2d():
nb_samples = 2
stack_size = 2
input_len_dim1 = 8
input_len_dim2 = 8
cropping = ((2, 2), (3, 3))
dim_ordering = K.image_dim_ordering()
if dim_ordering == 'th':
input = np.random.rand(nb_samples, stack_size,
input_len_dim1, input_len_dim2)
else:
input = np.random.rand(nb_samples,
input_len_dim1, input_len_dim2,
stack_size)
# basic test
layer_test(convolutional.Cropping2D,
kwargs={'cropping': cropping,
'dim_ordering': dim_ordering},
input_shape=input.shape)
# correctness test
layer = convolutional.Cropping2D(cropping=cropping,
dim_ordering=dim_ordering)
layer.build(input.shape)
output = layer(K.variable(input))
np_output = K.eval(output)
# compare with numpy
if dim_ordering == 'th':
expected_out = input[:,
:,
cropping[0][0]: -cropping[0][1],
cropping[1][0]: -cropping[1][1]]
else:
expected_out = input[:,
cropping[0][0]: -cropping[0][1],
cropping[1][0]: -cropping[1][1],
:]
assert_allclose(np_output, expected_out)
评论列表
文章目录