i = tf.keras.layers.Input([None, None, 3], dtype = tf.uint8)
x = tf.cast(i, tf.float32)
x = tf.keras.applications.mobilenet.preprocess_input(x)
core = tf.keras.applications.MobileNet()
x = core(x)
model = tf.keras.Model(inputs=[i], outputs=[x])
image = tf.image.decode_png(tf.io.read_file('file.png'))
result = model(image)
Аргументы
x
Числовое значение с плавающей точкой numpy.array или tf.Tensor, 3D или 4D с 3 цветовыми каналами, значения которых находятся в диапазоне [0, 255]. Предварительно обработанные данные записываются поверх входных данных, если типы данных совместимы. Чтобы избежать этого поведения, можно использовать numpy.copy(x).
data_format
Необязательный формат данных тензора/массива изображения. По умолчанию None, в этом случае используется глобальная настройка tf.keras.backend.image_data_format() (если вы её не изменили, она по умолчанию равна "channels_last").
mode
Одно из значений "caffe", "tf" или "torch". По умолчанию "caffe".
caffe: преобразует изображения из RGB в BGR, затем центрирует каждый цветовой канал относительно набора данных ImageNet без масштабирования.
tf: масштабирует пиксели между -1 и 1, по образцу.
torch: масштабирует пиксели между 0 и 1 и затем нормализует каждый канал относительно набора данных ImageNet.
Возвращаемое значение
Предварительно обработанный numpy.array или tf.Tensor с типом float32.
Исключения
ValueError
В случае неизвестного mode или data_format аргумента.