第1章:环境搭建——磨刀不误砍柴工

各位同学,我是你们的老朋友。做神经信号处理这些年,我踩过最多的坑,就是环境配置。说实话,一个干净、稳定的开发环境,比选什么模型都重要。今天咱们就把这套工具链彻底搞定。

1.1 为什么选Anaconda?

你可能要问:直接用pip装不行吗?我刚开始也这么想。直到有一次,我在一个项目里同时需要TensorFlow 1.x和2.x,结果两个版本互相打架,搞得我三天没睡好觉。

Anaconda的好处,说白了就是三点:

  • 环境隔离:每个项目一个虚拟环境,互不干扰
  • 包管理省心:conda install比pip稳得多,尤其对于科学计算库
  • 自带常用库:numpy、scipy、matplotlib这些,装好就有
我的建议:别用Miniconda,直接上完整版Anaconda。虽然大了点,但省去后面很多麻烦。

1.2 安装Anaconda

去官网下载对应系统的安装包。我习惯用64位版本,现在基本没人用32位了。

安装时注意两点:

  1. 路径不要有中文——我见过有人装在"程序文件"目录下,后面各种报错
  2. 勾选"Add Anaconda to PATH"——虽然安装程序会警告,但加上更方便

装完后,打开终端(Windows用Anaconda Prompt),输入:

conda --version

如果看到版本号,恭喜你,第一步完成了。

1.3 创建虚拟环境

我个人习惯,每个大项目建一个独立环境。比如这个课程,我建议叫neural_signal

conda create -n neural_signal python=3.9

这里选Python 3.9,是因为它跟TensorFlow 2.x和PyTorch 1.x都兼容得很好。我试过3.11,有些老库还不支持。

激活环境:

conda activate neural_signal

你会看到命令行前面多了(neural_signal),说明已经进入虚拟环境了。

注意:每次打开新终端,都要先激活环境。我曾经忘了这步,在base环境里装了一堆包,后来项目之间互相污染,搞得一团糟。

1.4 安装深度学习框架

这里我推荐两个都装。为什么?因为不同任务适合不同框架。比如做时序模型,我更喜欢PyTorch的动态图;但部署时,TensorFlow的SavedModel格式更友好。

安装TensorFlow

pip install tensorflow==2.10.0

注意:如果你有NVIDIA显卡,先装CUDA和cuDNN。我踩过的坑是:TensorFlow 2.10是最后一个支持GPU的版本,之后的版本只支持Windows上的DirectML。所以如果你用Linux,可以装2.11以上。

安装PyTorch

去PyTorch官网,根据你的系统选命令。一般是这样:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

这里cu118表示CUDA 11.8。如果你没有GPU,去掉--index-url那部分就行。

验证安装

写个简单脚本测试一下:

import tensorflow as tf
import torch

print("TensorFlow version:", tf.__version__)
print("PyTorch version:", torch.__version__)

# 测试TensorFlow
print("TF GPU available:", tf.config.list_physical_devices('GPU'))

# 测试PyTorch
print("PyTorch CUDA available:", torch.cuda.is_available())

如果输出显示GPU可用,那你的环境就完美了。如果没有GPU也别灰心,CPU也能跑,就是慢点。

1.5 安装MNE库

MNE是处理脑电/脑磁信号的利器。我第一次接触它,是在处理一个癫痫患者的EEG数据时。当时用MATLAB处理,代码又臭又长。换成MNE后,几行代码就搞定了。

安装很简单:

pip install mne

验证一下:

import mne
print(mne.__version__)

MNE自带了一些示例数据,我们可以用它来测试:

# 加载示例数据
sample_data_folder = mne.datasets.sample.data_path()
print("Sample data path:", sample_data_folder)

如果没报错,说明MNE安装成功,而且示例数据也下载好了。

避坑指南:我曾经在Windows上遇到MNE读取文件时编码报错。后来发现是系统区域设置问题。解决方案:在代码开头加上import locale; locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')

1.6 知识体系总览

下面这张图,是我自己总结的环境搭建全流程。你可以把它当作一个检查清单:

神经信号处理环境搭建流程 Anaconda 安装 虚拟环境创建 TensorFlow 安装 PyTorch 安装 MNE 安装 环境验证(GPU/数据加载) 注意:TensorFlow和PyTorch可以并行安装 建议使用Python 3.9以获得最佳兼容性

1.7 完整环境检查清单

最后,给你一个自检表。每完成一项,打个勾:

序号 检查项 验证命令 预期结果
1 Anaconda安装 conda --version 显示版本号
2 虚拟环境创建 conda env list 看到neural_signal环境
3 TensorFlow安装 python -c "import tensorflow; print(tensorflow.__version__)" 显示2.x版本
4 PyTorch安装 python -c "import torch; print(torch.__version__)" 显示1.x或2.x版本
5 MNE安装 python -c "import mne; print(mne.__version__)" 显示1.x版本
6 GPU可用性 运行验证脚本 显示GPU设备列表

好了,环境搭建就到这里。记住,这一步虽然枯燥,但值得花时间做好。后面咱们处理神经信号时,你会发现今天的所有努力都是值得的。


专注资料整理