Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.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
Python 在处理高光谱图像时,3D-CNN输入的第五维度应该是什么?_Python_Keras_Conv Neural Network - Fatal编程技术网

Python 在处理高光谱图像时,3D-CNN输入的第五维度应该是什么?

Python 在处理高光谱图像时,3D-CNN输入的第五维度应该是什么?,python,keras,conv-neural-network,Python,Keras,Conv Neural Network,我有一张高光谱图像,其尺寸S*S*L,其中S*S是空间大小,L表示光谱带的数量 现在,我的X(图像数组)的形状是:(1,145,145,200),其中1是示例数,145是图像的长度和宽度,200是图像的通道数 我想将这个图像的小窗口(具有类似于W*W*L;W

我有一张高光谱图像,其尺寸
S*S*L
,其中
S*S
是空间大小,
L
表示光谱带的数量

现在,我的X(图像数组)的形状是:
(1,145,145,200)
,其中1是示例数,145是图像的长度和宽度,200是图像的通道数

我想将这个图像的小窗口(具有类似于
W*W*L
;W(批次、长度、宽度、深度、通道)

在我看来,我缺少了一个空间维度,如何在不丢失任何信息的情况下将图像数组转换为5维数组


我在上面使用python和Keras。

如果您想沿着通道的维度进行卷积,您应该在通道的位置添加一个单例维度。如果你不想沿着频道的维度卷积,你应该使用2D CNN。

你想要的是2D CNN,而不是3D CNN。2D CNN已经支持多个通道,因此在高光谱图像中使用它应该不会有问题。

通过添加单个维度,您的意思是将其重塑为
(11145145200,1)
。是的,或者您可以使用
tf.expand_dims(X,axis=4)
。不,实际上我正在尝试实现一篇研究论文,因此,我特别希望使用3D CNN来实现这一点,因为根据论文,它有一些优势。因此,我想实现建议的方法,看看它是如何工作的!我已经按照你的建议用2D CNN做过一次了。@gopalkrizna到底是什么报纸?这篇文章可能提到了3D卷积,但实际上它和Keras的2D卷积是一样的。