第1章:Python与深度学习环境搭建

各位同学好,我是你们这门课的主讲。在正式开始做癫痫预测模型之前,咱们得先把家伙事儿备齐了。说白了,就像厨师做菜前得先有锅有灶一样,深度学习也得有个好环境。

我个人习惯把环境搭建分成四步走:Python基础环境、GPU加速配置、深度学习框架、科学计算库。咱们一步步来,别急。

本章核心目标:搭建一个稳定、可复现的深度学习开发环境,确保后续所有实验都能顺利跑通。

1.1 Anaconda与Python 3.8安装

为什么选Python 3.8?嗯,这里有个小故事。我在2020年做脑电信号处理项目时,发现很多医学信号处理的库对Python 3.9以上版本支持不太好。3.8版本经过多年验证,兼容性最好,尤其是MNE库。

安装步骤:

  1. 去Anaconda官网下载对应系统的安装包(Windows/Linux/Mac)
  2. 安装时记得勾选"Add Anaconda to my PATH environment variable"
  3. 安装完成后打开终端,输入 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则是专门为深度学习优化的加速库。

配置步骤:

  1. 查看显卡驱动版本:nvidia-smi
  2. 根据驱动版本选择CUDA版本(一般选11.8或12.1)
  3. 下载对应版本的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,这样能自动处理依赖关系。

知识体系总览

下面这张图展示了咱们搭建的环境各组件之间的关系,你可以把它当作一张"地图":

深度学习环境搭建知识体系 癫痫预测模型开发 PyTorch深度学习框架 CUDA + cuDNN GPU加速 Python 3.8 + Anaconda 基础环境 NumPy · SciPy · Matplotlib · MNE · Jupyter 每一层都依赖下一层,搭建时务必从下往上,逐层验证

看到这张图你就明白了,咱们的搭建顺序是从底层往上走:先装Python和Anaconda,再配GPU加速,然后装PyTorch,最后装科学计算库。每一步都要验证通过,再走下一步。

最后说一句:环境搭建看似繁琐,但这是所有实验的基础。我见过太多同学因为环境问题浪费大量时间。花半天时间把环境配好,后面就能专心做模型了,这笔账怎么算都划算。

专注资料整理