[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-935963004--LaBraM":3,"tool-935963004--LaBraM":65},[4,23,32,40,49,57],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":22},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,2,"2026-04-05T10:45:23",[13,14,15,16,17,18,19,20,21],"图像","数据工具","视频","插件","Agent","其他","语言模型","开发框架","音频","ready",{"id":24,"name":25,"github_repo":26,"description_zh":27,"stars":28,"difficulty_score":29,"last_commit_at":30,"category_tags":31,"status":22},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,3,"2026-04-04T04:44:48",[17,13,20,19,18],{"id":33,"name":34,"github_repo":35,"description_zh":36,"stars":37,"difficulty_score":29,"last_commit_at":38,"category_tags":39,"status":22},519,"PaddleOCR","PaddlePaddle\u002FPaddleOCR","PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来，转换成计算机可读取的结构化数据，让机器真正“看懂”图文内容。\n\n面对海量纸质或电子文档，PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域，它扮演着连接图像与大型语言模型（LLM）的桥梁角色，能将视觉信息直接转化为文本输入，助力智能问答、文档分析等应用场景落地。\n\nPaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显：不仅支持全球 100 多种语言的识别，还能在 Windows、Linux、macOS 等多个系统上运行，并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目，PaddleOCR 既能满足快速集成的需求，也能支撑前沿的视觉语言研究，是处理文字识别任务的理想选择。",74939,"2026-04-05T23:16:38",[19,13,20,18],{"id":41,"name":42,"github_repo":43,"description_zh":44,"stars":45,"difficulty_score":46,"last_commit_at":47,"category_tags":48,"status":22},3215,"awesome-machine-learning","josephmisiti\u002Fawesome-machine-learning","awesome-machine-learning 是一份精心整理的机器学习资源清单，汇集了全球优秀的机器学习框架、库和软件工具。面对机器学习领域技术迭代快、资源分散且难以甄选的痛点，这份清单按编程语言（如 Python、C++、Go 等）和应用场景（如计算机视觉、自然语言处理、深度学习等）进行了系统化分类，帮助使用者快速定位高质量项目。\n\n它特别适合开发者、数据科学家及研究人员使用。无论是初学者寻找入门库，还是资深工程师对比不同语言的技术选型，都能从中获得极具价值的参考。此外，清单还延伸提供了免费书籍、在线课程、行业会议、技术博客及线下聚会等丰富资源，构建了从学习到实践的全链路支持体系。\n\n其独特亮点在于严格的维护标准：明确标记已停止维护或长期未更新的项目，确保推荐内容的时效性与可靠性。作为机器学习领域的“导航图”，awesome-machine-learning 以开源协作的方式持续更新，旨在降低技术探索门槛，让每一位从业者都能高效地站在巨人的肩膀上创新。",72149,1,"2026-04-03T21:50:24",[20,18],{"id":50,"name":51,"github_repo":52,"description_zh":53,"stars":54,"difficulty_score":46,"last_commit_at":55,"category_tags":56,"status":22},2234,"scikit-learn","scikit-learn\u002Fscikit-learn","scikit-learn 是一个基于 Python 构建的开源机器学习库，依托于 SciPy、NumPy 等科学计算生态，旨在让机器学习变得简单高效。它提供了一套统一且简洁的接口，涵盖了从数据预处理、特征工程到模型训练、评估及选择的全流程工具，内置了包括线性回归、支持向量机、随机森林、聚类等在内的丰富经典算法。\n\n对于希望快速验证想法或构建原型的数据科学家、研究人员以及 Python 开发者而言，scikit-learn 是不可或缺的基础设施。它有效解决了机器学习入门门槛高、算法实现复杂以及不同模型间调用方式不统一的痛点，让用户无需重复造轮子，只需几行代码即可调用成熟的算法解决分类、回归、聚类等实际问题。\n\n其核心技术亮点在于高度一致的 API 设计风格，所有估算器（Estimator）均遵循相同的调用逻辑，极大地降低了学习成本并提升了代码的可读性与可维护性。此外，它还提供了强大的模型选择与评估工具，如交叉验证和网格搜索，帮助用户系统地优化模型性能。作为一个由全球志愿者共同维护的成熟项目，scikit-learn 以其稳定性、详尽的文档和活跃的社区支持，成为连接理论学习与工业级应用的最",65628,"2026-04-05T10:10:46",[20,18,14],{"id":58,"name":59,"github_repo":60,"description_zh":61,"stars":62,"difficulty_score":10,"last_commit_at":63,"category_tags":64,"status":22},3364,"keras","keras-team\u002Fkeras","Keras 是一个专为人类设计的深度学习框架，旨在让构建和训练神经网络变得简单直观。它解决了开发者在不同深度学习后端之间切换困难、模型开发效率低以及难以兼顾调试便捷性与运行性能的痛点。\n\n无论是刚入门的学生、专注算法的研究人员，还是需要快速落地产品的工程师，都能通过 Keras 轻松上手。它支持计算机视觉、自然语言处理、音频分析及时间序列预测等多种任务。\n\nKeras 3 的核心亮点在于其独特的“多后端”架构。用户只需编写一套代码，即可灵活选择 TensorFlow、JAX、PyTorch 或 OpenVINO 作为底层运行引擎。这一特性不仅保留了 Keras 一贯的高层易用性，还允许开发者根据需求自由选择：利用 JAX 或 PyTorch 的即时执行模式进行高效调试，或切换至速度最快的后端以获得最高 350% 的性能提升。此外，Keras 具备强大的扩展能力，能无缝从本地笔记本电脑扩展至大规模 GPU 或 TPU 集群，是连接原型开发与生产部署的理想桥梁。",63927,"2026-04-04T15:24:37",[20,14,18],{"id":66,"github_repo":67,"name":68,"description_en":69,"description_zh":70,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":79,"owner_email":79,"owner_twitter":79,"owner_website":81,"owner_url":82,"languages":83,"stars":88,"forks":66,"last_commit_at":89,"license":90,"difficulty_score":29,"env_os":91,"env_gpu":92,"env_ram":91,"env_deps":93,"category_tags":101,"github_topics":79,"view_count":102,"oss_zip_url":79,"oss_zip_packed_at":79,"status":22,"created_at":103,"updated_at":104,"faqs":105,"releases":136},108,"935963004\u002FLaBraM","LaBraM","[ICLR 2024 spotlight] Large Brain Model for Learning Generic Representations with Tremendous EEG Data in BCI","LaBraM 是一个面向脑机接口（BCI）领域的通用脑电基础模型，旨在突破传统脑电深度学习模型规模受限且泛化能力不足的瓶颈。针对脑电数据普遍存在的数据集规模小、格式差异大（如电极数量不一、样本长度不等）以及信噪比低等挑战，LaBraM 通过在约 2500 小时、来自 20 个不同数据集的脑电信号上进行无监督预训练，学习到了通用的信号感知表示。\n\n用户加载预训练权重后，只需针对特定任务进行微调，即可在异常检测、事件分类、情绪识别及步态预测等多种下游任务中取得优于现有最先进方法的性能。LaBraM 的技术亮点在于将脑电信号分割为通道补丁，利用向量量化神经频谱预测（VQ-NSP）构建语义丰富的神经 Tokenizer，并基于 Masked Modeling 策略训练 Transformer 架构，实现了跨数据集学习。\n\nLaBraM 适合从事脑科学、人工智能及脑机接口研究的开发人员与科研人员使用。通过提供统一的预处理流程和微调脚本，LaBraM 降低了大规模脑电模型的应用门槛，助力研究者探索通用脑电感知能力的更多可能性。","# LaBraM\n\nOfficial implementation of our ICLR 2024 paper:\n[**Large Brain Model for Learning Generic Representations with Tremendous EEG Data in BCI**](https:\u002F\u002Fopenreview.net\u002Fforum?id=QzTpTRVtrP)\n\n![labram](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002F935963004_LaBraM_readme_2913995cb3b3.png)\n\n## Abstract\n\nThe current electroencephalogram (EEG) based deep learning models are typically designed for specific datasets and applications in brain-computer interaction (BCI), limiting the scale of the models and thus diminishing their perceptual capabilities and generalizability. Recently, Large Language Models (LLMs) have achieved unprecedented success in text processing, prompting us to explore the capabilities of Large EEG Models (LEMs). We hope that LEMs can break through the limitations of different task types of EEG datasets, and obtain universal perceptual capabilities of EEG signals through unsupervised pre-training. Then the models can be fine-tuned for different downstream tasks. However, compared to text data, the volume of EEG datasets is generally small and the format varies widely. For example, there can be mismatched numbers of electrodes, unequal length data samples, varied task designs, and low signal-to-noise ratio. To overcome these challenges, we propose a unified foundation model for EEG called Large Brain Model (LaBraM). LaBraM enables cross-dataset learning by segmenting the EEG signals into EEG channel patches. Vector-quantized neural spectrum prediction is used to train a semantically rich neural tokenizer that encodes continuous raw EEG channel patches into compact neural codes. We then pre-train neural Transformers by predicting the original neural codes for the masked EEG channel patches. The LaBraMs were pre-trained on about 2,500 hours of various types of EEG signals from around 20 datasets and validated on multiple different types of downstream tasks. Experiments on abnormal detection, event type classification, emotion recognition, and gait prediction show that our LaBraM outperforms all compared SOTA methods in their respective fields.\n\n---\n\n## Environment Setup\n\nCreate the environment and install dependencies:\n\n```bash\nconda create -n labram python=3.11\nconda activate labram\nconda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.8 -c pytorch -c nvidia\nconda install tensorboardX\npip install -r requirements.txt\n```\n\n---\n\n## [IMPORTANT] Fine-tune on Your Own Dataset\n\nYou can adapt LaBraM to your own datasets by following the fine-tuning scripts provided for TUAB and TUEV. Simply replace the dataset-specific parts of the code with your own data. When doing so, make sure to:\n\n1. Load a pre-trained LaBraM checkpoint.\n2. Provide the input channel order list to specify the channel configuration.\n\n**The above two points are significant to obtain normal performance of LaBraM.**\n\n---\n\n## Running Experiments\n\n### 1. Prepare Pre-training Data\n\nConvert raw EEG files (e.g., `.cnt`, `.edf`, `.bdf`) into HDF5 format using:\n\n```\ndataset_maker\u002Fmake_h5dataset_for_pretrain.py\n```\n\nYou may also implement your own preprocessing pipeline, but please ensure it matches the setup in our paper:\n\n* Remove irrelevant channels\n* Bandpass filter: **0.1–75 Hz**\n* Notch filter: **50 Hz**\n* Resample to **200 Hz**\n* Set unit to **µV**\n\n---\n\n### 2. Train the Neural Tokenizer\n\nThe tokenizer is trained via **vector-quantized neural spectrum prediction (VQ-NSP)**. We recommend training on **8 × NVIDIA RTX 3090 (or better)** GPUs.\n\n```bash\nOMP_NUM_THREADS=1 torchrun --nnodes=1 --nproc_per_node=8 run_vqnsp_training.py \\\n    --output_dir .\u002Fcheckpoints\u002Fvqnsp\u002F \\\n    --log_dir .\u002Flog\u002Fvqnsp\u002F \\\n    --model vqnsp_encoder_base_decoder_3x200x12 \\\n    --codebook_n_emd 8192 \\\n    --codebook_emd_dim 64 \\\n    --quantize_kmeans_init \\\n    --batch_size 128 \\\n    --opt adamw \\\n    --opt_betas 0.9 0.99 \\\n    --weight_decay 1e-4 \\\n    --warmup_epochs 10 \\\n    --epochs 100 \\\n    --save_ckpt_freq 20\n```\n\n---\n\n### 3. Pre-train LaBraM\n\nPre-train LaBraM by reconstructing masked neural codes from EEG channel patches:\n\n```bash\nOMP_NUM_THREADS=1 torchrun --nnodes=1 --nproc_per_node=8 run_labram_pretraining.py \\\n    --output_dir .\u002Fcheckpoints\u002Flabram_base \\\n    --log_dir .\u002Flog\u002Flabram_base \\\n    --model labram_base_patch200_1600_8k_vocab \\\n    --tokenizer_model vqnsp_encoder_base_decoder_3x200x12 \\\n    --tokenizer_weight .\u002Fcheckpoints\u002Fvqnsp.pth \\\n    --batch_size 64 \\\n    --lr 5e-4 \\\n    --warmup_epochs 5 \\\n    --clip_grad 3.0 \\\n    --drop_path 0. \\\n    --layer_scale_init_value 0.1 \\\n    --opt_betas 0.9 0.98 \\\n    --opt_eps 1e-8 \\\n    --epochs 50 \\\n    --save_ckpt_freq 5 \\\n    --codebook_dim 64 \\\n    --gradient_accumulation_steps 1\n```\n\n---\n\n### 4. Fine-tune on Downstream Tasks\n\nPreprocess datasets (e.g., TUAB, TUEV) using:\n\n```\ndataset_maker\u002Fmake_TUAB.py\ndataset_maker\u002Fmake_TUEV.py\n```\n\nThis includes preprocessing and splitting into train\u002Fval\u002Ftest sets. Hyperparameters such as **learning rate** and **warmup epochs** strongly affect results—tune them for best performance. Below is the TUAB example:\n\n```bash\nOMP_NUM_THREADS=1 torchrun --nnodes=1 --nproc_per_node=8 run_class_finetuning.py \\\n    --output_dir .\u002Fcheckpoints\u002Ffinetune_tuab_base\u002F \\\n    --log_dir .\u002Flog\u002Ffinetune_tuab_base \\\n    --model labram_base_patch200_200 \\\n    --finetune .\u002Fcheckpoints\u002Flabram-base.pth \\\n    --weight_decay 0.05 \\\n    --batch_size 64 \\\n    --lr 5e-4 \\\n    --update_freq 1 \\\n    --warmup_epochs 5 \\\n    --epochs 50 \\\n    --layer_decay 0.65 \\\n    --drop_path 0.1 \\\n    --save_ckpt_freq 5 \\\n    --disable_rel_pos_bias \\\n    --abs_pos_emb \\\n    --dataset TUAB \\\n    --disable_qkv_bias \\\n    --seed 0\n```\n\n---\n\n## Citation\n\nIf you find our paper\u002Fcode useful, please consider citing our work:\n\n```bibtex\n@inproceedings{\njiang2024large,\ntitle={Large Brain Model for Learning Generic Representations with Tremendous {EEG} Data in {BCI}},\nauthor={Wei-Bang Jiang and Li-Ming Zhao and Bao-Liang Lu},\nbooktitle={The Twelfth International Conference on Learning Representations},\nyear={2024},\nurl={https:\u002F\u002Fopenreview.net\u002Fforum?id=QzTpTRVtrP}\n}\n```\n","# LaBraM\n\n我们 ICLR 2024（国际学习表征会议）论文的官方实现：\n[**Large Brain Model for Learning Generic Representations with Tremendous EEG Data in BCI**](https:\u002F\u002Fopenreview.net\u002Fforum?id=QzTpTRVtrP)\n\n![labram](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002F935963004_LaBraM_readme_2913995cb3b3.png)\n\n## 摘要\n\n当前的基于脑电图（EEG）的深度学习模型通常是为脑机交互（BCI）中的特定数据集和应用设计的，限制了模型的规模，从而削弱了其感知能力和泛化性。最近，大型语言模型（LLMs）在文本处理方面取得了前所未有的成功，促使我们探索大型脑电模型（LEMs）的能力。我们希望 LEMs 能够突破不同任务类型 EEG 数据集的限制，并通过无监督预训练获得 EEG 信号的通用感知能力。然后，模型可以针对不同的下游任务进行微调。然而，与文本数据相比，EEG 数据集的体积通常较小且格式差异很大。例如，可能存在电极数量不匹配、数据样本长度不等、任务设计多样以及信噪比低等问题。为了克服这些挑战，我们提出了一个统一的 EEG 基础模型，称为大型脑模型（LaBraM）。LaBraM 通过将 EEG 信号分割为 EEG 通道片段来实现跨数据集学习。矢量量化神经频谱预测（VQ-NSP）用于训练一个语义丰富的神经分词器（tokenizer），将连续的原始 EEG 通道片段编码为紧凑的神经代码。然后，我们通过预测掩码 EEG 通道片段的原始神经代码来预训练神经 Transformer。LaBraM 在来自约 20 个数据集的约 2,500 小时的各种类型的 EEG 信号上进行了预训练，并在多种不同类型的下游任务上进行了验证。在异常检测、事件类型分类、情绪识别和步态预测上的实验表明，我们的 LaBraM 在其各自领域优于所有对比的最先进（SOTA）方法。\n\n---\n\n## 环境设置\n\n创建环境并安装依赖：\n\n```bash\nconda create -n labram python=3.11\nconda activate labram\nconda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.8 -c pytorch -c nvidia\nconda install tensorboardX\npip install -r requirements.txt\n```\n\n---\n\n## [重要] 在您自己的数据集上微调\n\n您可以遵循为 TUAB 和 TUEV 提供的微调脚本，将 LaBraM 适配到您自己的数据集。只需将代码中特定于数据集的部分替换为您自己的数据。这样做时，请确保：\n\n1. 加载预训练的 LaBraM 检查点（checkpoint）。\n2. 提供输入通道顺序列表以指定通道配置。\n\n**以上两点对获得 LaBraM 的正常性能至关重要。**\n\n---\n\n## 运行实验\n\n### 1. 准备预训练数据\n\n使用以下脚本将原始 EEG 文件（例如 `.cnt`, `.edf`, `.bdf`）转换为 HDF5 格式：\n\n```\ndataset_maker\u002Fmake_h5dataset_for_pretrain.py\n```\n\n您也可以实现自己的预处理流程，但请确保它与我们论文中的设置匹配：\n\n* 移除无关通道\n* 带通滤波器：**0.1–75 Hz**\n* 陷波滤波器：**50 Hz**\n* 重采样至 **200 Hz**\n* 设置单位为 **µV**\n\n---\n\n### 2. 训练神经分词器（Neural Tokenizer）\n\n分词器（tokenizer）通过**矢量量化神经频谱预测（VQ-NSP）**进行训练。我们建议在 **8 × NVIDIA RTX 3090（或更好）** GPU 上进行训练。\n\n```bash\nOMP_NUM_THREADS=1 torchrun --nnodes=1 --nproc_per_node=8 run_vqnsp_training.py \\\n    --output_dir .\u002Fcheckpoints\u002Fvqnsp\u002F \\\n    --log_dir .\u002Flog\u002Fvqnsp\u002F \\\n    --model vqnsp_encoder_base_decoder_3x200x12 \\\n    --codebook_n_emd 8192 \\\n    --codebook_emd_dim 64 \\\n    --quantize_kmeans_init \\\n    --batch_size 128 \\\n    --opt adamw \\\n    --opt_betas 0.9 0.99 \\\n    --weight_decay 1e-4 \\\n    --warmup_epochs 10 \\\n    --epochs 100 \\\n    --save_ckpt_freq 20\n```\n\n---\n\n### 3. 预训练 LaBraM\n\n通过从 EEG 通道片段重建掩码神经代码来预训练 LaBraM：\n\n```bash\nOMP_NUM_THREADS=1 torchrun --nnodes=1 --nproc_per_node=8 run_labram_pretraining.py \\\n    --output_dir .\u002Fcheckpoints\u002Flabram_base \\\n    --log_dir .\u002Flog\u002Flabram_base \\\n    --model labram_base_patch200_1600_8k_vocab \\\n    --tokenizer_model vqnsp_encoder_base_decoder_3x200x12 \\\n    --tokenizer_weight .\u002Fcheckpoints\u002Fvqnsp.pth \\\n    --batch_size 64 \\\n    --lr 5e-4 \\\n    --warmup_epochs 5 \\\n    --clip_grad 3.0 \\\n    --drop_path 0. \\\n    --layer_scale_init_value 0.1 \\\n    --opt_betas 0.9 0.98 \\\n    --opt_eps 1e-8 \\\n    --epochs 50 \\\n    --save_ckpt_freq 5 \\\n    --codebook_dim 64 \\\n    --gradient_accumulation_steps 1\n```\n\n---\n\n### 4. 在下游任务上微调\n\n使用以下脚本预处理数据集（例如 TUAB, TUEV）：\n\n```\ndataset_maker\u002Fmake_TUAB.py\ndataset_maker\u002Fmake_TUEV.py\n```\n\n这包括预处理并分割为训练\u002F验证\u002F测试集。**学习率**和**预热轮数（warmup epochs）**等超参数对结果影响很大——请调整它们以获得最佳性能。以下是 TUAB 示例：\n\n```bash\nOMP_NUM_THREADS=1 torchrun --nnodes=1 --nproc_per_node=8 run_class_finetuning.py \\\n    --output_dir .\u002Fcheckpoints\u002Ffinetune_tuab_base\u002F \\\n    --log_dir .\u002Flog\u002Ffinetune_tuab_base \\\n    --model labram_base_patch200_200 \\\n    --finetune .\u002Fcheckpoints\u002Flabram-base.pth \\\n    --weight_decay 0.05 \\\n    --batch_size 64 \\\n    --lr 5e-4 \\\n    --update_freq 1 \\\n    --warmup_epochs 5 \\\n    --epochs 50 \\\n    --layer_decay 0.65 \\\n    --drop_path 0.1 \\\n    --save_ckpt_freq 5 \\\n    --disable_rel_pos_bias \\\n    --abs_pos_emb \\\n    --dataset TUAB \\\n    --disable_qkv_bias \\\n    --seed 0\n```\n\n---\n\n## 引用\n\n如果您发现我们的论文\u002F代码有用，请考虑引用我们的工作：\n\n```bibtex\n@inproceedings{\njiang2024large,\ntitle={Large Brain Model for Learning Generic Representations with Tremendous {EEG} Data in {BCI}},\nauthor={Wei-Bang Jiang and Li-Ming Zhao and Bao-Liang Lu},\nbooktitle={The Twelfth International Conference on Learning Representations},\nyear={2024},\nurl={https:\u002F\u002Fopenreview.net\u002Fforum?id=QzTpTRVtrP}\n}\n```","# LaBraM 快速上手指南\n\n## 环境准备\n*   **系统要求**: Linux\u002FWindows，支持 CUDA 的 NVIDIA GPU（训练 Neural Tokenizer 推荐 8×RTX 3090 或更高）\n*   **前置依赖**:\n    *   Python 3.11\n    *   PyTorch 2.0.1 + CUDA 11.8\n    *   Conda 包管理器\n\n## 安装步骤\n1.  创建并激活 Conda 环境：\n    ```bash\n    conda create -n labram python=3.11\n    conda activate labram\n    ```\n\n2.  安装 PyTorch 及相关依赖：\n    ```bash\n    conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.8 -c pytorch -c nvidia\n    conda install tensorboardX\n    ```\n\n3.  安装项目依赖：\n    ```bash\n    pip install -r requirements.txt\n    ```\n\n## 基本使用\nLaBraM 支持通过微调适配下游任务。以下是基于 TUAB 数据集的微调示例。\n\n1.  **数据预处理**\n    将原始 EEG 文件转换为 HDF5 格式，并确保符合以下标准：\n    *   带通滤波：**0.1–75 Hz**\n    *   陷波滤波：**50 Hz**\n    *   重采样至：**200 Hz**\n    *   单位：**µV**\n\n    使用提供的脚本处理数据集（如 TUAB）：\n    ```bash\n    dataset_maker\u002Fmake_TUAB.py\n    ```\n\n2.  **微调模型**\n    加载预训练权重并指定输入通道顺序。以下命令为微调示例：\n    ```bash\n    OMP_NUM_THREADS=1 torchrun --nnodes=1 --nproc_per_node=8 run_class_finetuning.py \\\n        --output_dir .\u002Fcheckpoints\u002Ffinetune_tuab_base\u002F \\\n        --log_dir .\u002Flog\u002Ffinetune_tuab_base \\\n        --model labram_base_patch200_200 \\\n        --finetune .\u002Fcheckpoints\u002Flabram-base.pth \\\n        --weight_decay 0.05 \\\n        --batch_size 64 \\\n        --lr 5e-4 \\\n        --update_freq 1 \\\n        --warmup_epochs 5 \\\n        --epochs 50 \\\n        --layer_decay 0.65 \\\n        --drop_path 0.1 \\\n        --save_ckpt_freq 5 \\\n        --disable_rel_pos_bias \\\n        --abs_pos_emb \\\n        --dataset TUAB \\\n        --disable_qkv_bias \\\n        --seed 0\n    ```\n\n    **注意**：\n    *   必须加载预训练的 LaBraM checkpoint (`--finetune`)。\n    *   必须提供输入通道顺序列表以指定通道配置，这对模型性能至关重要。\n    *   学习率 (`--lr`) 和预热轮数 (`--warmup_epochs`) 会显著影响结果，请根据实际任务调整。","某医疗 AI 团队正在开发基于脑电图（EEG）的癫痫发作自动检测系统，旨在辅助医生快速识别异常脑电波形，但受限于数据规模与格式差异。\n\n### 没有 LaBraM 时\n- 本地标注数据稀缺，深度学习模型极易过拟合，跨患者泛化能力严重不足。\n- 不同采集设备的电极通道数不一致，需针对不同任务手工设计复杂的预处理流程。\n- 脑电信号信噪比低，传统特征提取方法难以捕捉深层语义，导致漏检与误报频发。\n- 每次面对新任务都要从头训练模型，研发周期长且难以复用已有知识。\n\n### 使用 LaBraM 后\n- 加载 LaBraM 预训练权重，仅需少量本地数据微调，即可在低资源下实现高精度检测。\n- 支持灵活指定输入通道顺序，自动适配不同设备的电极配置，大幅降低工程适配成本。\n- 神经 Tokenizer 将连续脑电编码为紧凑神经码，有效过滤噪声并捕捉通用感知特征。\n- 在异常检测任务上性能超越现有 SOTA 方法，显著提升了临床辅助诊断的可靠性。\n\nLaBraM 通过大规模无监督预训练打破了脑电数据孤岛，为脑机接口任务提供了通用的感知基座。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002F935963004_LaBraM_735e643d.png","935963004","Weibang Jiang","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002F935963004_7ae89221.jpg",null,"Shanghai Jiao Tong University","https:\u002F\u002F935963004.github.io\u002F","https:\u002F\u002Fgithub.com\u002F935963004",[84],{"name":85,"color":86,"percentage":87},"Python","#3572A5",100,586,"2026-04-04T08:40:51","MIT","未说明","需要 NVIDIA GPU，训练推荐 8 × RTX 3090 或更好，CUDA 11.8",{"notes":94,"python":95,"dependencies":96},"1. 数据需预处理为 HDF5 格式，带通滤波 0.1–75 Hz，陷波滤波 50 Hz，重采样至 200 Hz，单位为 µV。2. 微调时必须加载预训练检查点并提供输入通道顺序列表以确保性能。3. 使用 conda 创建环境，其余依赖通过 requirements.txt 安装。","3.11",[97,98,99,100],"pytorch==2.0.1","torchvision==0.15.2","torchaudio==2.0.2","tensorboardX",[18],12,"2026-03-27T02:49:30.150509","2026-04-06T08:45:35.006789",[106,111,116,121,126,131],{"id":107,"question_zh":108,"answer_zh":109,"source_url":110},33,"如何运行微调脚本进行演示？","推荐使用 README 中提供的微调脚本命令。示例命令如下：\nOMP_NUM_THREADS=1 torchrun --nnodes=1 --nproc_per_node=8 run_class_finetuning.py \\\n        --output_dir .\u002Fcheckpoints\u002Ffinetune_tuab_base\u002F \\\n        --log_dir .\u002Flog\u002Ffinetune_tuab_base \\\n        --model labram_base_patch200_200 \\\n        --finetune .\u002Fcheckpoints\u002Flabram-base.pth \\\n        --weight_decay 0.05 \\\n        --batch_size 64 \\\n        --lr 5e-4 \\\n        --update_freq 1 \\\n        --warmup_epochs 5 \\\n        --epochs 50 \\\n        --layer_decay 0.65 \\\n        --drop_path 0.1 \\\n        --dist_eval \\\n        --save_ckpt_freq 5 \\\n        --disable_rel_pos_bias \\\n        --abs_pos_emb \\\n        --dataset TUAB \\\n        --disable_qkv_bias \\\n        --seed 0","https:\u002F\u002Fgithub.com\u002F935963004\u002FLaBraM\u002Fissues\u002F16",{"id":112,"question_zh":113,"answer_zh":114,"source_url":115},34,"如果是单通道脑电数据做分类，该如何修改代码？","LaBraM 理论上支持单通道脑电输入。需参考 run_class_finetuning.py 中 get_dataset 函数进行修改：\n1. 根据 PyTorch 标准的 dataset 类实现你的 dataset；\n2. 修改 ch_names 为你的脑电数据通道名称，例如 ch_names = [\"FP1\"]，注意通道名称字母需全部大写；\n3. 模型输入数据的形状须为 (batch size, 1, time length, 200)，其中 1 为通道数量，time length 为输入长度（秒），200 为采样率（1 秒的数据点数量）。","https:\u002F\u002Fgithub.com\u002F935963004\u002FLaBraM\u002Fissues\u002F9",{"id":117,"question_zh":118,"answer_zh":119,"source_url":120},35,"SEEG 数据可以直接使用论文中的预处理方法吗？","视情况而定。SEEG 数据与 EEG 数据在许多属性上存在差异，例如高采样率、高信噪比（SNR）。此外，SEEG 数据在单个电极中有很多通道，有时执行双极参考（bipolar reference）。因此，不确定直接应用 LaBraM 到 SEEG 数据的性能，可能需要修改方法以适应 SEEG 数据。","https:\u002F\u002Fgithub.com\u002F935963004\u002FLaBraM\u002Fissues\u002F18",{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},36,"预训练阶段如何确定最优 epoch 数？是否存在过拟合风险？","预训练未使用任何标签，过拟合对于预训练来说不一定是坏事，相反如果预训练欠拟合则像做无用功。可以通过判断预训练时 loss 的变化来提前结束训练，例如当 loss 在多个 epoch 连续不变时就认为模型收敛。","https:\u002F\u002Fgithub.com\u002F935963004\u002FLaBraM\u002Fissues\u002F11",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},37,"运行预训练时报错 ImportError: cannot import name 'RelativePositionBias' 如何解决？","这是代码中的无用部分导致的 bug。维护者已通过删除 modeling_finetune.py 中该无用部分代码修复了此问题。请确保拉取最新代码或手动删除相关导入引用。","https:\u002F\u002Fgithub.com\u002F935963004\u002FLaBraM\u002Fissues\u002F25",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},38,"在 TUAB 数据集微调时遇到意外的 loss 值或 NaN 怎么办？","这可能与 conda 环境或运行平台有关。建议检查软件版本配置（如 Python 3.11 + Torch 2.0.1）。避免在 Colab+Drive 环境下进行大量文件写入操作（如 split_and_dump 生成 40 万 + 文件），建议在本地桌面环境配置正确的 conda 环境运行，这样通常能解决奇怪的行为和 NaN 问题。","https:\u002F\u002Fgithub.com\u002F935963004\u002FLaBraM\u002Fissues\u002F4",[]]