gpt4 book ai didi

python - 在 tensorflow 中将 bool 张量转换为二进制

转载 作者:行者123 更新时间:2023-12-05 04:49:47 25 4
gpt4 key购买 nike

我有一个 bool 张量,我想转换为 1 和 0 的二进制张量。

放在上下文中——我有以下张量

[[ True False  True]
[False True False]
[ True False True]]

我需要将其转换为 1 和 0,这样我就可以将元素与值张量相乘,即:

[[1.         0.64082676 0.90568966]
[0.64082676 1. 0.37999165]
[0.90568966 0.37999165 1. ]]

这两个功能我都试过了

   masks = tf.map_fn(logical, masks, dtype=tf.float32)
masks = tf.vectorized_map(logical, masks)

@tf.function
def logical(x):
if tf.equal(x, True):
return zero
return one

但不幸的是没有运气。我还尝试直接与 bool 张量相乘,但这是不允许的。

那么关于如何解决这个问题有什么指导吗?

最佳答案

我想我用这个和一些魔法解决了它。让惩罚成为值(value)张量

test = tf.where(masks, penalties * 0.0, penalties * 1.0)

关于python - 在 tensorflow 中将 bool 张量转换为二进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67474308/

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