From 8b96a1efd9237aaec231c7bfabec841f391ce2a3 Mon Sep 17 00:00:00 2001 From: 100apps Date: Mon, 11 May 2026 23:43:45 +0800 Subject: [PATCH] =?UTF-8?q?fix(train):=20=E8=A7=A3=E5=86=B3Windows?= =?UTF-8?q?=E5=B9=B3=E5=8F=B0=E6=95=B0=E6=8D=AE=E5=8A=A0=E8=BD=BD=E7=BA=BF?= =?UTF-8?q?=E7=A8=8B=E6=95=B0=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 针对Windows系统默认将数据加载线程数设为0,避免多线程兼容性问题 - 保持其他平台默认线程数为8,优化数据加载性能 - 更新相关训练脚本train_pretrain_vlm.py和train_sft_vlm.py中的参数设置 - 修改.gitignore添加dataset目录防止数据误提交 - 在README中补充完整下载数据集的命令示例和说明 --- .gitignore | 3 ++- README.md | 5 +++++ trainer/train_pretrain_vlm.py | 2 +- trainer/train_sft_vlm.py | 2 +- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 035eaed..b2a3d2d 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,5 @@ docs-minimind-v/ 测试.py .venv model -minimind-3v \ No newline at end of file +minimind-3v +dataset \ No newline at end of file diff --git a/README.md b/README.md index 111a662..d56676b 100644 --- a/README.md +++ b/README.md @@ -227,6 +227,11 @@ print(torch.cuda.is_available()) 快速开始时,直接从[数据集链接](https://huggingface.co/datasets/jingyaogong/minimind-v_dataset)下载 `sft_i2t.parquet`,并放到 `./dataset` 下即可。 +```bash +# 完整下载 +hf download --repo-type dataset jingyaogong/minimind-v_dataset --local-dir dataset +``` +
注:数据集须知 diff --git a/trainer/train_pretrain_vlm.py b/trainer/train_pretrain_vlm.py index 7f684c4..3904239 100644 --- a/trainer/train_pretrain_vlm.py +++ b/trainer/train_pretrain_vlm.py @@ -95,7 +95,7 @@ if __name__ == "__main__": parser.add_argument("--learning_rate", type=float, default=4e-4, help="初始学习率") parser.add_argument("--device", type=str, default="cuda:0" if torch.cuda.is_available() else "cpu", help="训练设备") parser.add_argument("--dtype", type=str, default="bfloat16", help="混合精度类型") - parser.add_argument("--num_workers", type=int, default=8, help="数据加载线程数") + parser.add_argument("--num_workers", type=int, default=0 if sys.platform == 'win32' else 8, help="数据加载线程数") parser.add_argument("--accumulation_steps", type=int, default=1, help="梯度累积步数") parser.add_argument("--grad_clip", type=float, default=1.0, help="梯度裁剪阈值") parser.add_argument("--log_interval", type=int, default=100, help="日志打印间隔") diff --git a/trainer/train_sft_vlm.py b/trainer/train_sft_vlm.py index 5ebef0e..c862ed6 100644 --- a/trainer/train_sft_vlm.py +++ b/trainer/train_sft_vlm.py @@ -95,7 +95,7 @@ if __name__ == "__main__": parser.add_argument("--learning_rate", type=float, default=5e-6, help="初始学习率") parser.add_argument("--device", type=str, default="cuda:0" if torch.cuda.is_available() else "cpu", help="训练设备") parser.add_argument("--dtype", type=str, default="bfloat16", help="混合精度类型") - parser.add_argument("--num_workers", type=int, default=8, help="数据加载线程数") + parser.add_argument("--num_workers", type=int, default=0 if sys.platform == 'win32' else 8, help="数据加载线程数") parser.add_argument("--accumulation_steps", type=int, default=1, help="梯度累积步数") parser.add_argument("--grad_clip", type=float, default=1.0, help="梯度裁剪阈值") parser.add_argument("--log_interval", type=int, default=100, help="日志打印间隔")