我可以从Keras文档中看到,拟合方法的第一个参数可以是:1.数字数组1.一个tf.data.数据集如果使用数据集,则不使用第二个参数(y)。第一种方法非常清楚:我明确地指出了输入和标签。我在理解第二种方式时遇到了麻烦,tensorflow 如何理解哪个“字段”是标签,哪个字段是输入。我在许多例子中看到,map函数可以接受返回元组(input,label)的函数,但也可以只使用返回值。创建数据集时,是否有方法(例如使用from_tensor_slices)正确指示标注的位置?非常感谢
mzsu5hc01#
从技术上讲,这取决于模型,Keras模型有一个train_step方法,它接受一个单一的输入data(一个批次),并运行一个训练步骤(计算输出,计算损失,计算和应用梯度,计算指标)。
train_step
data
x, y = data
其中x用作输入,y用作目标。这意味着数据集应返回相同的格式:每个批处理都应该是一个元组(input, target)。您可以通过创建如下数据集来实现这一点:
x
y
(input, target)
data = tf.data.Dataset.from_tensor_slices((inputs, labels))
1条答案
按热度按时间mzsu5hc01#
从技术上讲,这取决于模型,Keras模型有一个
train_step
方法,它接受一个单一的输入data
(一个批次),并运行一个训练步骤(计算输出,计算损失,计算和应用梯度,计算指标)。其中
x
用作输入,y
用作目标。这意味着数据集应返回相同的格式:每个批处理都应该是一个元组
(input, target)
。您可以通过创建如下数据集来实现这一点: