如何在Tensorflow中从tf.keras导入keras?

fjaof16o  于 2023-01-21  发布在  其他
关注(0)|答案(8)|浏览(338)
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

hivapdat

hivapdat1#

使用tensorflow 中的keras模块,如下所示:
import tensorflow as tf
导入类
from tensorflow.python.keras.layers import Input, Dense
或直接使用
dense = tf.keras.layers.Dense(...)

编辑tensorflow 2

from tensorflow.keras.layers import Input, Dense
其余的保持不变。

izkcnapc

izkcnapc2#

尝试from tensorflow.python import keras
有了这个,你可以很容易地改变keras的依赖代码,以tensorflow 在一个行的变化。
你也可以试试from tensorflow.contrib import keras,它可以在tensorflow 1.3上运行
编辑:对于**tensorflow 1.10和更高版本**,您可以使用import tensorflow.keras as keras在张流中获得角。

r6l8ljro

r6l8ljro3#

为了简单起见,我将使用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

文件中,角蛋白(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

4ngedf3f

4ngedf3f4#

它不是很罚款降级每一次,你可能需要做以下更改如下所示:

tensorflow

导入tensorflow 作为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
wqlqzqxt

wqlqzqxt5#

从TensorFlow 2.0开始,只有PyCharm版本〉2019.3才能识别tensorflow (tensorflow.keras)中的tensorflowkeras。Francois Chollet本人(Keras的作者)建议大家改用tensorflow.keras代替普通的keras
这里还有一个重要的一提:
TF >= 2.0的重要说明
JetBrains存在一个持续存在的问题(实际上是TensorFlow方面的问题),似乎该错误不时出现(https://youtrack.jetbrains.com/issue/PY-53599)。
有时会发生PyCharm无法正确导入/识别tensorflow或其他导入中的keras的情况。
根据Python + TF + PyCharm版本的不同,你可能需要在以下导入类型之间切换:

from tensorflow.keras.models import Model

from tensorflow.python.keras.models import Model
hpxqektj

hpxqektj6#

这对我在tensorflow 中是有效的==1.4.0
从tensorflow 导入keras

p1iqtdky

p1iqtdky7#

我在导入这些库时遇到了类似的问题。我使用的是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 。
用这个代码我解决错误:

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
vlju58qv

vlju58qv8#

我在PyCharm中使用Tensorflow 2.0.0时遇到了同样的问题,PyCharm无法识别tensorflow.keras;我更新了我的PyCharm,问题解决了!

相关问题