-1
我需要减少CNN网络中的通道数量。我的输入是一个4D对象(样本,行,列,通道)。通道数量是3,我的训练输出只有一个通道。无论如何,在训练期间在频道方向做最大限度的汇集?CNN中通道的最大流量
在此先感谢
我需要减少CNN网络中的通道数量。我的输入是一个4D对象(样本,行,列,通道)。通道数量是3,我的训练输出只有一个通道。无论如何,在训练期间在频道方向做最大限度的汇集?CNN中通道的最大流量
在此先感谢
您可以按照几个选项,总结渠道,采取最大通道,做一个标准的RGB到B &W¯¯trasform等
他们都是可行的内Lambda
层,用定义的函数:
import keras.backend as K
def channelPool(x):
return K.sum(x,axis=-1)
#or
return K.mean(x,axis=-1)
#or
return K.max(x,axis=-1)
#or
return (.21*x[:,:,:,:1]) + (0.72*x[:,:,:,1:2]) + (0.07*x[:,:,:,-1:])
的层将是:
Lambda(channelPool, output_shape=optionalInTensorflow)
PS:如果您使用的是“channels_first”,则坐标轴将为1
,变换将采用x[:,channel,:,:]
。
你到现在为止的尝试? – timiTao
这听起来像是图像处理领域中典型的以颜色分隔的输入。你想做什么,典型的面向图像的CNN还没有做到这一点?现有模型不处理第一个CONV层之后的通道数量;他们实际上只有3倍的投入。 – Prune