【问题标题】:How do I merge TensorFlow Dataset columns into (features, label) tuple for Keras?如何将 TensorFlow 数据集列合并到 Keras 的(特征、标签)元组中?
【发布时间】:2020-04-21 20:33:36
【问题描述】:

我有一个 tf.data.Dataset 包含多个字段(例如 feature1、feature2、feature3、label)。如何将其转换为带有(特征、标签)的Tensor,我可以将其传递给Keras 进行模型训练?

更新

tf.data.Dataset 是一个类似的字典:

{
    'feature1': 1.5,
    'feature2': 5.6,
    'feature3': 7.9,
    'label': 1.0
}

预期的Keras 输入格式是带有两个张量(features_tensor, label_tensor)tuple

【问题讨论】:

  • 你能提供更多细节吗?请提供一些最小的可重现代码,以便我们理解您所说的“(例如 feature1、feature2、feature3、label)”是什么意思。
  • 所以事情是这样的......围绕这个有很多自定义的专有基础设施......
  • 要明确:这是您要转换的 tf.data.dataset 对象的一个​​元素,还是 Python 字典列表中的一个元素?
  • tf.data.dataset的一个元素

标签: tensorflow keras tensorflow2.0 tensor tensorflow-datasets


【解决方案1】:

您可以定义一个函数,该函数可以获取字典元素并将数据作为所需格式的元组返回。然后,您可以使用tf.data.Dataset.map 方法将其应用于您的数据集:

def reformat_element(elem):
    features = [elem['feature1'], elem['feature2'], elem['feature3']]
    label = [elem['label']]
    return features, label

dataset = dataset.map(reformat_element) 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-03
    • 2023-02-07
    • 2019-10-26
    • 1970-01-01
    • 2018-10-31
    • 2021-03-18
    相关资源
    最近更新 更多