2017-02-22 22 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. По умолчанию используется значение image_dim_ordering, найденное в вашем конфигурационном файле Keras, в файле ~/.keras/keras.json , Если вы никогда не установили его, это будет «tf».

Таким образом, ваш input_shape похож на theanano, и ваш результат выглядит так, как ваш backend-тензор. Если вы хотите использовать его, как это, изменить convolution2D слой:

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

или изменить изображения, так что форма вход (256,256,3).

Ваш вопрос формулировки на самом деле не ясен, вы не даете много информации, и дисплей довольно агрессивный кстати.

+0

большое спасибо. это мой первый раз обратиться за помощью к другим на этом сайте. Извините, что я был inpolite :) – lvzhou0991

+0

Все в порядке, просто попробуйте прочитать всю информацию на веб-сайте о том, как отформатировать ваши вопросы. Воодушевитесь высоко разрешенными вопросами;), и если вы нашли ответ полезным, вы можете закрыть его, приняв ответ. –

+0

Я отредактировал ваш вопрос. Но для вашей информации, в вашем названии, программы редко дают неправильный ответ, это дает то, что было написано, чтобы дать. Если результат не соответствует ожидаемому, возможно, вы не используете его правильно. –