Python 3.x 使用tensorflow数据集和keras进行验证

Python 3.x 使用tensorflow数据集和keras进行验证,python-3.x,tensorflow,keras,Python 3.x,Tensorflow,Keras,我有两个数据集 dataset_train = tf.data.Dataset.from_tensor_slices(((x_train, mask_train), y_train)) dataset_dev = tf.data.Dataset.from_tensor_slices(((x_dev, mask_dev), y_dev)) 还有keras模型 model = tf.keras.Model(...) 我想在dataset\u train上安装模型,并在dataset\u de

我有两个数据集

dataset_train = tf.data.Dataset.from_tensor_slices(((x_train, mask_train), y_train))
dataset_dev   = tf.data.Dataset.from_tensor_slices(((x_dev, mask_dev), y_dev))
还有keras模型

model = tf.keras.Model(...)
我想在
dataset\u train
上安装
模型
,并在
dataset\u dev
上验证它

model.compile('adam', loss='mse', metrics=['accuracy'])

model.fit(x=dataset_train, 
          epochs=args.epoch_num, 
          steps_per_epoch=1, 
          validation_data=dataset_dev,
          validation_steps=1)
我得到以下错误:

ValueError: ('Error when checking model input: expected no data, but got:', (<tf.Tensor 'IteratorGetNext_1:0' shape=(?, 512, 64, 12) dtype=float64>, <tf.Tensor 'IteratorGetNext_1:1' shape=(?, 512, 64, 1) dtype=float64>))

知道我做错了什么吗?

您的培训和验证集的形状是什么?因为从错误来看,您可能有不同的形状((None,512,64,12)和(None,512,64,1)),序列集和验证集的形状是相同的。错误引用的是输入元组
(x\u dev,mask\u dev)
,其形状为
((None,512,64,12)和(None,512,64,1))
model.fit(x=dataset_train, 
          epochs=args.epoch_num, 
          steps_per_epoch=1)