keras 使用.fit(x_train,y_train,[...])和.fit(train_dataset,[...])调用.fit()方法的区别

uklbhaso  于 2023-02-04  发布在  其他
关注(0)|答案(1)|浏览(200)

我可以从Keras文档中看到,拟合方法的第一个参数可以是:
1.数字数组
1.一个tf.data.数据集
如果使用数据集,则不使用第二个参数(y)。
第一种方法非常清楚:我明确地指出了输入和标签。我在理解第二种方式时遇到了麻烦,tensorflow 如何理解哪个“字段”是标签,哪个字段是输入。我在许多例子中看到,map函数可以接受返回元组(input,label)的函数,但也可以只使用返回值。
创建数据集时,是否有方法(例如使用from_tensor_slices)正确指示标注的位置?非常感谢

mzsu5hc0

mzsu5hc01#

从技术上讲,这取决于模型,Keras模型有一个train_step方法,它接受一个单一的输入data(一个批次),并运行一个训练步骤(计算输出,计算损失,计算和应用梯度,计算指标)。

x, y = data

其中x用作输入,y用作目标。
这意味着数据集应返回相同的格式:每个批处理都应该是一个元组(input, target)。您可以通过创建如下数据集来实现这一点:

data = tf.data.Dataset.from_tensor_slices((inputs, labels))

相关问题