我正在建立一个模型以在Tensorflow中使用多个输入。我对为数据集生成器提供输出形状时使用的正确结构感到困惑。
我的生成器产生的数据具有以下结构:
([x1, x2], y)
tf.data.Dataset docs指出output_shapes
函数的Dataset.from_generator
参数应为嵌套结构,因此我最初的假设是应为形状提供与生成器输出匹配的结构,即:([x1_shape, x2_shape], y_shape)
(每个形状本身就是一个元组)。
但是,当我尝试训练模型时,会引发以下异常: “ TypeError:int()参数必须是字符串,类似字节的对象或数字,而不是'tuple'”。
突破异常(在
Dimension.__init__
中的tensor_shape.py中)表明尝试将self._value
设置为int(value)
,其中value是形状元组之一。 看来tf并未将其视为Nested Structure,而是固定深度之一。
从生成器创建Tensorflow数据集以用于具有多个输入的模型时,output_shapes
参数的正确结构是什么? >