目前,我有一个只有一个频道的输入张量。我正在试图弄清楚如何添加其他渠道。
例如,假设当前输入的8x8通道是 -
01, 02,...08,
09, 10,...16,
.
.
57, 58,...64
我想添加另外两个8x8的通道(用零填充) -
0, 0,...0,
0, 0,...0,
.
.
0, 0,...0
我当前的代码(接受大小为64的列表并重新整形为1个频道的8x8) -
x = tf.placeholder(tf.float32, shape=[None, 64])
x_image = tf.reshape(x, [-1, 8, 8, 1])
input = [1, 2, ...64] #list of 64 items
train_step_policy.run(feed_dict={x: [input], y: [some output list]}, session= sess)
要再添加2个频道,我已将代码更改为 -
x = tf.placeholder(tf.float32, shape=[None, 64*3])
x_image = tf.reshape(x, [-1, 8, 8, 3])
input = [1, 2, ...64] #list of 64 items
#Inserted 2 more items after each item in the input list
temp = [0*64]
inputchannel3 = [[]]
for b1 in input:
del temp[:]
for b2 in b1:
temp += [b2] + [0] + [0]
inputchannel3.append(temp)
train_step_policy.run(feed_dict={x: inputchannel3, y: [some output list]}, session= sess)
inputchannel3
看起来像 - [1, 0, 0, 2, 0, 0, ...64, 0, 0]
我的问题是 - 这是添加新频道的正确方法吗?
我之所以这么说是因为我不清楚tf.reshape
将如何重塑这个问题。是否知道每3个项目(而不是3个连续项目)创建3个频道?
答案 0 :(得分:1)
你的问题是:
这是添加新频道的正确方法吗?
对此的简短回答是:是的,干得好!
了解此功能的最佳方法是查看文档:{{3}} 如果你有彩色图像和RGBRGBRGBRGB阵列(所以通道1,2,3,1,2,3等),这就是告诉tensorflow创建三个通道的方法!
如你所述:
inputchannel3看起来像 - [1,0,0,2,0,0,... 64,0,0]
我认为你做的一切都是正确的:D
希望这有帮助!