2017-02-22 65 views
-1
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說:蟒蛇keras Convolution2D層工作不正常,並得到一個錯誤的結果

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

然而,在我的控制檯

,我得到了reult model.output_shape == (None, 3, 256, 64) 相信必有被別人得到相同的錯誤結果,有人解決了這個問題嗎?

回答

0

相同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)

你的問題的提法並不十分清楚,你不會提供太多的信息,而且顯示的是相當侵略性的btw。

+0

非常感謝。這是我第一次在這個網站上尋求他人的幫助。所以對不起,是inpolite :) – lvzhou0991

+0

這是正常的,只是嘗試閱讀網站上有關如何格式化您的問題的所有信息。從高度投票的問題中獲取靈感;)如果您發現答案有用,您可以通過接受答案來關閉答案。 –

+0

我編輯了你的問題。但是,對於你的信息,在你的標題中,程序很少會給出錯誤的答案,它會給出它寫的內容。如果結果不符合您的預期,可能是您沒有正確使用它。 –