首页 > 解决方案 > 如何将张量对象传递给接受数据类型为 uint 的图像的函数

问题描述

我正在将一批图像传递给深度神经网络,并从中得到一些张量形式的输出。现在我想将此张量值传递给某个函数,该函数接受 uint 形式的输入,并且一次可以处理单个图像。假设我有这样的输出:(4,320,320,3),我想迭代第一个维度,即 4。所以,它每次都会读取单个图像并传递给该函数。

标签: pythonkeras

解决方案


您可以通过ImageDataGenerator以下方式将您的功能传递给

def my_custom_function(image):
     .....
    return output

然后将此函数传递给ImageDataGenerator

tf.keras.preprocessing.image.ImageDataGenerator(
    ......
    preprocessing_function=my_custom_function,
    .....
)

这将获取您的每个图像,在该图像上应用您的自定义函数,应用您提供的其他转换,使用ImageDataGenerator. 这样做的好处是您无需显式使用 for 循环将函数应用于单个图像


推荐阅读