
本文针对windows用户在安装keras 3时遇到的“dm-tree”依赖构建失败问题,指出keras 3官方推荐在linux或wsl2环境下运行。教程将详细指导如何在windows上设置和使用wsl2来成功安装并运行keras,确保深度学习项目的顺利进行。
在Windows操作系统上直接通过pip install keras安装Keras 3时,用户可能会遇到一系列依赖构建错误,其中最常见的是在构建dm-tree这一Keras核心依赖时失败。错误信息通常会指出subprocess-exited-with-error,并最终提示RuntimeError: CMake must be installed to build the following extensions: _tree。
这表明在尝试编译dm-tree的C++扩展时,系统未能找到必要的构建工具CMake。尽管可以尝试手动安装CMake和Visual C++ Build Tools来解决这类问题,但Keras 3的开发团队对Windows平台的支持策略有所调整。
Keras 3作为一个独立的深度学习API,其设计目标是与多个后端(如TensorFlow、JAX、PyTorch)兼容,并致力于提供更强大的功能和更好的性能。然而,官方明确指出,Keras 3目前主要兼容Linux和macOS系统。对于Windows用户,官方推荐使用Windows Subsystem for Linux 2 (WSL2) 来运行Keras。
这意味着,直接在Windows环境下安装Keras 3可能并非最佳实践,并且可能持续遇到各种兼容性或构建问题。WSL2提供了一个完整的Linux内核环境,允许用户在Windows内部无缝运行Linux发行版,从而获得与原生Linux环境相近的开发体验。
Windows Subsystem for Linux 2 (WSL2) 是微软为Windows 10/11用户提供的一项功能,它允许开发者在Windows操作系统上直接运行一个完整的Linux内核,并安装各种Linux发行版(如Ubuntu、Debian等)。相较于WSL1,WSL2提供了真正的Linux内核,这意味着更好的文件系统性能、完整的系统调用兼容性以及对Docker等工具的良好支持。
对于深度学习开发而言,WSL2的优势显而易见:
要在Windows上成功安装和使用WSL2来运行Keras 3,请遵循以下步骤:
在PowerShell或命令提示符中(以管理员身份运行),执行以下命令:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
执行完毕后,重启计算机以使更改生效。
重启后,再次打开PowerShell或命令提示符(无需管理员权限),执行:
wsl --set-default-version 2
如果提示需要更新WSL内核,请访问WSL官方文档下载并安装最新的WSL2 Linux内核更新包。
从Microsoft Store搜索并安装你偏好的Linux发行版,例如Ubuntu。安装完成后,首次启动Ubuntu应用,它会提示你设置用户名和密码。
进入WSL2中的Linux终端,首先更新软件包列表并升级已安装的软件包:
sudo apt update sudo apt upgrade -y
WSL2中的Linux发行版通常预装了Python,但可能不是最新版本。建议使用pyenv或直接通过apt安装特定版本。
# 检查Python版本 python3 --version pip3 --version # 如果需要安装最新Python,例如Python 3.10或3.11 sudo apt install software-properties-common -y sudo add-apt-repository ppa:deadsnakes/ppa -y sudo apt update sudo apt install python3.11 python3.11-venv python3.11-dev -y # 设置默认python版本(可选,或使用虚拟环境) sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 1 sudo update-alternatives --install /usr/bin/pip3 pip3 /usr/bin/pip3.11 1
强烈建议为Keras项目创建一个独立的Python虚拟环境,以管理依赖。
mkdir my_keras_project cd my_keras_project python3 -m venv .venv source .venv/bin/activate
激活虚拟环境后,你的终端提示符前会显示虚拟环境的名称(例如 (.venv))。
在虚拟环境激活状态下,现在可以安全地安装Keras 3及其依赖:
pip install keras
此命令会自动安装Keras 3及其所有必要的依赖,包括dm-tree。在Linux环境下,dm-tree的编译通常不会遇到Windows上常见的CMake问题。
安装完成后,你可以在WSL2的Linux环境中编写和运行Keras代码。
创建一个名为 simple_keras_model.py 的文件:
import keras
from keras import layers
import numpy as np
# 检查Keras版本和后端
print(f"Keras version: {keras.__version__}")
print(f"Keras backend: {keras.backend.backend()}")
# 构建一个简单的序贯模型
model = keras.Sequential([
layers.Input(shape=(784,)),
layers.Dense(256, activation="relu", name="first_layer"),
layers.Dense(128, activation="relu", name="second_layer"),
layers.Dense(10, activation="softmax", name="output_layer"),
])
# 编译模型
model.compile(optimizer="adam",
loss="sparse_categorical_crossentropy",
metrics=["accuracy"])
# 打印模型摘要
model.summary()
# 生成一些虚拟数据进行训练
num_samples = 1000
x_train = np.random.rand(num_samples, 784).astype("float32")
y_train = np.random.randint(0, 10, size=(num_samples,)).astype("int32")
# 训练模型
print("
Training the model...")
model.fit(x_train, y_train, epochs=5, batch_size=32, verbose=1)
print("
Keras model training completed successfully in WSL2.")在WSL2终端中,确保虚拟环境已激活,然后运行:
python simple_keras_model.py
你将看到Keras模型被成功构建、编译和训练的输出。
尽管在Windows上直接安装Keras 3可能会遇到挑战,但通过充分利用Windows Subsystem for Linux 2 (WSL2),开发者可以轻松地在Windows机器上搭建一个稳定、高效的Keras开发环境。WSL2不仅解决了Keras 3在Windows上安装时的依赖构建问题,还提供了接近原生Linux的性能和完整的GPU支持,是Windows深度学习开发者的理想选择。遵循本教程的步骤,你将能够顺利在WSL2中安装并运行Keras 3,从而专注于模型开发,而不是环境配置的困扰。
以上就是Windows环境下Keras 3安装与WSL2解决方案的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号