你好,我是 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 张量周围没有附加括号的情况下执行相同的操作将尝试将它们连接到一个大的二维矩阵
