【AI训练环境搭建】在Windows11上搭建WSL2+Ubuntu22.04+Tensorflow+GPU机器学习训练环境

一、安装Ubuntu

拿到该文件Ubuntu-22.04.tar


通过wsl导入该虚拟机镜像,然后查看wsl虚拟机列表。

wsl --import Ubuntu-22.04-tensorflow D:\wsl-data\Ubuntu-22.04-tensorflow D:\wsl-data\temp\Ubuntu-22.04.tar

wsl -l

进入虚拟机

wsl -d Ubuntu-22.04-tensorflow

二、Ubuntu安装anaconda

1. 复制下载链接

点此链接进入官网,右键复制链接,这是我复制到此链接(https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh

Download Now | Anaconda

2.通过wget下载anaconda

命令格式:wget [上面复制的xx.sh链接]

wget https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh

下载完成

3.安装anaconda

执行安装命令,按回车健Enter确认安装

sh Anaconda3-2024.10-1-Linux-x86_64.sh

此时,按Page Down翻页快速阅读协议条款

输入yes同意协议条款

继续再按回车健Enter确认安装到/root/anaconda3,如果你想安装到其它目录可以直接输入(不过一般情况下不需要去改)

确认启动时更新和初始化

注意,此时运行conda -V提示没有conda命令,你只需要关闭cmd窗口再进入到unbuntu即可,如果你使用的是windows11,这里也会有快捷进入unbuntu的入口

再次验证conda -V,会输出版本号

至此,anaconda安装成功。

三、安装显卡驱动

注意不需要再再wsl-ubuntu上安装显卡驱动,只需要你的windows上安装好就行,直接运行nvidia-smi即可验证

由于第一次尝试和第二次尝试都失败了,若要快速搭建吗,可直接跳转至第六章节,你只需要注意添加conda清华源就行了。

四、【失败】第一次尝试:创建Conda+TensorFlow+GPU环境

1. 创建新的conda环境

conda环境名称为t1,python版本为3.10

conda create -n t1 python=3.10

2. 进入刚创建conda环境:t1

conda activate t1

3. 安装cudatoolkit和cudnn

安装cudatoolkit的11.2版本和cudnn的8.1版本

conda install cudatoolkit=11.2 cudnn=8.1

设置conda清华源

再来,可以下载了

4.安装tensorflow

 安装tensorflow的2.10.0版本(因为pip源是单独控制的,所以这里临时指定)

pip install tensorflow==2.10.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

5. 安装tensorflow-gpu的2.10.0版本

pip install tensorflow-gpu==2.10.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

6 降低numpy的版本到1.22.4

pip install numpy==1.22.4 -i https://pypi.tuna.tsinghua.edu.cn/simple

7. 使用GPU训练

1.克隆cnn-hello
git clone https://gitee.com/fengyefly/cnn-hello
cd cnn-hello/

2.运行cnn-hello-train.py
python cnn-hello-train.py

发现未调用GPU!由于以上是再windows跑通的,再ubuntu下没必要按这个版本,下面尝试重新创建一个conda环境,然后用比较新的版本。(原因也可以看看下面这个官方说明)

退出conda t1环境

conda deactivate

五、【失败】第二次尝试:创建Conda+TensorFlow+GPU环境(python 12)

 1. 创建新的conda环境

conda环境名称为t2,这次我们使用python版本为3.12

conda create -n t2 python=3.12

2. 进入刚创建conda环境:t2

conda activate t2

3. 安装cudatoolkit和cudnn

conda install cudatoolkit=12.5
conda install cudnn=9.3

4.安装tensorflow

pip install tensorflow==2.19.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

5. 尝试使用GPU训练

六、【成功】第三次尝试:创建Conda+TensorFlow+GPU环境(python 12)

参阅了官网的教程,改进安装方案。

1.创建新的conda环境

conda create -n t4 python=3.12

2.安装tensorflow[and-cuda]

注意:此处的命令不仅仅是tensorflow,而多了一个[and-cuda],意味着它会帮我们把cudatoolkit和cudnn自动装好。

pip install tensorflow[and-cuda]

 3.验证GPU

执行该命令,可以看到成功加载到GPU。

python3 -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"

 七. 使用GPU训练速度体验

1.克隆cnn-hello

git clone https://gitee.com/fengyefly/cnn-hello
cd cnn-hello/

2.运行cnn-hello-train.py

python cnn-hello-train.py

 经验证,训练用时约13s,和我在windows上直接用conda安装的环境下,用时非常接近!

至此,已经完成在Windows11上搭建WSL2+Ubuntu22.04+Tensorflow+GPU机器学习训练环境。感谢阅读!真材实料的实践分享,别忘记给个点赞哦👍。

<think>好的,我现在需要帮助用户解决在Windows 11上部署WSL 2和相关服务的问题,包括Ubuntu、Docker、Ollama、Dify、MySQL、Ruoyi-EVU、Redis、Nginx以及NVIDIA RTX 4090 GPU的配置。首先,我需要理清整个部署流程,并确保每个步骤都正确无误。 首先,用户提到的是Windows 11,所以需要确认系统是否满足WSL 2的要求。根据微软文档,Windows 11默认支持WSL 2,但需要开启相关功能。用户需要启用“虚拟机平台”和“适用于Linux的Windows子系统”这两个功能。这部分可以通过PowerShell命令完成,比如dism.exe命令。然后安装WSL 2内核更新包,这一步可能需要下载并安装MSI包。接下来,设置默认版本为WSL 2,这可以通过wsl --set-default-version 2命令实现。之后,安装Ubuntu发行版,比如Ubuntu 22.04 LTS,并设置用户名和密码。 接下来是Docker的配置。用户需要安装Docker Desktop,并确保在设置中启用WSL 2引擎。同时,在资源部分集成已安装Ubuntu发行版。这有助于Docker容器在WSL 2环境中运行,提高性能。验证Docker安装是否成功,可以通过运行hello-world镜像来确认。这部分用户之前已经提到了引用[1],我需要确保步骤正确,并且引用标记正确。 然后是GPU资源的配置,用户使用的是NVIDIA RTX 4090。这里需要安装NVIDIA的驱动程序,确保CUDA工具包与WSL 2兼容。在WSL 2安装CUDA,可能需要按照NVIDIA的官方文档来操作,比如安装特定版本的CUDA Toolkit和NVIDIA容器工具包。这部分需要详细说明,否则用户可能在驱动安装或CUDA配置上遇到问题。 接下来是各个服务的部署。首先安装Ollama,这可能是一个机器学习相关的服务,可能需要GPU支持。用户需要确保Ollama在Docker容器中可以访问GPU,这需要配置NVIDIA容器运行时。然后是Dify,这可能是一个AI应用平台,同样需要GPU支持。MySQL和Redis作为数据库和缓存服务,需要配置持久化存储和网络设置,确保数据安全。Ruoyi-EVU可能是一个Java应用,需要Java环境,可能需要通过Docker部署或者直接在Ubuntu安装。Nginx作为反向代理,需要配置SSL和域名解析,确保外部访问安全可靠。 硬件资源配置方面,用户使用的是RTX 4090,显存较大,但需要合理分配给各个服务。比如,Ollama和Dify可能需要更多的GPU资源,而其他服务如MySQL、Redis可能不需要。需要建议用户根据实际负载调整资源分配,比如在Docker Compose文件中指定GPU资源限制,避免资源争用。 另外,网络配置也很重要。所有服务需要在Docker网络中正确互联,可能需要定义自定义网络,并设置端口映射。例如,Nginx需要暴露80和443端口,而其他服务的内部通信可以通过Docker网络进行。同时,数据卷的配置也很关键,确保MySQL和Redis的数据持久化,防止容器重启后数据丢失。 安全性方面,需要提醒用户设置强密码,更新系统补丁,配置防火墙规则,以及使用SSL证书加密流量。特别是MySQL和Redis这类服务,默认配置可能存在安全漏洞,需要修改默认端口和设置访问控制。 最后,验证整个系统的运行。用户需要逐个启动服务,检查日志,确认没有错误。例如,运行nvidia-smi命令查看GPU是否被正确识别,Docker容器是否能够使用GPU。测试各个服务的连通性,如通过curl访问Nginx,连接到MySQL数据库,运行Ollama的模型推理等。 在生成相关问题的时候,需要考虑用户可能遇到的后续问题,比如性能调优、错误排查、备份策略等。比如如何监控GPU资源使用情况,如何扩展服务,如何处理容器间的依赖关系等。 现在需要确保回答的结构清晰,步骤正确,引用来源正确,并且符合用户的中文要求。同时,生成的LaTeX公式需要正确使用$...$和$$...$$格式,虽然这个问题可能涉及较多的命令和配置,数学公式可能较少,但如果有涉及性能分析或资源分配的计算,可能需要使用LaTeX表达。 总结来说,整个部署过程需要分步骤进行,确保每个组件正确安装和配置,资源合理分配,网络和安全设置到位。需要详细说明每个步骤,并提示用户可能的注意事项和验证方法。</think>### Windows 11 WSL 2 环境部署方案 #### 一、基础环境配置 1. **启用 WSL 2** - 以管理员身份运行 PowerShell,执行以下命令: ```powershell dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart ``` - 安装 [WSL 2 内核更新包](https://aka.ms/wsl2kernel)并重启系统 - 设置默认版本为 WSL 2: ```powershell wsl --set-default-version 2 ``` 2. **安装 Ubuntu 22.04 LTS** ```powershell wsl --install -d Ubuntu-22.04 ``` 完成后设置用户名和密码,建议分配至少 8GB 内存(修改 `%USERPROFILE%\.wslconfig`): ```ini [wsl2] memory=8GB swap=2GB ``` #### 二、Docker 集成 1. **安装 Docker Desktop** - 勾选 "Use WSL 2 based engine" 和对应 Ubuntu 发行版的集成[^1] - 验证安装: ```bash docker run hello-world ``` 2. **GPU 支持配置** - 安装 [NVIDIA 驱动](https://www.nvidia.com/Download/index.aspx) 和 [CUDA Toolkit](https://developer.nvidia.com/cuda-toolkit) - 配置 NVIDIA 容器工具包: ```bash distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit ``` #### 三、服务部署架构 ```mermaid graph TD A[Windows 11 Host] -->|WSL 2| B(Ubuntu 22.04) B --> C[Docker Engine] C --> D[MySQL 8.0] C --> E[Redis 7.0] C --> F[Nginx 1.25] C --> G[Ruoyi-EVU] C --> H[Ollama] C --> I[Dify] H -->|NVIDIA Container| J(RTX 4090 GPU) ``` #### 四、硬件资源配置建议 | 组件 | 资源配置 | 说明 | |------------|------------------------------|-------------------------------| | CPU | 16 核以上 | 建议 Intel i9 或 AMD Ryzen 9 | | 内存 | 32GB DDR5 | 分配 16GB 给 WSL 2 | | GPU | RTX 4090 24GB 显存 | CUDA 12.2+ 驱动 | | 存储 | 1TB NVMe SSD | 建议分配 200GB 给 WSL 2 | #### 五、关键服务配置示例(docker-compose.yml) ```yaml version: '3.8' services: mysql: image: mysql:8.0 environment: MYSQL_ROOT_PASSWORD: ${DB_PASSWORD} volumes: - mysql_data:/var/lib/mysql deploy: resources: limits: memory: 4G ollama: image: ollama/ollama:latest runtime: nvidia environment: NVIDIA_VISIBLE_DEVICES: all ports: - "11434:11434" volumes: - ollama_data:/root/.ollama ``` #### 六、验证步骤 1. GPU 验证: ```bash docker run --gpus all nvcr.io/nvidia/k8s/cuda-sample:nbody -benchmark ``` 应显示 GPU 计算性能数据 2. 网络连通性测试: ```bash curl -I http://localhost:80 ``` ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值