警告:张量流:序列模型中的层应该只有一个输入张量



我已经复制了tensorflow网站对自动编码器的介绍中过去的代码第一个示例。以下代码适用于mnist时尚数据集,但不适用于我的。这给了我一个很长的警告。请告诉我我的数据集出了什么问题警告屏幕缺少相同错误

这里x_train是我的数据集:

tf.shape(x_train)
output <tf.Tensor: shape=(3,), dtype=int32, numpy=array([169,**  **28,  28])>

这里x_train是mnist数据集:

tf.shape(x_train)
output<tf.Tensor: shape=(3,), dtype=int32, numpy=array([60000,    28,    28])>

我制作数据集的全部代码:

dir_path='auto/ttt/'
data=[]
x_train=[]
for i in os.listdir(dir_path):
img=image.load_img(dir_path+'//'+i,color_mode='grayscale',target_size=(28,28))  
data=np.array(img)
data=data/255.0
x_train.append(data)

这是警告:

WARNING:tensorflow:Layers in a Sequential model should only have a single input tensor. Received: inputs=(<tf.Tensor 'IteratorGetNext:0' shape=(None, 28) dtype=float32>, <tf.Tensor 'IteratorGetNext:1' shape=(None, 28) dtype=float32>, <tf.Tensor 'IteratorGetNext:2' shape=(None, 28) 
dtype=float32>, <tf.Tensor 'IteratorGetNext:3' shape=(None, 28) 
dtype=float32>, <tf.Tensor 'IteratorGetNext:4' shape=(None, 28) dtype=float32>, <tf.Tensor 'IteratorGetNext:5' shape=(None, 28) dtype=float32>, <tf.Tensor 'IteratorGetNext:6' shape=(None, 28) dtype=float32>, <tf.Tensor 'IteratorGetNext:7' shape=(None, 28) dtype=flo...

还有这个值错误(同样的警告(:

ValueError: Exception encountered when calling layer "sequential_4" (type Sequential).

Layer "flatten_2" expects 1 input(s), but it received 169 input tensors. Inputs received: [<tf.Tensor 'IteratorGetNext:0' shape=(None, 28) dtype=float32>, <tf.Tensor 'IteratorGetNext:1' shape=(None, 28) dtype=float32>, <tf.Tensor 'IteratorGetNext:2' shape=(None, 28) dtype=float32>, <tf.Tensor 'IteratorGetNext:3' shape=(None, 28) dtype=float32>, <tf.Tensor 'IteratorGetNext:4' shape=(None, 28) dtype=float32>, <tf.Tensor 'IteratorGetNext:5' shape=(None, 28) dtype=float32>, <tf.Tensor 'IteratorGetNext:6' shape=(None, 28) dtype=float32>, <tf.Tensor 'IteratorGetNext:7' shape=(None, 28) dtype=float32>, <tf.Tensor 'IteratorGetNext:8' shape=(None, 28) dtype=float3...

model.fit((提供了一个数组列表作为输入。当一个模型有多个输入时,数组列表通常会传递给fit((。在这种情况下,fit((方法将每个数组视为输入,从而导致错误。

请按如下方式将数据转换为张量,然后重试。

x_train=tf.convert_to_tensor(x_train) 

完整的代码请参考要点。非常感谢。

最新更新