【问题标题】:python keras Convolution2D layer works not correctly and gets a wrong resultpython keras Convolution2D 层工作不正确并得到错误的结果
【发布时间】:2017-07-11 22:49:38
【问题描述】:
from keras.models import Sequential
from keras.layers import Convolution2D
model = Sequential()
model.add(Convolution2D(64, 3, 3, border_mode='same', input_shape=(3, 256, 256)))

This example 说:

现在model.output_shape == (None, 64, 256, 256)

但是在我的控制台中,我得到了结果model.output_shape == (None, 3, 256, 64) 我相信肯定有其他人得到了同样的错误结果,有人解决了这个问题吗?

【问题讨论】:

    标签: python keras-layer


    【解决方案1】:

    同样的link you give 说:

    dim_ordering: 'th' 或 'tf'。在“th”模式下,通道维度(深度)位于索引 1,在“tf”模式下,它位于索引 3。它默认为在 ~/.keras/keras.json 的 Keras 配置文件中找到的 image_dim_ordering 值.如果您从未设置它,那么它将是“tf”。

    所以你的 input_shape 就像 theano 的,你的输出看起来像你的后端是 tensorflow。如果您想这样使用它,请将您的 convolution2D 层更改为:

    model.add(Convolution2D(64, 3, 3, border_mode='same', input_shape=(3, 256, 256), dim_ordering='th'))
    

    或更改您的图像,使输入形状为(256,256,3)

    你的问题表述不是很清楚,你没有提供太多信息,顺便说一句,显示非常激进。

    【讨论】:

    • 非常感谢。这是我第一次在这个网站上寻求其他人的帮助。很抱歉没有礼貌:)
    • 没关系,请尝试阅读网站上有关如何格式化您的问题的所有信息。从投票率很高的问题中获得灵感;)如果您发现答案有用,您可以通过接受答案来关闭它。
    • 我已经编辑了你的问题。但是对于您的信息,在您的标题中,程序很少给出错误的答案,它给出了它所写的内容。如果结果不符合您的预期,可能是您没有正确使用它。
    • 非常感谢。下次我会做得更好。我正在尝试将此工具用于一些简单的应用程序。代码可读性很强,也可以学习很多编程技巧。再次感谢~~
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-25
    • 2017-05-25
    • 2017-04-10
    • 2015-09-15
    • 1970-01-01
    • 1970-01-01
    • 2011-09-19
    相关资源
    最近更新 更多