python - reshape Keras 层

标签 python neural-network keras artificial-intelligence conv-neural-network

我有一个 416x416 的输入图像。如何创建 4 x 10 的输出,其中 4 是列数,10 是行数?

我的标签数据是 4 列 10 行的二维数组。

我知道 reshape() 方法,但它要求生成的形状具有与输入相同数量的元素。

使用 416 x 416 输入大小和最大池层,我可以获得最大 13 x 13 输出。

有没有办法在不丢失数据的情况下实现4x10输出?

我的输入标签数据看起来像例如

[[  0   0   0   0]
 [  0   0   0   0]
 [  0   0   0   0]
 [  0   0   0   0]
 [  0   0   0   0]
 [  0   0   0   0]
 [  0   0   0   0]
 [116  16 128  51]
 [132  16 149  52]
 [ 68  31  77  88]
 [ 79  34  96  92]
 [126  37 147 112]
 [100  41 126 116]]

这表示我的图像上有 6 个我想要检测的对象,第一个值是 xmin,第二个值是 ymin,第三个值是 xmax,第四个值是 ymax。

我网络的最后一层看起来像

(None, 13, 13, 1024)

最佳答案

首先展平(None, 13, 13, 1024)

model.add(Flatten())

它将给出 13*13*1024=173056

一维张量

然后添加一个密集层

model.add(Dense(4*10)) 它将输出到 40

这会将您的 3D 形状转换为 1D

然后根据您的需要简单地调整大小

model.add( reshape (4,10))

这可行,但绝对会破坏数据的空间特性

关于python - reshape Keras 层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49628739/

相关文章:

python - 如何以字符串格式编写多行函数?

python - 使用 Python 自动下载嵌入式 PDF 文件

java - 将神经网络应用于学生考勤系统

tensorflow - 将 ResNeXt 导入 Keras

python - 为什么 Keras 不需要自定义损失函数的梯度?

python - 如何验证列表 :string fields with web2py?

Python simples3 listdir 将输出限制为 1000 个文件?

python - 创建神经网络

neural-network - 神经网络中的大权重值

machine-learning - Keras - 如何使用 KerasRegressor 执行预测?