如何从 Tensorflow 的 tf.keras 进口 keras?

import tensorflow as tf
import tensorflow


from tensorflow import keras
from keras.layers import Dense

我得到了下面的错误

from keras.layers import Input, Dense
Traceback (most recent call last):


File "<ipython-input-6-b5da44e251a5>", line 1, in <module>
from keras.layers import Input, Dense


ModuleNotFoundError: No module named 'keras'

我要怎么解决这个问题?

注意: 我使用的是 Tensorflow 1.4版

195752 次浏览

像下面这样使用张量流中的 keras 模块:

import tensorflow as tf

导入类

from tensorflow.python.keras.layers import Input, Dense

或直接使用

dense = tf.keras.layers.Dense(...)

编辑张量流2

from tensorflow.keras.layers import Input, Dense

剩下的保持不变。

我在导入这些库时遇到了类似的问题,我使用的是 AnacondaNavigator1.8.2和 Spyder3.2.8。

我的代码如下:

import matplotlib.pyplot as plt
import tensorflow as tf
import numpy as np
import math


#from tf.keras.models import Sequential  # This does not work!
from tensorflow.python.keras.models import Sequential
from tensorflow.python.keras.layers import InputLayer, Input
from tensorflow.python.keras.layers import Reshape, MaxPooling2D
from tensorflow.python.keras.layers import Conv2D, Dense, Flatten

我得到以下错误:

from tensorflow.python.keras.models import Sequential


ModuleNotFoundError: No module named 'tensorflow.python.keras'

我解决了这个擦除张量流,巨蟒

通过这段代码,我解决了这个错误:

import matplotlib.pyplot as plt
import tensorflow as tf
import numpy as np
import math


#from tf.keras.models import Sequential  # This does not work!
from keras.models import Sequential
from keras.layers import InputLayer, Input
from keras.layers import Reshape, MaxPooling2D
from keras.layers import Conv2D, Dense, Flatten

试试 from tensorflow.python import keras

有了这个,你可以很容易地在一行的变化中将角函数依赖的代码变成张量流。

你也可以试试 from tensorflow.contrib import keras,这个可以在张量流1.3上工作

编辑: 对于 < a href = “ https://www.tensorlow.org/version/r1.10/api _ docs/python/tf/keras”rel = “ nofollow noReferrer”> tensorflow 1.10 及以上,你可以使用 import tensorflow.keras as keras得到张量流中的角度。

为了简单起见,我将使用 keras 和 tf.keras 两个版本的代码。这里的例子是一个简单的神经网络模型,其中包含不同的层次。

克拉斯(v2.1.5)

from keras.models import Sequential
from keras.layers import Dense


def get_model(n_x, n_h1, n_h2):
model = Sequential()
model.add(Dense(n_h1, input_dim=n_x, activation='relu'))
model.add(Dense(n_h2, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(4, activation='softmax'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
print(model.summary())
return model

TFF Keras(v1.9)

import tensorflow as tf


def get_model(n_x, n_h1, n_h2):
model = tf.keras.Sequential()
model.add(tf.keras.layers.Dense(n_h1, input_dim=n_x, activation='relu'))
model.add(tf.keras.layers.Dense(n_h2, activation='relu'))
model.add(tf.keras.layers.Dropout(0.5))
model.add(tf.keras.layers.Dense(4, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
print(model.summary())


return model

或者可以以下列方式而不是以上述方式导入

from tensorflow.keras.layers import Dense

TFF Keras的正式文件

注意: TensorFlow 版本是1.9

在张量流 = = 1.4

来自 tensorflow. python import keras

我在 PyCharm 中的 Tensorflow 2.0.0也遇到了同样的问题。PyCharm 不能识别 tensorlow.keras; 我更新了 PyCharm,问题解决了!

更新为每个人来检查为什么 tensorflow.keras是不可见的在 PyCharm

从 TensorFlow 2.0开始,只有 PyCharm 版本 > 2019.3能够正确识别张量流(tensorflow.keras)中的 tensorflowkeras

另外,Francois Chollet 建议每个人都切换到 tensorflow.keras而不是简单的 keras

每次下调评级并不太好,你可能需要作出以下更改:

张量流

输入张量流

#Keras
from tensorflow.keras.models import Sequential, Model, load_model, save_model
from tensorflow.keras.callbacks import ModelCheckpoint
from tensorflow.keras.layers import Dense, Activation, Dropout, Input, Masking, TimeDistributed, LSTM, Conv1D, Embedding
from tensorflow.keras.layers import GRU, Bidirectional, BatchNormalization, Reshape
from tensorflow.keras.optimizers import Adam


from tensorflow.keras.layers import Reshape, Dropout, Dense,Multiply, Dot, Concatenate,Embedding
from tensorflow.keras import optimizers
from tensorflow.keras.callbacks import ModelCheckpoint

重点是

from keras.layers import Reshape, Dropout, Dense,Multiply, Dot, Concatenate,Embedding

你得加上

from tensorflow.keras.layers import Reshape, Dropout, Dense,Multiply, Dot, Concatenate,Embedding