Deep learning 有线电视新闻网中的频道最大化
我需要减少CNN网络的频道数量。我的输入是一个4D对象(样本、行、列、通道)。通道数为3,我的训练输出只有一个通道。在训练期间,是否有在通道方向上进行最大池的方法Deep learning 有线电视新闻网中的频道最大化,deep-learning,keras-layer,max-pooling,Deep Learning,Keras Layer,Max Pooling,我需要减少CNN网络的频道数量。我的输入是一个4D对象(样本、行、列、通道)。通道数为3,我的训练输出只有一个通道。在训练期间,是否有在通道方向上进行最大池的方法 提前感谢您可以按照几个选项进行操作,对通道求和,选择最大通道,制作标准RGB到B&W trasform,等等 所有这些都可以在Lambda层中实现,并具有定义的功能: import keras.backend as K def channelPool(x): return K.sum(x,axis=-1) #or
提前感谢您可以按照几个选项进行操作,对通道求和,选择最大通道,制作标准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,:,:]
您可以按照几个选项进行操作,对通道求和,取最大通道,制作标准RGB到B&W变换器,等等
所有这些都可以在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,:,:]
到目前为止你都在尝试什么?这听起来像是图像处理领域中典型的分色输入。你想做什么,一个典型的以图像为导向的CNN还没有做到?现有模型没有处理第一个CONV层之后的信道数量;实际上,它们的输入量是原来的3倍。到目前为止你都在尝试什么?这听起来像是图像处理领域中典型的分色输入。你想做什么,一个典型的以图像为导向的CNN还没有做到?现有模型没有处理第一个CONV层之后的信道数量;它们实际上只是输入量的3倍。