VMware虚拟化方案:本地构建多版本深度学习实验环境

张开发
2026/4/11 8:31:50 15 分钟阅读

分享文章

VMware虚拟化方案:本地构建多版本深度学习实验环境
VMware虚拟化方案本地构建多版本深度学习实验环境深度学习开发者最头疼的问题不同项目需要不同版本的框架和依赖环境冲突让人抓狂。今天教你用VMware轻松搞定这个难题。1. 为什么需要虚拟化实验环境做深度学习开发的朋友都知道不同项目往往需要不同版本的环境。比如有些老项目只能用TensorFlow 1.x新项目又需要PyTorch 2.0还有的项目需要特定版本的CUDA。直接在物理机上安装这些环境很容易造成冲突重装系统更是家常便饭。VMware虚拟化技术能帮你创建多个完全隔离的虚拟环境每个环境都可以独立配置不同的深度学习框架和依赖版本。这样你就能在同一台机器上同时运行多个项目再也不用担心环境冲突了。我用VMware做深度学习开发已经有五年多了最大的感受就是省心。新项目来了直接克隆一个干净的模板虚拟机几分钟就能搭好环境开始coding再也不用折腾本地环境了。2. 环境准备与VMware安装2.1 硬件要求建议虽然VMware可以在大多数电脑上运行但为了获得更好的深度学习实验体验建议配置CPU至少4核心支持虚拟化技术Intel VT-x或AMD-V内存16GB起步32GB更佳给虚拟机分配8-12GB存储SSD硬盘至少50GB可用空间GPUNVIDIA显卡支持GPU穿透后面会详细讲检查虚拟化支持在开始之前先确认你的电脑开启了CPU虚拟化支持。在Windows任务管理器的性能标签页中可以看到虚拟化是否已启用。2.2 VMware安装步骤VMware Workstation Player是个人用户的免费选择完全够用访问VMware官网下载Workstation Player运行安装程序基本上一路下一步就行安装完成后需要重启电脑第一次打开会提示输入许可证密钥免费版选非商业用途安装过程大概10分钟左右没什么技术难度。建议把虚拟机文件默认位置改到空间大的硬盘分区C盘空间紧张的话会很麻烦。3. 创建深度学习虚拟机模板3.1 新建虚拟机配置打开VMware点击创建新虚拟机我一般推荐这样配置系统选择Ubuntu 20.04 LTS或者22.04 LTS都比较稳定社区支持也好。如果你用Windows主机客户机也选Windows的话有些文件共享功能会更方便。硬件分配CPU给4个核心如果你的CPU有8核以上内存8-12GB主机16GB就分配8GB主机32GB可以分配16GB硬盘40GB动态分配实际用多少占多少空间网络设置选NAT模式就行虚拟机可以上网主机也能访问虚拟机又相对安全。3.2 系统安装与基础配置装好Ubuntu后先做这些基础设置# 更新系统 sudo apt update sudo apt upgrade -y # 安装常用工具 sudo apt install -y git curl wget vim build-essential # 设置时区可选 sudo timedatectl set-timezone Asia/Shanghai安装图形界面如果没装的话有些最小化安装的Ubuntu没有桌面环境深度学习开发还是有个图形界面方便些。# 安装GNOME桌面 sudo apt install -y ubuntu-desktop # 或者安装更轻量的Xfce sudo apt install -y xfce4 xfce4-goodies4. 深度学习环境配置4.1 安装AnacondaAnaconda是管理Python环境的神器特别适合深度学习开发# 下载Anaconda安装脚本 wget https://repo.anaconda.com/archive/Anaconda3-2023.03-Linux-x86_64.sh # 运行安装 bash Anaconda3-2023.03-Linux-x86_64.sh # 按照提示完成安装最后选择yes初始化conda安装完成后重启终端你会看到命令行前面多了个(base)说明conda已经在工作了。4.2 创建多版本环境conda的强大之处在于可以创建多个独立的环境每个环境都可以有自己的一套包版本# 创建Python 3.7环境适合老项目 conda create -n tf1 python3.7 # 创建Python 3.9环境适合新项目 conda create -n torch2 python3.9 # 查看所有环境 conda env list # 切换环境 conda activate tf1环境使用技巧我习惯给每个大项目单独创建一个环境环境名就用项目名这样不会搞混。小项目可以共用环境但要注意版本兼容性。4.3 安装深度学习框架在不同环境中安装需要的框架# 在tf1环境中安装TensorFlow 1.x conda activate tf1 pip install tensorflow1.15.0 # 在torch2环境中安装PyTorch 2.0 conda activate torch2 pip install torch torchvision torchaudio镜像加速国内安装包慢的话可以配置清华镜像# 配置conda镜像 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --set show_channel_urls yes # 配置pip镜像 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple5. GPU穿透配置技巧如果你有NVIDIA显卡可以让虚拟机直接使用物理GPU大幅提升训练速度。5.1 前提条件检查首先确认你的系统支持GPU穿透主机安装最新NVIDIA驱动确认GPU支持虚拟化GeForce GTX 1000系列及以上在BIOS中开启IOMMU支持Intel VT-d或AMD-Vi5.2 VMware设置关闭虚拟机编辑虚拟机设置 → 处理器 → 开启虚拟化引擎添加PCI设备 → 选择你的GPU重要提示GPU穿透后主机就不能用这个GPU了。如果你只有一个GPU穿透后主机显示性能会下降。5.3 虚拟机内GPU驱动安装在虚拟机内安装NVIDIA驱动和CUDA# 先安装基础依赖 sudo apt install -y gcc make # 下载并安装NVIDIA驱动 # 注意版本要和主机驱动版本一致 sudo apt install nvidia-driver-525 # 安装CUDA Toolkit wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run sudo sh cuda_11.8.0_520.61.05_linux.run安装完成后重启虚拟机运行nvidia-smi应该能看到GPU信息了。6. 虚拟机性能优化6.1 硬件资源分配建议根据你的使用场景合理分配资源纯代码开发4GB内存2核心CPU就够了小模型训练8GB内存4核心CPU大模型训练16GB内存8核心CPUGPU穿透动态调整VMware支持运行时调整CPU和内存分配你可以先少分配一些不够再加。6.2 磁盘性能优化虚拟机磁盘性能很重要特别是训练时要读写大量数据# 在虚拟机内启用TRIM如果是固态硬盘 sudo fstrim -av # 调整磁盘缓存策略 # 在虚拟机设置中将磁盘缓存改为回写虚拟磁盘类型用SCSI磁盘比IDE性能更好特别是对于Ubuntu系统。6.3 内存优化技巧安装VMware Tools提升性能调整虚拟机的交换空间大小关闭不必要的视觉特效# 安装VMware ToolsUbuntu sudo apt install -y open-vm-tools open-vm-tools-desktop7. 实用技巧与日常使用7.1 快照管理快照是VMware最好用的功能之一可以随时保存虚拟机状态重大操作前拍快照比如安装新软件、升级系统实验前拍快照尝试新方法前拍一个失败了直接恢复定期清理旧快照快照占用磁盘空间不用了就删除我习惯用日期操作作为快照名比如2024-01-15_before_tf_update。7.2 文件共享主机和虚拟机之间传文件很方便# 在VMware中设置共享文件夹 # 虚拟机设置 → 选项 → 共享文件夹 → 添加 # 在虚拟机内访问共享文件夹 cd /mnt/hgfs/共享文件夹名拖放功能安装VMware Tools后可以直接拖放文件 between 主机和虚拟机。7.3 网络配置桥接模式虚拟机像独立电脑一样在网络中NAT模式虚拟机通过主机上网推荐主机模式虚拟机和主机组成独立网络大多数情况用NAT模式就够了既能上网又相对安全。8. 常见问题解决虚拟机卡顿可能是内存分配不足尝试增加内存或关闭一些程序。GPU不识别检查GPU穿透设置确认驱动版本一致。网络连接问题尝试重启VMware网络服务# 在主机上Windows 以管理员身份运行services.msc 重启VMware NAT Service和VMware DHCP Service磁盘空间不足使用VMware的磁盘清理工具压缩虚拟磁盘。9. 总结用VMware搭建深度学习环境其实挺简单的关键是掌握了方法后能省去很多麻烦。我最开始也是各种环境冲突搞得头大用了虚拟机后就再也没重装过系统。现在我的工作流是这样的有一个干净的模板虚拟机装好了常用工具。新项目来了就克隆一个在克隆的环境里装需要的框架版本。项目做完如果不再用了就直接删除不影响其他项目。如果你刚开始用可能会觉得虚拟机有点占资源但习惯后就会发现这点开销比起环境冲突带来的麻烦实在不算什么。特别是做实验的时候随便折腾也不怕把系统搞崩这种安全感是很值的。建议你先从一个小项目开始尝试熟悉了虚拟机的使用后再逐步应用到所有项目中。遇到问题多查文档VMware的社区很活跃大多数问题都能找到解决方案。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

更多文章