第1章:Python与深度学习环境搭建
各位同学好,我是你们这门课的主讲。在正式开始做癫痫预测模型之前,咱们得先把家伙事儿备齐了。说白了,就像厨师做菜前得先有锅有灶一样,深度学习也得有个好环境。
我个人习惯把环境搭建分成四步走:Python基础环境、GPU加速配置、深度学习框架、科学计算库。咱们一步步来,别急。
本章核心目标:搭建一个稳定、可复现的深度学习开发环境,确保后续所有实验都能顺利跑通。
1.1 Anaconda与Python 3.8安装
为什么选Python 3.8?嗯,这里有个小故事。我在2020年做脑电信号处理项目时,发现很多医学信号处理的库对Python 3.9以上版本支持不太好。3.8版本经过多年验证,兼容性最好,尤其是MNE库。
安装步骤:
- 去Anaconda官网下载对应系统的安装包(Windows/Linux/Mac)
- 安装时记得勾选"Add Anaconda to my PATH environment variable"
- 安装完成后打开终端,输入
conda --version验证
我的小建议:创建独立的虚拟环境,别把项目依赖混在一起。我曾经因为环境混乱,花了一整天排查依赖冲突,血的教训啊。
# 创建虚拟环境
conda create -n epilepsy python=3.8
# 激活环境
conda activate epilepsy
# 验证Python版本
python --version
1.2 PyTorch框架安装与验证
PyTorch现在几乎是医学信号处理领域的标配了。为什么?因为它的动态图机制特别适合我们这种需要频繁调试的研究场景。你想想看,做癫痫预测时,模型结构经常要调整,PyTorch的灵活性就体现出来了。
安装命令:
# CPU版本(如果你没有NVIDIA显卡)
pip install torch torchvision torchaudio
# GPU版本(推荐,后续会配置CUDA)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
注意:安装前一定要确认你的CUDA版本。我曾经帮一个学生排查问题,他装了CUDA 12.x的PyTorch,但机器上只有CUDA 11.8,结果GPU死活用不上。
验证代码:
import torch
print("PyTorch版本:", torch.__version__)
print("CUDA是否可用:", torch.cuda.is_available())
print("GPU数量:", torch.cuda.device_count())
if torch.cuda.is_available():
print("当前GPU:", torch.cuda.get_device_name(0))
1.3 CUDA与cuDNN配置(GPU加速)
说白了,CUDA就是NVIDIA给GPU开的"后门",让咱们能用显卡做通用计算。cuDNN则是专门为深度学习优化的加速库。
配置步骤:
- 查看显卡驱动版本:
nvidia-smi - 根据驱动版本选择CUDA版本(一般选11.8或12.1)
- 下载对应版本的cuDNN,解压后复制到CUDA安装目录
避坑指南:我曾经在配置cuDNN时,直接把文件复制错了位置,结果训练速度比CPU还慢。正确做法是把cuDNN的bin、include、lib三个文件夹分别合并到CUDA的对应目录下。
# 验证CUDA
nvcc --version
# 验证cuDNN(在Python中)
import torch
print("cuDNN版本:", torch.backends.cudnn.version())
print("cuDNN是否启用:", torch.backends.cudnn.enabled)
1.4 Jupyter Notebook/Lab设置
我个人更喜欢Jupyter Lab,界面更现代化,支持多标签页。做脑电信号分析时,经常需要同时看数据、写代码、画图,Lab的多窗口功能特别实用。
# 安装Jupyter Lab
pip install jupyterlab
# 启动
jupyter lab
# 或者用Notebook
jupyter notebook
小技巧:在Jupyter中运行 %matplotlib inline 可以让图表直接显示在单元格下方,不用弹窗。做信号可视化时特别方便。
1.5 常用科学计算库安装
这些库是咱们做医学信号处理的"左膀右臂"。我按使用频率排个序:
| 库名 | 用途 | 安装命令 |
|---|---|---|
| NumPy | 数组运算、矩阵操作 | pip install numpy |
| SciPy | 信号滤波、傅里叶变换 | pip install scipy |
| Matplotlib | 数据可视化 | pip install matplotlib |
| MNE | 脑电/脑磁图专用库 | pip install mne |
验证安装:
import numpy as np
import scipy as sp
import matplotlib.pyplot as plt
import mne
print("NumPy版本:", np.__version__)
print("SciPy版本:", sp.__version__)
print("MNE版本:", mne.__version__)
# 快速测试:生成一个正弦波并画图
t = np.linspace(0, 1, 1000)
signal = np.sin(2 * np.pi * 10 * t)
plt.plot(t, signal)
plt.title("测试信号")
plt.show()
注意:MNE库安装时可能会遇到依赖问题。我建议用conda安装:conda install -c conda-forge mne,这样能自动处理依赖关系。
知识体系总览
下面这张图展示了咱们搭建的环境各组件之间的关系,你可以把它当作一张"地图":
看到这张图你就明白了,咱们的搭建顺序是从底层往上走:先装Python和Anaconda,再配GPU加速,然后装PyTorch,最后装科学计算库。每一步都要验证通过,再走下一步。
最后说一句:环境搭建看似繁琐,但这是所有实验的基础。我见过太多同学因为环境问题浪费大量时间。花半天时间把环境配好,后面就能专心做模型了,这笔账怎么算都划算。