就是记录一下这个复现这个echofree 的过程

1. 引言

EchoFree 是一个面向回声消除/语音增强的深度学习项目。训练模型时,需要配置好环境并运行训练脚本。本文将详细讲解如何在 Ubuntu 系统中使用 PyTorch 的分布式启动器启动训练,并逐条解释命令含义及输出信息,帮助读者理解训练背后的原理。

2. 环境准备

在启动训练前,请确保已完成以下准备工作:

  • 安装 Anaconda/Miniconda(推荐用于管理 Python 环境)

  • 创建并激活 conda 环境(以 echofree1 为例)

conda create -n echofree1 python=3.9
conda activate echofree1

环境自己配置就行

启动训练命令详解

进入项目目录并激活环境
执行 cd /home/use01/echofree/steps/ 切换到包含训练脚本的目录。
运行 conda activate echofree1 激活预先配置的 Conda 环境,确保依赖库可用。

分布式训练命令解析
核心命令为:

python -m torch.distributed.launch --nproc_per_node=1 train.py -conf /home/use01/echofree/configs/train_echofree.yml

  • torch.distributed.launch:PyTorch 的分布式启动模块(已弃用,建议改用 torchrun)。
  • --nproc_per_node=1:指定单 GPU 训练,若需多 GPU 可调整数值(如 4)。
  • train.py:训练脚本入口,包含模型、数据加载和训练逻辑。
  • -conf:自定义参数,指向 YAML 配置文件,涵盖超参数、数据集路径等。

输出信息说明
控制台会显示以下关键内容:

  1. 弃用警告:提示未来需迁移到 torchrun,并注意 --local_rank 的环境变量读取方式变更。
  2. 参数列表:包括后端通信方式(nccl)、配置文件路径及本地排名(local_rank=0)。
  3. 进程组初始化:显示分布式训练的默认通信配置(如主节点地址 127.0.0.1 和端口 29500)。

迁移到 torchrun 的建议

若需更新命令,可替换为:

torchrun --nproc_per_node=1 train.py --conf /path/to/config.yml

注意移除 -m torch.distributed.launch 并确保脚本通过 os.environ['LOCAL_RANK'] 获取 local_rank。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐