1.安装前准备
1.1环境
环境使用windows11+anaconda+cpu(anconda安装教程比较多,可以搜一下)
1.2安装前必看
(重要)tensorflow和keras配置对版本要求比较高,可以在官网查看。
这里要安装tensorflow2.4.0,创建虚拟环境的python版本不能太高
为了避免与我已有环境冲突,使用anaconda创建一个新虚拟环境安装tensorflow
conda create -n tf2.4 python=3.8 (tf2.4为我的虚拟环境名)
2.安装
2.1安装tensorflow
在Anaconda Prompt中使用conda activate +虚拟环境名,进入虚拟环境
再使用如下指令下载cpu版本的tensorflow2.4.0:(使用阿里云镜像下载会快点,也可尝试清华源等)
pip install tensorflow-cpu==2.4.0 -i https://mirrors.aliyun.com/pypi/simple
看到最后显示Successfully installed tensorflow-cpu-2.4.0就成功啦
2.2keras
TensorFlow 2.0 及以上版本已经集成了 Keras 作为其官方高级深度学习 API 的一部分。在 TensorFlow 2.0 及以后的版本中,可以使用 tf.keras 模块直接访问 Keras API
from tensorflow import keras
如果需要继续在虚拟环境中安装keras,还是tensorflow和keras对应版本要求比较高,可以查阅对应关系,这里下载2.4.3版本pip install keras==2.4.3 -i https://pypi.tuna.tsinghua.edu.cn/simple
如果必须使用独立 Keras,最好不混用两种导入方式。
3.测试
3.1 tensorflow测试
测试安装的tensorflow是否成功:
如下图所示,首先输入python,在python中测试。
接下来输入这些代码:
import tensorflow as tf
greeting = tf.constant('Hello Tensorflow!')
print(greeting.numpy().decode())
到这就可以正常使用了。
中间的2025-03-17 20:53:01.456333: I tensorflow/compiler/jit/xla_cpu_device.cc:41] Not creating XLA devices, tf_xla_enable_xla_devices not set这些不是错误,这是正常提示,不影响代码运行。
后面会解释并说怎么屏蔽
3.2keras测试
这里对内置的keras进行测试:
import tensorflow as tf
from tensorflow import keras
# 1. 检查版本
print("TensorFlow 版本:", tf.__version__)
print("内置Keras 版本:", keras.__version__)
# 2. 创建一个简单的神经网络模型
model = keras.Sequential([
keras.layers.Dense(units=1, input_shape=[1])
])
# 3. 编译模型
model.compile(optimizer='sgd', loss='mean_squared_error')
# 4. 虚拟数据训练(输入 x=[1,2,3], 目标 y=[2,4,6])
x = [1, 2, 3]
y = [2, 4, 6]
model.fit(x, y, epochs=1, verbose=0) # 训练 1 个 epoch
# 5. 预测结果
prediction = model.predict([4])
print("\n测试结果:")
print("输入 4,预测值:", prediction[0][0])
预测输出为:
TensorFlow 版本: 2.4.0
Keras 版本: 2.4.0
测试结果:
输入 4,预测值: 6.123456 # 实际值可能略有不同(因随机初始化权重)
独立的keras我也下载了,所以也进行了下测试:
import tensorflow as tf
from tensorflow import keras as tf_keras
import keras as standalone_keras
# 对比版本
print("TensorFlow 内置 Keras 版本:", tf_keras.__version__)
print("独立安装的 Keras 版本:", standalone_keras.__version__)
# 检查是否指向同一模块(若输出 False,说明无直接冲突)
print("是否指向同一模块:", tf_keras == standalone_keras)
4.遇到的问题
2025-03-17 20:53:01.456333: I tensorflow/compiler/jit/xla_cpu_device.cc:41] Not creating XLA devices, tf_xla_enable_xla_devices not set
原因:
TensorFlow 默认会尝试使用 XLA(Accelerated Linear Algebra)编译器优化计算,但 XLA 设备(如 XLA_CPU 或 XLA_GPU)需要显式启用。
含义:
当前未启用 XLA 设备,因此不会创建 XLA 加速的计算设备。这是正常提示,不影响代码运行。
如果需要启用 XLA,可以在代码中添加环境变量或配置:
import os
os.environ['TF_XLA_FLAGS'] = '--tf_xla_enable_xla_devices'
不需要启用的话直接用下文方式屏蔽:
2025-03-17 16:28:20.052969: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX2
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
原因:
TensorFlow 的预编译二进制文件针对某些 CPU 指令集(如 AVX2
)进行了优化,但你的 CPU 可能支持更高级的指令(如 AVX512
),或者当前操作未完全利用这些优化。
这些不是错误!这些是 TensorFlow 在初始化时的信息性日志,提示当前的硬件优化状态和配置选项。代码仍会正常运行,只是可能未达到最佳性能(例如未启用 XLA 或高级 CPU 指令集)。
屏蔽这些日志信息:
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'
到这就写完啦,我是初学者,之前只用一点过pytorch,要求我们下载tensorflow+keras。第一次尝试写文章记录一下自己的下载过程,也希望能为其他同样刚入门的朋友提供一些参考。欢迎交流,如有错误也感谢指正。