Kerasをバージョンアップしたら、それまで動いていたコードが動かなくなりました。以前使っていたKerasのバージョンは 0.8.0 とかで、現在の最新は 1.1.1 です。
image_dim_orderingが変更(バックエンドが変更)になっていたので、このコメントに書いたように、コードを変更すれば動くはずです。
ところが、複数ある環境のうち、モデルのコンパイルがうまくいく環境とそうじゃない環境があり、私にとっては、しばらく謎の現象でした。
ようやく分かった原因は、~/.keras/keras.json ファイルでした。
古いバージョンからバージョンアップした場合は、keras.jsonファイルは書き換えられず
"image_dim_ordering": "th",
のままになっていました。
これを
"image_dim_ordering": "tf",
に変更することで、モデルのコンパイルがうまくいくようになりました。
これまではどうしていたかというと、以下のコードを追加してました。
from keras import backend as K
K.set_image_dim_ordering('tf')
環境ごとに異なっていた Keras動作違いの原因が分かってスッキリしました。
# TheanoとTensorflowを切り替えたりする人は面倒ですね。