def test_preprocess_input_symbolic(self): # Test image batch x = np.random.uniform(0, 255, (2, 10, 10, 3)) inputs = keras.layers.Input(shape=x.shape[1:]) outputs = keras.layers.Lambda( preprocess_input, output_shape=x.shape[1:])(inputs) model = keras.models.Model(inputs, outputs) assert model.predict(x).shape == x.shape # pylint: disable=g-long-lambda outputs1 = keras.layers.Lambda(lambda x: preprocess_input(x, 'channels_last'), output_shape=x.shape[1:])(inputs) model1 = keras.models.Model(inputs, outputs1) out1 = model1.predict(x) x2 = np.transpose(x, (0, 3, 1, 2)) inputs2 = keras.layers.Input(shape=x2.shape[1:]) # pylint: disable=g-long-lambda outputs2 = keras.layers.Lambda(lambda x: preprocess_input(x, 'channels_first'), output_shape=x2.shape[1:])(inputs2) model2 = keras.models.Model(inputs2, outputs2) out2 = model2.predict(x2) self.assertAllClose(out1, out2.transpose(0, 2, 3, 1)) # Test single image x = np.random.uniform(0, 255, (10, 10, 3)) inputs = keras.layers.Input(shape=x.shape) outputs = keras.layers.Lambda(preprocess_input, output_shape=x.shape)(inputs) model = keras.models.Model(inputs, outputs) assert model.predict(x[np.newaxis])[0].shape == x.shape # pylint: disable=g-long-lambda outputs1 = keras.layers.Lambda(lambda x: preprocess_input(x, 'channels_last'), output_shape=x.shape)(inputs) model1 = keras.models.Model(inputs, outputs1) out1 = model1.predict(x[np.newaxis])[0] x2 = np.transpose(x, (2, 0, 1)) inputs2 = keras.layers.Input(shape=x2.shape) outputs2 = keras.layers.Lambda(lambda x: preprocess_input(x, 'channels_first'), output_shape=x2.shape)(inputs2) # pylint: disable=g-long-lambda model2 = keras.models.Model(inputs2, outputs2) out2 = model2.predict(x2[np.newaxis])[0] self.assertAllClose(out1, out2.transpose(1, 2, 0))
def test_preprocess_input_symbolic(self): # Test image batch x = np.random.uniform(0, 255, (2, 10, 10, 3)) inputs = keras.layers.Input(shape=x.shape[1:]) outputs = keras.layers.Lambda(preprocess_input, output_shape=x.shape[1:])(inputs) model = keras.models.Model(inputs, outputs) assert model.predict(x).shape == x.shape # pylint: disable=g-long-lambda outputs1 = keras.layers.Lambda( lambda x: preprocess_input(x, 'channels_last'), output_shape=x.shape[1:])(inputs) model1 = keras.models.Model(inputs, outputs1) out1 = model1.predict(x) x2 = np.transpose(x, (0, 3, 1, 2)) inputs2 = keras.layers.Input(shape=x2.shape[1:]) # pylint: disable=g-long-lambda outputs2 = keras.layers.Lambda( lambda x: preprocess_input(x, 'channels_first'), output_shape=x2.shape[1:])(inputs2) model2 = keras.models.Model(inputs2, outputs2) out2 = model2.predict(x2) self.assertAllClose(out1, out2.transpose(0, 2, 3, 1)) # Test single image x = np.random.uniform(0, 255, (10, 10, 3)) inputs = keras.layers.Input(shape=x.shape) outputs = keras.layers.Lambda(preprocess_input, output_shape=x.shape)(inputs) model = keras.models.Model(inputs, outputs) assert model.predict(x[np.newaxis])[0].shape == x.shape # pylint: disable=g-long-lambda outputs1 = keras.layers.Lambda( lambda x: preprocess_input(x, 'channels_last'), output_shape=x.shape)(inputs) model1 = keras.models.Model(inputs, outputs1) out1 = model1.predict(x[np.newaxis])[0] x2 = np.transpose(x, (2, 0, 1)) inputs2 = keras.layers.Input(shape=x2.shape) outputs2 = keras.layers.Lambda( lambda x: preprocess_input(x, 'channels_first'), output_shape=x2.shape)(inputs2) # pylint: disable=g-long-lambda model2 = keras.models.Model(inputs2, outputs2) out2 = model2.predict(x2[np.newaxis])[0] self.assertAllClose(out1, out2.transpose(1, 2, 0))
def preprocess_input(x): """Preprocesses a numpy array encoding a batch of images. Arguments: x: a 4D numpy array consists of RGB values within [0, 255]. Returns: Preprocessed array. """ return imagenet_utils.preprocess_input(x, mode='tf')
def preprocess_input(x): """Preprocesses a numpy array encoding a batch of images. Arguments: x: a 4D numpy array consists of RGB values within [0, 255]. Returns: Preprocessed array. """ return imagenet_utils.preprocess_input(x, mode='tf')
def preprocess_input(x, data_format=None): """Preprocesses a numpy array encoding a batch of images. Arguments: x: a 3D or 4D numpy array consists of RGB values within [0, 255]. data_format: data format of the image tensor. Returns: Preprocessed array. """ return imagenet_utils.preprocess_input(x, data_format, mode='torch')
def preprocess_input(x, data_format=None): """Preprocesses a numpy array encoding a batch of images. Arguments: x: a 3D or 4D numpy array consists of RGB values within [0, 255]. data_format: data format of the image tensor. Returns: Preprocessed array. """ return imagenet_utils.preprocess_input(x, data_format, mode='torch')
def test_preprocess_input(self): # Test batch of images x = np.random.uniform(0, 255, (2, 10, 10, 3)) self.assertEqual(preprocess_input(x).shape, x.shape) out1 = preprocess_input(x, 'channels_last') out2 = preprocess_input(np.transpose(x, (0, 3, 1, 2)), 'channels_first') self.assertAllClose(out1, out2.transpose(0, 2, 3, 1)) # Test single image x = np.random.uniform(0, 255, (10, 10, 3)) self.assertEqual(preprocess_input(x).shape, x.shape) out1 = preprocess_input(x, 'channels_last') out2 = preprocess_input(np.transpose(x, (2, 0, 1)), 'channels_first') self.assertAllClose(out1, out2.transpose(1, 2, 0))
def test_preprocess_input(self): # Test batch of images x = np.random.uniform(0, 255, (2, 10, 10, 3)) self.assertEqual(preprocess_input(x).shape, x.shape) out1 = preprocess_input(x, 'channels_last') out2 = preprocess_input(np.transpose(x, (0, 3, 1, 2)), 'channels_first') self.assertAllClose(out1, out2.transpose(0, 2, 3, 1)) # Test single image x = np.random.uniform(0, 255, (10, 10, 3)) self.assertEqual(preprocess_input(x).shape, x.shape) out1 = preprocess_input(x, 'channels_last') out2 = preprocess_input(np.transpose(x, (2, 0, 1)), 'channels_first') self.assertAllClose(out1, out2.transpose(1, 2, 0))