You need to enable JavaScript to run this app. 如何将tf.data.Dataset生成的字典元组展平合并为单个字典?
优惠活动
大模型
产品
解决方案
定价
更多

如何将tf.data.Dataset生成的字典元组展平合并为单个字典?

解决方案

你可以在tf.data.Dataset.from_tensor_slices调用后链式调用map方法,对每个元组元素做字典合并即可,不需要修改原有创建数据集的逻辑,代码示例如下:

features = {'input_ids': some.tf.tensor, 'input_mask': some.tf.tensor, 'segment_ids': some.tf.tensor}

# 原有创建数据集的代码无需修改
support_dataset = tf.data.Dataset.from_tensor_slices((features, dataset["labels"]))

# 新增一行map操作即可完成元组解包合并
support_dataset = support_dataset.map(lambda feat_dict, label: {
    **feat_dict,
    "labels": label
})

逻辑说明

  • 原有from_tensor_slices返回的数据集每个元素是(特征字典, 标签张量)格式的元组
  • map操作会逐元素处理元组:先解包原有特征字典的所有键值对,再新增labels键对应标签张量,最终返回合并后的单个字典
  • 该操作基于TensorFlow图模式执行,不会引入额外性能损耗,完全兼容后续batch、shuffle、prefetch等常用数据集操作。

处理后你可以直接通过element['input_ids']、element['labels']的方式访问对应字段。

内容的提问来源于stack exchange,提问作者skidjoe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 00:12:04