背景:最近偷闲学习openPCDet,记录一下基本训练可能用到的一些配置。以下为个人学习探索,仅供参考。
含义: 指定用于训练的配置文件,其中包含了模型、优化器、学习率等相关的配置信息。
作用: 通过配置文件统一管理各种超参数,方便在不同的实验中灵活调整模型和训练设置。
含义: 每个训练步中用于更新模型参数的样本数。
作用: 控制模型参数的更新频率,影响训练速度和显存占用。
含义: 训练数据集被完整处理的次数。
作用: 控制训练的轮数,一个 epoch 代表整个数据集被模型训练一次。
含义: 数据加载时的并行工作线程数。
作用: 提高数据加载效率,加速训练过程。
含义: 用于区分实验结果的额外标签。
作用: 区分不同实验的结果文件,方便结果的组织和对比。
含义: 指定从哪个检查点(模型参数保存的文件)开始训练。
作用: 支持模型训练的断点续训。
含义: 指定预训练模型的路径。
作用: 可以加载预训练模型,用于迁移学习或加速模型收敛。
含义: 分布式训练的启动方式,支持本地、PyTorch 内置和 Slurm。
作用: 配置分布式训练的启动方式。
含义: 分布式训练时使用的 TCP 端口。
作用: 配置分布式训练的通信端口。
含义: 是否使用同步批量归一化。
作用: 控制是否使用同步批量归一化,适用于分布式训练。
含义: 是否固定随机种子。
作用: 固定随机种子以便实验的可重复性。
含义: 模型参数保存的间隔,即每隔多少个 epoch 保存一次。
作用: 控制模型参数保存的频率,避免在训练过程中遗失重要的模型状态。
含义: 本地进程的排名,用于分布式训练中标识不同的进程。
作用: 配置分布式训练中每个本地进程的唯一标识。
含义: 允许保存的最大检查点数目。
作用: 控制保存的模型参数文件的数量,避免占用过多磁盘空间。
含义: 是否将所有迭代合并为一个 epoch。
作用: 针对一些特殊情况,将所有迭代视为一个 epoch 进行训练。
含义: 最大等待时间,训练若在指定时间内未开始将终止。
作用: 避免在分布式训练中等待时间过长。
含义: 指定从哪个 epoch 开始训练。
作用: 控制训练的起始 epoch。
含义: 训练完成后评估的 epoch 数。
作用: 训练完成后执行模型评估的 epoch 数目。
含义: 是否将训练结果保存到文件。
作用: 控制是否将训练过程的结果记录到文件中。
含义: 是否使用 tqdm 进度条记录中间损失。
作用: 控制是否在终端使用 tqdm 进度条显示训练进度。
含义: 记录训练损失的迭代间隔。
作用: 控制记录训练损失的频率。
含义: 模型参数保存的时间间隔。
作用: 控制模型参数保存的时间间隔,以秒为单位。
含义: 是否关闭 GPU 统计信息。
作用: 控制是否在训练过程中关闭 GPU 的统计信息。
含义: 是否使用混合精度训练。
作用: 控制是否在训练过程中使用混合精度(Mixed Precision)训练,以减少显存占用并加速训练。
###################
好记性不如烂笔头
积跬步期千里