Skip to main content
 首页 » 编程设计

python之如何在 tensorflow 中将我的三个 2D 张量组合成一个 3D 张量

2025年05月04日27jiqing9006

你好,我是 tensorflow 的新手,目前,我正在处理彩色图像,它是 PCAS。

我以“红色”、“绿色”和“蓝色”的形式提取了 PCAS,还计算了与“红色”、“绿色”和“蓝色”组件相关的权重。

完成上述所有操作后,我想将所有三个 2D 矩阵组合成一个 3D 矩阵。

对于 tensorflow ,它将是 3D 张量。

def multi(h0,ppca,mu,i,scope=None):

with tf.variable_scope(scope or"multi"): 
        return tf.matmul(ppca[:,:,0],h0[i,:,:,0]) + tf.reshape(mu[:,0],[4096,1]) , tf.matmul(ppca[:,:,1],h0[i,:,:,1]) + tf.reshape(mu[:,1],[4096,1]) ,tf.matmul(ppca[:,:,2],h0[i,:,:,2]) + tf.reshape(mu[:,2],[4096,1])  

所以从上面的函数中,我将得到所有三个不同的 2D 张量,并想将这些 2D 张量组合成维度为 [4096,1,3] 的单个 3D 张量

我该怎么做? 非常感谢任何帮助。

请您参考如下方法:

你需要像这样连接它们:

three_d_image = tf.concat(0, [[r], [g], [b]]) 

这告诉 tensorflow 沿 x 维度连接它们并将每个张量视为矩阵。

在 r、g、b 张量周围没有附加括号的情况下执行相同的操作将尝试将它们连接到一个大的二维矩阵