LaBraM项目安装与配置指南

LaBraM项目安装与配置指南

LaBraM ICLR 2024 spotlight LaBraM 项目地址: https://gitcode.com/gh_mirrors/la/LaBraM

1. 项目基础介绍

LaBraM(Large Brain Model)是一个用于脑-计算机接口(BCI)的开源项目,旨在通过大量EEG(脑电图)数据学习通用表征。该项目是ICLR 2024论文"Large Brain Model for Learning Generic Representations with Tremendous EEG Data in BCI"的官方实现。它使用大规模的EEG数据,通过无监督预训练来获取EEG信号的通用感知能力,随后可以在不同的下游任务上进行微调。项目主要使用的编程语言是Python。

2. 关键技术和框架

  • EEG信号处理:项目包括对EEG信号进行预处理的部分,如去噪、滤波和重采样等。
  • 向量量化神经光谱预测(VQNSP):用于训练神经标记器,将连续的原始EEG通道片段编码为紧凑的神经代码。
  • Transformer架构:通过预测被遮蔽的EEG通道片段的原始神经代码来进行预训练。
  • 深度学习框架:使用PyTorch作为主要的深度学习框架。

3. 安装和配置准备工作

在开始安装之前,请确保您的计算机满足以下要求:

  • Python 3.11
  • PyTorch、torchvision和torchaudio库
  • 适用于CUDA的PyTorch(如果使用NVIDIA GPU)
  • tensorboardX库
  • Git(用于克隆项目)

安装步骤

  1. 克隆项目仓库

    git clone https://github.com/935963004/LaBraM.git
    cd LaBraM
    
  2. 设置Python环境

    conda create -n labram python=3.11
    conda activate labram
    
  3. 安装PyTorch和相关库

    conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.8 -c pytorch -c nvidia
    

    注意:确保安装与您GPU兼容的PyTorch版本。

  4. 安装其他Python依赖

    conda install tensorboardX
    pip install -r requirements.txt
    
  5. 准备预训练数据

    • 将原始EEG文件(如.cnt、.edf、.bdf等)转换为hdf5格式的文件。可以使用项目中提供的示例代码进行转换。
  6. 训练神经标记器

    使用以下命令开始训练:

    OMP_NUM_THREADS=1 torchrun --nnodes=1 --nproc_per_node=8 run_vqnsp_training.py \
    --output_dir ./checkpoints/vqnsp/ \
    --log_dir ./log/vqnsp/ \
    --model vqnsp_encoder_base_decoder_3x200x12 \
    --codebook_n_emd 8192 \
    --codebook_emd_dim 64 \
    --quantize_kmeans_init \
    --batch_size 128 \
    --opt adamw \
    --opt_betas 0.9 0.99 \
    --weight_decay 1e-4 \
    --warmup_epochs 10 \
    --epochs 100 \
    --save_ckpt_freq 20
    
  7. LaBraM预训练

    使用以下命令开始预训练:

    OMP_NUM_THREADS=1 torchrun --nnodes=1 --nproc_per_node=8 run_labram_pretraining.py \
    --output_dir ./checkpoints/labram_base \
    --log_dir ./log/labram_base \
    --model labram_base_patch200_1600_8k_vocab \
    --tokenizer_model vqnsp_encoder_base_decoder_3x200x12 \
    --tokenizer_weight ./checkpoints/vqnsp.pth \
    --batch_size 64 \
    --lr 5e-4 \
    --warmup_epochs 5 \
    --clip_grad 3.0 \
    --drop_path 0. \
    --layer_scale_init_value 0.1 \
    --opt_betas 0.9 0.98 \
    --opt_eps 1e-8 \
    --epochs 50 \
    --save_ckpt_freq 5 \
    --codebook_dim 64 \
    --gradient_accumulation_steps 1
    
  8. 在下游任务上微调

    在微调之前,使用项目中的代码预处理下游数据集,并分为训练集、验证集和测试集。然后可以使用以下命令进行微调:

    OMP_NUM_THREADS=1 torchrun --nnodes=1 --nproc_per_node=8 run_class_finetuning.py \
    --output_dir ./checkpoints/finetune_tuab_base/ \
    --log_dir ./log/finetune_tuab_base \
    --model labram_base_patch200_200 \
    --finetune ./checkpoints/labram-base.pth \
    --weight_decay 0.05 \
    --batch_size 64 \
    --lr 5e-4 \
    --update_freq 1 \
    --warmup_epochs 5 \
    --epochs 50 \
    --layer_decay 0.65 \
    --drop_path 0.1 \
    --save_ckpt_freq 5 \
    --disable_rel_pos_bias \
    --abs_pos_emb \
    --dataset TUAB \
    --disable_qkv_bias \
    --seed 0
    

以上步骤提供了从环境配置到模型训练的详细指南。请根据您的具体需求调整命令中的参数。

LaBraM ICLR 2024 spotlight LaBraM 项目地址: https://gitcode.com/gh_mirrors/la/LaBraM

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张涓曦Sea

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值