繁体   English   中英

是否可以在 Keras 中生成二维卷积层的一维 output?

Is it possible to generate an 1D dimensional output of a 2D convolutional layer in Keras?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在尝试应用卷积神经网络来处理 2D 输入,这是一个 2X300 矩阵。 它基本上是一个有 2 行的矩阵,其中每行是 300 个位置的向量。

我想申请一个尺寸为 2X1(两行一列)的 kernel。 这个想法是将 kernel 应用于两个向量的每个 position i 。 直觉上,我认为这个卷积操作会生成一个大小为 1X300 的 output。 也就是说,我认为 output 将是一个 300 列的一维向量。 我对吗?

我想包括一个这样的卷积层:

layers.Conv2D(10, kernel_size=(2, 1), activation="relu",name="conv1")

那讲得通? 这个层会生成一个300个位置的一维向量吗?

1 个回复

不,2D 卷积层的输入需要具有 3 个维度(通常是宽度、高度、通道)。 您正在寻找的是一维卷积层,它对一系列数据(通常是时间步长、通道)进行操作。 在您的情况下,通道是第一个维度,即每个步骤都考虑所有输入的维度,而您的第二个维度是步骤(在每个步骤上,卷积 kernel 被移动)。 这需要使用data_format关键字指定,因为'channels_last'将是 tensorflow/keras 的默认值。

model.add(Conv1D(1, kernel_size=(1,), data_format='channels_first', activation = 'relu', input_shape=(2, 300)))

这将为您提供形状(1,300)的 output 。 第一个参数是 output 通道的数量(在您的情况下为 1)。 kernel 大小为 1,因为您不考虑卷积其他步骤的样本,仅考虑两个通道(始终在所有通道上执行一维卷积)。 如果您选择更大的 kernel 大小,则可能需要padding='same'作为附加参数,以获得相同步数的 output。

1 Keras:在这种情况下我应该使用一维还是二维卷积层?

假设我们有一个包含 N 个标记实例的数据集,每个实例是一个 2 X M 的二维矩阵。也就是说,每个实例有两行,其中每一行是一个大小为 M(M 列)的向量。 我想构建一个 NN,其第一层执行卷积操作,kernel 有两行一列。 想法是将此 kernel 应用于输入矩阵的每一列,为每一列生成一个值作为 ...

2 input_shape在keras中的2D卷积层

在Keras的文档Convolution2D的input_shape一个128×128的RGB图像由下式给出input_shape=(3, 128, 128)因而我计算第一组分应该是平面(或特征的层)的数量。 如果我运行以下代码: 我得到一个(None, 3, 19, 4) out ...

4 Keras-张量流中二维卷积回归的恒定输出

我想尝试使用2D卷积神经网络作为回归器。 这就是我使用tensorflow中可用的mnist数据集的方法。 首先,我们加载mnist数据集。 现在,我们将所有整数标签替换为浮点数 我们可以建立模型 并编译它。 您还可以获取有关该模型的摘要 我们 ...

5 Keras output 层与二维矩阵

我目前正在尝试使用显示概率矩阵的分类数据,我最初尝试将机智数据格式训练为 这不是二维矩阵,但我将损失设置为: 所以我了解它是如何将标量值转换为一维数组列表的形式。 因为我目前有以下结果: 使用 5 个输入值,它将尝试分类为 5 个类别。 但是,我想要的更多的是 2D 矩阵: 但是,如果我将 Y 增加 ...

6 1D卷积自动编码器(Keras)中的填充问题

我正在尝试几个图上的卷积自动编码器。 但是,我遇到了解码信号零边缘的问题(图) 地面实况图(左)和解码图(右) 我认为这是由于填充。 在使用零填充时,滤波器在编码和解码时在边缘处产生较小的值。 因此,解码信号的边缘接近零。 有没有办法解决这个问题? 我可以减去信号的平均 ...

7 Keras自定义图层2D输入 - > 2D输出

我有一个2D输入(或3D,如果考虑样本的数量),我想应用一个keras层,将采取此输入并输出另一个2D矩阵。 因此,例如,如果我有一个大小(ExV)的输入,学习权重矩阵将是(SxE)和输出(SxV)。 我可以用密集层做到这一点吗? 编辑 (纳西姆请求): 第一层什么都不做。 它 ...

8 keras卷积层的输出形状误差

我正在keras中创建完全卷积网络。 我有一个简单的代码 我有模型摘要 我有相应的训练样本量 但我得到错误 我无法理解为什么它会使convolution2d_3具有形状(None,1,800,1),如果在model.summary中它是(None,1,800,1 ...

9 使用keras python输出卷积层

我需要了解CNN的帮助。 我不确定第一个CNN的输出。 我知道它超过了32个过滤器,内核大小为8x8,跨度为4x4。 我也知道有关计算宽度的公式: W =(W-F + 2P)/ S + 1 W =(80-8 + ??)/ 4 + 1 我不确定要在P上加上什么-这意味 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM