python - 为什么来自keras的CNN权重只是一维的?

标签 python deep-learning keras

我使用 keras 构建了一个 CNN,并将权重保存在 *.hdf 文件中。我使用了 16 过滤器,内核的大小是 3×3。 但是第一个 Convolution2Dsave_weight 输出仅为 1×16。内核的大小是3×3,所以输出应该是3×3×16,不是吗?为什么输出会这样?

这是*.hdf文件结构的截图:

最佳答案

你是对的:如果你使用大小为 3x316 过滤器,你将看到 16x3x6 权重。当我打开来自 hereVGG16 网络的 *.h5 文件时使用免费的 HDFView 工具,卷积具有以下权重:

32-bit floating-point, 64 x 3 x 3 x 3

32-bit floating-point 64

对于这一层

Convolution2D(64, 3, 3, activation='relu')

因此,我认为您使用的 HDF Explorer 有误(这就是我要求提供更多屏幕截图的原因)。请尝试在引用的要点中打开网络文件,并使用您的工具检查是否看到具有相同尺寸的权重。

关于python - 为什么来自keras的CNN权重只是一维的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46056532/

相关文章:

python - CNN架构: classifying "good" and "bad" images

nlp - CBOW VS跳过-gram : why invert context and target words?

python - flask 应用程序通过 Uwsgi 和 Nginx 给出 504 超时?

python - POST 请求始终返回 "Disallowed Key Characters"

python - 在 Mac 上用 python 解析 .olk15Message 文件

deep-learning - 在不平衡数据集上的多个对象上训练 YOLO(对象检测)?

python - Keras > 在具有不同 python 版本的不同机器上使用经过训练的模型

keras - 与Keras和LSTM/GRU单元一起使用Dropout

python - list.append(foo) 可以不是线程安全的吗?

Python读取多层PSD?