You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TensorFlow 2.9.1中按条件创建新Tensor E的最优方法咨询

TensorFlow 2.9.1 条件生成张量E的最优实现

你写的代码存在逻辑问题:第一次赋值E = C[A <= B]只是提取了C中满足A<=B的元素,得到的是长度不确定的张量;第二次赋值直接将E替换为D中满足A>B的元素,最终E仅保留了D的部分元素,完全不符合需求。

使用tf.where()是最优解法,它能根据布尔条件张量,从两个输入张量的对应位置选取元素,完美匹配你的需求:

# 直接将条件表达式作为第一个参数,写法更简洁
E = tf.where(A <= B, C, D)

如果需要显式定义条件张量,也可以这样写:

condition = tf.less_equal(A, B)  # 生成与A同形状的布尔张量
E = tf.where(condition, C, D)

生成的E会和A、B、C、D保持相同的(5,)形状,每个位置的值会根据A<=B的判断结果,对应取C或D的元素。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 23:50:32