我正在使用Python 3.6和Tensorflow 2.0,并且有一些Keras代码:
import keras
from keras.models import Sequential
from keras.layers import Dense
model = Sequential()
model.add(Dense(1))
model.compile(optimizer='adam',loss='mean_squared_error',metrics=['accuracy'])
当我运行此代码时,出现以下错误:
Keras 需要 TensorFlow 2.2 或更高版本。通过 pip 安装 TensorFlow 安装张量流
我检查了https://keras.io/,它说 Keras 是基于 Tensorflow 2.0 构建的。 所以我很困惑。最新的 Keras 支持哪个确切版本的 Tensorflow?以及如何修复上述错误?谢谢!
问题是最新的
keras
版本(2.4.x)只是 tf.keras
之上的包装器,我认为这不是您想要的,这就是为什么它特别需要 TensorFlow 2.2 或更高版本。
您可以安装Keras 2.3.1,它支持TensorFlow 2.x和1.x,并且是Keras的最新真实版本。您还可以安装仅支持 TensorFlow 1.x 的 Keras 2.2.4。您可以像这样安装特定版本:
pip install --user keras==2.3.1
该配置可能很棘手。在
keras
中使用 tensorflow
怎么样?我认为他们更可能彼此兼容。
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
Keras API 有两种实现:独立的 Keras(随
pip install keras
安装)和与 TensorFlow 捆绑在一起的 tf.keras (pip install tensorflow
)。
不久前,独立的 Keras 用于支持多个后端,即 TensorFlow、Microsoft Cognitive Toolkit、Theano 和 PlaidML。然而,在放弃 Theano 后,Keras 放弃了对除 TensorFlow 之外的所有这些的支持。所以每个人都开始使用 tf.keras 而不是独立的 Keras。
要使用 tf.keras,您只需安装 TensorFlow (
pip install tensorflow
) 并使用 from tensorflow import keras
。无需安装独立的 keras
软件包,并且不存在兼容性问题的风险:
from tensorflow import keras
model = keras.models.Sequential()
model.add(keras.layers.Dense(1))
model.compile(optimizer='adam', loss='mean_squared_error', metrics=['accuracy'])
或者,您可以在所有内容前面加上
tf.keras
:
import tensorflow as tf
model = tf.keras.models.Sequential()
model.add(tf.keras.layers.Dense(1))
model.compile(optimizer='adam', loss='mean_squared_error', metrics=['accuracy'])
然而,在 2023 年,独立的 Keras 卷土重来:它再次支持多个后端,即 TensorFlow、PyTorch 和 JAX。预览版本称为 Keras Core。要使用它,只需
pip install keras-core
,然后使用 import keras_core as keras
:
import keras_core as keras
model = keras.models.Sequential()
model.add(keras.layers.Dense(1))
model.compile(optimizer='adam', loss='mean_squared_error', metrics=['accuracy'])
第一次导入
keras_core
时,它将查找 KERAS_BACKEND
环境变量来确定要使用哪个后端。它可以是 "tensorflow"
、"torch"
或 "jax"
。它将保存在 ~/.keras/keras.json
中,并在未定义环境变量时使用它。
请注意,Keras Core 的最终版本将称为 Keras 3,您将能够使用
pip install keras
安装它。
此外,tf.keras 将不再单独维护,它将简单地使用 Keras 3(因此安装
tensorflow
也会自动安装 keras
)。 tf.keras
只是 keras
的别名。所有 Keras 代码都将位于 https://github.com/keras-team/keras。
所以在不久的将来,代码将是:
import keras
model = keras.models.Sequential()
model.add(keras.layers.Dense(1))
model.compile(optimizer='adam', loss='mean_squared_error', metrics=['accuracy'])
请参阅官方内容tensorflow.org,了解详细信息与 CUDA、Tensorflow 版本、Python 版本、CuDNN 兼容的版本:
对于 Windows:https://www.tensorflow.org/install/source_windows#cpu
https://www.tensorflow.org/install/source_windows#gpu
对于 Linux:https://www.tensorflow.org/install/source#linux
https://www.tensorflow.org/install/source#gpu
对于 MacOS:https://www.tensorflow.org/install/source#macos
https://www.tensorflow.org/install/source#gpu_2