我试图弄清楚如何用两个大小不同的输入构建神经网络。
一个3D灰度体积
一张2D彩色图片
我认为这应该是tf中的样子:
# Shape of 3D input [height, width, depth, channels]
input_1 = tf.placeholder(tf.float32, [height, width, depth, 1])
# Shape of 2D input [height, width, channels]
input_2 = tf.placeholder(tf.float32, [height, width, 3])
这些占位符不能合并在一起以用作网络的输入,因为它们的形状不同。
我看到将这2个输入合并为1的唯一方法是将体积的灰度切片附加到彩色图片的3个通道中。但是,我怀疑这在实际训练网络时是否会带来良好的结果:我想具有2个损失函数,每个输入一个。
# Shape of 3D input [height, width, depth, channels]
input_1 = [ tf.placeholder(tf.float32, [height, width, 1]) for i in range(0, depth) ]
# Shape of 2D input [height, width, channels]
input_1.append([tf.placeholder(tf.float32, [height, width, 1]) for i in range(0,3)])
input_1 = tf.stack(input_1, axis=-1)
我应该如何构造输入以解决此问题?