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 版
像这样使用来自 tensorflow 的 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
其余的保持不变。
试试from tensorflow.python import keras
有了这个,您可以轻松地将依赖于 keras 的代码更改为 tensorflow。
您也可以尝试 from tensorflow.contrib import keras
。这适用于 tensorflow 1.3
已编辑:对于 tensorflow 1.10 及更高版本,您可以使用 import tensorflow.keras as keras
在 tensorflow 中获取 keras。
import tensorflow as tf
keras = tf.keras
进行从纯 keras 到 tensorflow keras 的单线转换
from tensorflow import keras
是相同的,对吗?
每次降级都不是很好,您可能需要进行以下更改,如下所示:
张量流
将张量流导入为 tf
#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
为简单起见,我将采用 keras 和 tf.keras 中的两个版本的代码。这里的示例是一个简单的神经网络模型,其中包含不同的层。
在 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
在 tf.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
tf.keras 的官方文档
注意:TensorFlow 版本为 1.9
为所有来检查为什么 tensorflow.keras
在 PyCharm
中不可见的人更新。
从 TensorFlow 2.0 开始,只有 PyCharm 版本 > 2019.3 能够正确识别 tensorflow (tensorflow.keras
) 中的 tensorflow
和 keras
。
此外,建议(由 Francois Chollet)每个人都切换到 tensorflow.keras
来代替普通的 keras
。
这在 tensorflow==1.4.0 中对我有用
从 tensorflow.python 导入 keras
我在导入这些库时遇到了类似的问题。我正在使用 Anaconda Navigator 1.8.2 和 Spyder 3.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'
我解决了这个擦除 tensorflow.python
使用此代码,我解决了错误:
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
pip show tensorflow
检查您的 tensorflow 版本
from tensorflow.keras.layers
时实际上已解决,因为有暴露的模块。 tensorflow.python
包在某些方面是私有的。
我在 PyCharm 中使用 Tensorflow 2.0.0 时遇到了同样的问题。 PyCharm 无法识别 tensorflow.keras;我更新了我的 PyCharm,问题解决了!