Python 使用Tensorflow contrib路缘石时,导入桩号

Python 使用Tensorflow contrib路缘石时,导入桩号,python,tensorflow,keras,Python,Tensorflow,Keras,我有一堆使用Keras编写的代码,这些代码是作为单独的pip安装安装的,导入语句的编写方式类似于Keras.models import Sequential,等等 在一台新机器上,我安装了Tensorflow,它现在在contrib目录中包含Keras。为了保持版本的一致性,我认为最好使用contrib中的内容,而不是单独安装Keras,但是这会导致一些导入问题 我可以使用import tensorflow.contrib.Keras as Keras导入Keras,但从tensorflow.c

我有一堆使用Keras编写的代码,这些代码是作为单独的pip安装安装的,导入语句的编写方式类似于Keras.models import Sequential,等等

在一台新机器上,我安装了Tensorflow,它现在在contrib目录中包含Keras。为了保持版本的一致性,我认为最好使用contrib中的内容,而不是单独安装Keras,但是这会导致一些导入问题

我可以使用
import tensorflow.contrib.Keras as Keras
导入Keras,但从tensorflow.contrib.Keras.models导入顺序
执行类似的操作会给出导入错误:没有名为models的模块,来自keras.models import Sequential的
给出了类似的ImportError:没有名为keras.models的模块


有没有简单的方法让x.y import z的
语句工作?如果不是,则意味着更改所有实例以使用详细命名(即..
m1=keras.models.Sequential()
),这不是我的首选语法,但可以使用。

尝试使用
tensorflow.contrib.keras.python.keras

from tensorflow.contrib.keras.python.keras.models import Sequential

不幸的是,tensorflow.contrib.keras.python.keras.models中的
导入顺序
不再有效。从1.4版(目前为RC0)开始,他们似乎正在更改接口。有一条注释说,
tensorflow.contrib.keras
接口已被弃用,您应该使用
tensorflow.keras
,但如果没有python,这也不起作用

以下内容在V1.4rc0下对我有效

from tensorflow.python.keras.models import Sequential
import tensorflow.python.keras
import tensorflow.contrib.keras as keras
以下内容没有

import tensorflow.python.keras as keras

希望在最终发布之前能对此进行更多的清理。

尝试使用tensorflow的最新版本:

from tensorflow.python.keras.models import Sequential
from tensorflow.python.keras.layers import LSTM, TimeDistributed, Dense, ...

我很想知道您是否认为我应该将此行为作为bug发布在Github上。对我来说似乎是这样,但对更熟悉tensorflow导入接口的人来说,这是意料之中的事。
tensorflow.python从一开始就不打算向公众公开。它只是内部的东西,使用它是错误的做法,现在tensorflow终于修复了它,你应该直接使用
tensorflow.keras
,它被映射到
tensorflow.python.keras