对预期的conv3dlayer输入大小感到困惑

7次观看(最近30天)
马特
马特 2021年9月14日
回答: Srivardhan Gadila 2021年10月7日
你好!
我正在尝试使用一系列Conv3D层来减少数据的第三维,同时保持它们之间的空间信息。我一直在使用Deep Network Designer,并附上了一些有关此处发生的事情的图片。这些图片在浏览器上很大,因此我已经附加了它们,而不是将它们张贴到文本框上。
我有一个16x16x480阵列,我想最终将其简化为16x16x1。我打算做的是使用一系列的3D卷积,步骤为1,1,2来维持16x16的部分,同时每次迭代将第三个维度减半。。我读了卷积3Dlayer的文档,并说该层采用3D输入,但是文档页面上的示例使用了28x28x28x3输入-4个尺寸。
因此,我不确定在这里该怎么做,而HTE文档似乎是自相矛盾的。
有谁知道我如何使用卷积3Dlayers正确地进行正确的操作?而且,如果这些不是在保留其中一些数据的同时在第三维中薄层薄层的适当方法,那么我还可以使用哪些其他方法?
谢谢!

接受的答案

Srivardhan Gadila
Srivardhan Gadila 2021年10月7日
在您提到的16x16x480数据中,480对应于通道尺寸,因此,输入被视为具有480个通道的2D图像输入,其中16和16被视为图像的高度和宽度(就像它在此处所述一样错误本身“ relu_8_16”(尺寸16(s)x 16(s)x 480(c)x 1(b))。请参阅文档 Dlarray数据格式 要了解有关不同维度深度学习工具箱支持的更多信息(请注意,我已经用自定义培训循环指出了该文档的深度学习页面,只是为了提供与深度金宝app学习工具箱中不同数据格式相关的信息)。
28x28x28x3数据也是如此,其中应将28,28,28视为高度,宽度,深度和3,应视为通道维度。
为了 卷积3Dlayer 要工作,输入应为3D输入(输入层为 Image3Dinputlayer ),这意味着输入应为一个4D阵列,其最后一个尺寸对应于通道尺寸,即16(s)x16(s)x480(s)x1(c)或16(s)x16(s)x1(s)x1(s)x480(c)。
在这种情况下,由于您想将16(s)x16(s)x480(c)数据减少到16(s)x16(s)x1(c),因此您必须使用 卷积2Dlayer 可以定义类似于:(根据您的用例更新图层参数)
卷积2Dlayer([A B],1,“大步”,[c d],'填充',,,,'相同的'

更多答案(0)

下载188bet金宝搏


发布

R2021A

社区寻宝

在Matlab Central中找到宝藏,发现社区如何为您提供帮助!

开始狩猎!