【发布时间】:2019-01-30 21:01:35
【问题描述】:
我有两个张量,A 和 B,每个都是 Nx3。我还有一个布尔张量 C = Nx1。我想使用这个布尔值按照 C 的值合并 A 和 B。例如:
A = [[ a1, a2, a3],
[ a4, a5, a6],
[ a7, a8, a9]]
B = [[ b1, b2, b3],
[ b4, b5, b6],
[ b7, b8, b9]]
C = [True, True, False]
我想要的是得到这样的东西:
D = [[[ a1, a2, a3],
[ b1, b2, b3]],
[[ a4, a5, a6],
[ b4, b5, b6]],
[[ b7, b8, b9],
[ a7, a8, a9]]]
如您所见,两个张量都已合并,行先行的顺序由 C 的值决定。
两个Nx3张量A和B通过合并原始张量的行合并成一个D = Nx2x3张量。它们添加到 Nx2x3 张量的顺序取决于布尔张量 C,即
如果 C[i] = True,则 D[i,0,:] = A[i,:] 并且 D[i, 1, :] = B[i, :]。如果 C[i] = False,则 D[i, 0, :] = B[i, :] 和 D[i, 1, :] = A[i, :]
我确信有一个简单的方法可以解决这个问题,但我无法弄清楚。
【问题讨论】:
-
您能进一步解释一下吗?
-
我正在通过合并原始张量的行将两个 Nx3 张量 A 和 B 合并为一个 D = Nx2x3 张量。它们添加到 Nx2x3 张量的顺序取决于布尔张量 C,即如果 C[i] = True、D[i,0,:] = A[i,:] 和 D[i, 1, : ] = B[i, :]。如果 C[i] = False,则 D[i, 0, :] = B[i, :] 和 D[i, 1, :] = A[i, :]
-
添加您的详细信息以更清楚。
标签: python-3.x sorting tensorflow merge