【问题标题】:How to flatten a casted tuple of dictionaries into one dictionary?如何将字典的铸造元组展平到一个字典中?
【发布时间】:2021-07-29 08:47:46
【问题描述】:

我有以下函数,它通过将两个单独的字典创建一个元组来创建一个数据集。例如:

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

support_dataset = tf.data.Dataset.from_tensor_slices((features, dataset["labels"]))

它的作用是将两个切片的连接转换为一个元组:

support_dataset = ({'input_ids': ..., 'input_mask': ..., 'segment_ids': ...}, {'labels': ...}) 

我想要的是一个字典,而不是一个元组 {'input_ids': ..., 'input_mask': ..., 'segment_ids': ..., 'labels': ...},所以我可以通过它们的名字来查找键。我不认为我可以放开 tf.data.Dataset.from_tensor_slices((features, dataset["labels"])) 函数,所以他们是在函数内部转换元组时解包元组的一种方法吗?

【问题讨论】:

    标签: python tensorflow dictionary tuples tensorflow-datasets


    【解决方案1】:

    可以使用dictionaryupdate()方法。

    features = {'input_ids': some.tf.tensor, 'input_mask': some.tf.tensor, 'segment_ids': some.tf.tensor}
    dict2 = {'labels': some.tf.tensor}
    features.update(dict2)
    
    features
    {'input_ids': some.tf.tensor, 'input_mask': some.tf.tensor, 'segment_ids': some.tf.tensor, 'labels': some.tf.tensor}
    

    【讨论】:

      【解决方案2】:

      尝试创建这样的函数:

      def merge_dico(d1,d2): for key, val in d1.items(): d2[key] = val return d2

      【讨论】:

        猜你喜欢
        • 2016-06-26
        • 2020-09-21
        • 2021-03-14
        • 1970-01-01
        • 1970-01-01
        • 2017-09-17
        • 1970-01-01
        • 1970-01-01
        • 2020-11-13
        相关资源
        最近更新 更多