Python 我可以把几个不同的图像作为频道吗?

Python 我可以把几个不同的图像作为频道吗?,python,machine-learning,tensorflow,conv-neural-network,Python,Machine Learning,Tensorflow,Conv Neural Network,通常,我们设置输入图像的“高度”、“宽度”和“通道” 在“通道”中,我们为灰度图片设置1,为RGB图片设置3 我的问题是,使用这个频道的图片应该是相同的吗?就像上面提到的 或者我可以将一系列图像设置为频道 (例如,我有10个图像在一个时刻离散在空间中,因此我将通道10设置为一个输入) 会有什么问题吗?这样做对吗 或者我应该为这10个图像设置10个输入 谢谢你的回答 不,不一样,因为输入层通道的数量决定卷积滤波器的形状,因此参数的数量以及它们的应用方式 比较这两个卷积网络: [32x32x3x3

通常,我们设置输入图像的“高度”、“宽度”和“通道”

在“通道”中,我们为灰度图片设置1,为RGB图片设置3

我的问题是,使用这个频道的图片应该是相同的吗?就像上面提到的

或者我可以将一系列图像设置为频道

(例如,我有10个图像在一个时刻离散在空间中,因此我将通道10设置为一个输入)

会有什么问题吗?这样做对吗

或者我应该为这10个图像设置10个输入


谢谢你的回答

不,不一样,因为输入层通道的数量决定卷积滤波器的形状,因此参数的数量以及它们的应用方式

比较这两个卷积网络:

  • [32x32x3x3]
    输入形状,
    批次大小=5
    5x5
    感受野,然后conv层中的每个神经元将对输入体积中的
    [5x5x3]
    区域具有权重,总共为
    5*5*3=75
    权重(和+1个偏差参数)
  • [32x32x15]
    输入形状,
    batch_size=1
    ,相同的
    5x5
    感受野,然后每个神经元将有一个
    [5x5x15]
    区域的权重,总权重为
    5*5*15=325
    权重(和相同的+1偏差参数)
在这两种情况下,两个conv层可以看到15个RGB图像,但第二个网络将使用5倍多的参数来学习相同的数据,而第一个网络将为不同的图像重用相同的参数。还要注意,第二网络将具有用于每个第一图像、每个第二图像等的专用参数


显然,第一种方法更好,不仅因为它节省了资源,而且它对批量训练图像的顺序也保持不变。

谢谢您的回答!我能理解你说的话,我真的很感激。但仍有一些问题。现在,我的一系列图片“不一样”。这意味着我想让CNN为每幅图像获取功能。我的想法是,CNN将为每个频道中的每幅图像提供功能。所以我不需要10个输入,只需要使用10个通道作为1个输入。对吗?或者CNN不是这样工作的?谢谢你再次回答!我不确定我是否理解您的困惑,但conv layer对每个通道使用单独的过滤器“部分”,换句话说,它独立地从每个通道提取特征。因此,如果我想获得每个图像的完整信息,我应该将它们设置为不同的输入。将它们设置为频道可能会导致信息丢失。我理解对了吗?谢谢!如果您使用的是一小批图像,conv层将适应所有图像的每个R/G/B通道,并提取公共特征,这就是conv层的用途。你说的信息丢失是什么意思?嗯,可能是我的误解。让我用另一种方式再说一遍。假设这10幅图像来自A(图像不同),并且它们都是灰度级的。还有10张来自B的灰度图像。A和B都来自同一类别。然后我将A的图像设置为10个通道,B也设置为10个通道,并制作A和B的小批量。我将每个图像的10个输入设置为A和B,并使它们成为小批量,这是一样的吗?我的英语可能不够清楚,对此我很抱歉。