用torchrun进行多卡训练时遇到报错类似:ModuleNotFoundError: No module named 'peft',或者hydra,但是明明虚拟环境中安装了这个库。
原因:多卡分布式训练时子进程未能正确继承 Python 环境路径。(例如:子进程使用的是 /usr/bin/python3(系统默认 Python),而非你的 Conda 环境路径 /data/miniconda3/envs/uu。这导致子进程无法加载 Conda 环境中安装的 peft 库。)
解决:在命令行中显式加入所使用的Python虚拟环境路径:CUDA_VISIBLE_DEVICES=0,1,2 /data/miniconda3/envs/uu/bin/python3.10 -m torch.distributed.run --nproc_per_node=3 train.py
3万+

被折叠的 条评论
为什么被折叠?



