3、Python环境搭建:Anaconda安装、虚拟环境创建、TensorFlow/PyTorch安装与验证
好,咱们正式开始动手了。
这一章,说白了就是给你的深度学习实验搭个窝。我见过太多同学,模型写好了,结果环境配了三天,最后发现是CUDA版本不对——这种坑,我踩过不止一次。所以,咱们稳一点,一步步来。
3.1 为什么非要用Anaconda?
你可能会问:我直接装个Python不行吗?
行,但你会后悔。做深度学习,你至少需要管理三四个不同的项目。每个项目依赖的Python版本、库版本可能都不一样。比如睡眠分期这个项目,我可能用TensorFlow 2.10,另一个项目用PyTorch 2.0。如果全装在一个环境里,迟早会冲突。
Anaconda就是来解决这个问题的。它自带Python,还能创建独立的虚拟环境。每个环境就像一个小盒子,互不干扰。
核心要点: Anaconda = Python + 包管理器(conda) + 虚拟环境管理器。你只需要装一次,后面所有项目都在各自的环境里跑。
3.2 Anaconda安装实战
我个人习惯用Miniconda,它比完整版Anaconda轻量很多,只保留核心功能。当然,你用Anaconda也没问题,就是安装包大了点(约500MB vs 50MB)。
3.2.1 下载与安装
- 去官网下载对应系统的安装包(Windows/Mac/Linux)
- 双击安装,一路默认即可
- 注意: Windows用户记得勾选“Add Anaconda to my PATH environment variable”
我曾经在Windows上没勾这个选项,结果后面每次打开终端都要手动激活conda,烦得很。所以,这一步别省。
3.2.2 验证安装
打开终端(Windows用cmd或PowerShell,Mac/Linux用bash),输入:
conda --version
如果看到类似 conda 23.7.4 的输出,说明装好了。
3.3 创建虚拟环境
好,现在我们来给睡眠分期项目单独建一个窝。
3.3.1 创建环境
conda create -n sleep_staging python=3.9
这里 -n sleep_staging 是环境名字,你可以随便起。Python版本我推荐3.9,因为TensorFlow和PyTorch对它的支持最稳定。3.10以上有些库还没完全适配。
3.3.2 激活环境
conda activate sleep_staging
激活后,终端前面会出现 (sleep_staging) 字样,说明你已经在虚拟环境里了。
小技巧: 每次打开新终端,记得先激活环境。我刚开始经常忘记,结果装了一堆库到base环境里,后来全乱了。
3.4 安装深度学习框架
这里有个选择题:TensorFlow还是PyTorch?
我的建议是:两个都装。虽然咱们课程主要用TensorFlow,但PyTorch在学术界更流行。你以后做研究、读论文,大概率会用到。而且,两个框架的安装命令几乎一样,不费事。
3.4.1 安装TensorFlow
pip install tensorflow==2.10.0
为什么指定2.10.0?因为这是最后一个原生支持GPU的Windows版本。2.11以后,Windows用户只能用WSL2来跑GPU。嗯,这里要注意,如果你用的是Linux或Mac,装最新版也行。
3.4.2 安装PyTorch
去PyTorch官网(pytorch.org)选你的配置,它会生成对应的命令。比如我的是:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
这里 cu118 表示CUDA 11.8版本。如果你没有NVIDIA显卡,或者不想用GPU,可以装CPU版本:
pip install torch torchvision torchaudio
避坑指南: 我在项目中遇到过,TensorFlow和PyTorch对CUDA版本的要求不一样。比如TF 2.10需要CUDA 11.2,而PyTorch 2.0需要CUDA 11.8。怎么办?装两个CUDA版本,或者用conda自动管理。我个人习惯用conda装,它会自动帮你搞定依赖。
3.5 验证安装
装完了,怎么知道能不能用?写几行代码验证一下。
3.5.1 验证TensorFlow
python -c "import tensorflow as tf; print(tf.__version__); print('GPU可用:', tf.config.list_physical_devices('GPU'))"
如果输出类似:
2.10.0
GPU可用: [PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]
说明TensorFlow装好了,而且GPU也能用。
3.5.2 验证PyTorch
python -c "import torch; print(torch.__version__); print('CUDA可用:', torch.cuda.is_available())"
输出:
2.0.1
CUDA可用: True
如果GPU不可用怎么办? 别慌。先检查显卡驱动:nvidia-smi。如果这个命令能跑,说明驱动没问题。再检查CUDA版本是否匹配。实在不行,先用CPU跑,咱们课程前几章的数据量,CPU也够用。
3.6 本章知识体系
下面这张图,帮你理清整个环境搭建的逻辑:
3.7 常见问题与解决
| 问题 | 原因 | 解决方法 |
|---|---|---|
conda: command not found |
没有添加到PATH | 重新安装,勾选“Add to PATH” |
| pip安装超时 | 默认源在国外 | 换国内源:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名 |
| GPU不可用 | CUDA版本不匹配 | 用 nvidia-smi 查看驱动支持的CUDA版本,再装对应的框架 |
| 环境冲突 | 在base环境里乱装包 | 删掉环境重建:conda remove -n sleep_staging --all |
最后提醒一句: 别在base环境里装任何项目依赖。base环境只负责管理conda本身。所有项目都创建独立环境。这是我在无数次环境崩溃后总结的血泪教训。
好了,环境搭好了。下一章,咱们开始真正接触睡眠分期的数据。你会看到,那些脑电波信号长什么样,以及我们怎么把它们喂给模型。
公众号:蓝海资料掘金营,微信deep3321