gpt4 book ai didi

python - 如何使用 tf.case 转换 tensorflow 中的一组值?

转载 作者:行者123 更新时间:2023-12-01 01:57:34 26 4
gpt4 key购买 nike

我有以下代码:

conversion_dictionary = {1: 2, 2: 5, 3: 4, 4: 4}
converted_vals= [conversion_dictionary[label] for label in labels]

它将标签从一组值转换为另一组值。我想使用张量做同样的事情,但我知道张量是不可迭代的,所以我得到以下代码的不可迭代错误

labels = tf.constant([1, 1, 2, 4, 3, 1])
conversion_dictionary = {1: 2, 2: 5, 3: 4, 4: 4}
converted_vals = [conversion_dictionary[label] for label in labels]
print(tf.eval(converted_vals))

我发现tf.case函数可能适合这里,但我不知道如何使用它。

所以我的问题是 - 如何在 tensorflow 中的值集之间进行转换?

最佳答案

另一种可能适合您的特定用例(连续范围的uint标签)的方法,将您的字典转换为向量(字典键➜向量索引):

conversion_vector = [conversion_dictionary[i + 1] for i in range(len(conversion_dictionary))]
conversion_vector = tf.constant(conversion_vector, dtype=tf.int32)

converted_vals = tf.gather(conversion_vector, (labels - 1))

(注意: i + 1labels - 1 是为了补偿从 1 开始的标签,而不是0)

关于python - 如何使用 tf.case 转换 tensorflow 中的一组值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49994942/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com