def check_two_tensor_operation(function_name, x_input_shape,
y_input_shape, backend_list, **kwargs):
xval = np.random.random(x_input_shape) - 0.5
x_list = [k.variable(xval) for k in backend_list]
yval = np.random.random(y_input_shape) - 0.5
y_list = [k.variable(yval) for k in backend_list]
z_list = []
for x, y, k in zip(x_list, y_list, backend_list):
z_list.append(k.eval(getattr(k, function_name)(x, y, **kwargs)))
for i in range(len(z_list) - 1):
assert z_list[i].shape == z_list[i + 1].shape
assert_allclose(z_list[i], z_list[i + 1], atol=1e-05)
if hasattr(z_list[i], "_keras_shape"):