Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为Tensorflow中的每个通道应用tf.map_fn_Tensorflow - Fatal编程技术网

如何为Tensorflow中的每个通道应用tf.map_fn

如何为Tensorflow中的每个通道应用tf.map_fn,tensorflow,Tensorflow,我需要将类似于tf.map_fn的smth应用于一批IMG的每个通道 (512, 32, 32, 3) 其中,最后一个dim对应于一个通道(rgb) e、 g 其中func(y)是应用于每个信道矩阵的函数,例如(512、32、32) 有什么办法吗 或者我可以这样做 for ch in range(3): cp = tf.copy(x[:,:,:,ch]) #TF does not have copy, it's just pseudo code cp = tf.reshape(x

我需要将类似于tf.map_fn的smth应用于一批IMG的每个通道 (512, 32, 32, 3) 其中,最后一个dim对应于一个通道(rgb) e、 g

其中
func(y)
是应用于每个信道矩阵的函数,例如(512、32、32)

有什么办法吗

或者我可以这样做

for ch in range(3):
   cp = tf.copy(x[:,:,:,ch])   #TF does not have copy, it's just pseudo code
   cp = tf.reshape(xp, [xp.shape[0], -1])
   out = func(cp)
   unsq = tf.reshape(out, [x.shape[0], 32, 32])
   [:,:,:,ch] = unsq
e、 g我需要对每个通道的展平图像应用func。 我完全不知道如何去完成它


谢谢

在调用
map\u fn
之前,只需转换尺寸即可:

x = tf.transpose(x, perm=[3,0,1,2]) # shape 3, 512, 32, 32
x = tf.map_fn(lambda channel: func(y), x)
x = tf.transpose(x, perm=[3,0,1,2]) # shape 3, 512, 32, 32
x = tf.map_fn(lambda channel: func(y), x)