代码拉取完成,页面将自动刷新
PLSC大规模提供了默认配置参数,用于设置模型训练、验证和模型参数等信息,如训练数据集目录、训练轮数等。
这些默认参数位于plsc.config中,下面给出这些参数的含义和默认值。
参数名称 | 参数含义 | 默认值 |
---|---|---|
train_batch_size | 训练阶段batch size值 | 128 |
dataset_dir | 数据集根目录 | './train_data' |
train_image_num | 训练图像的数量 | 5822653 |
train_epochs | 训练轮数 | 120 |
warmup_epochs | warmup的轮数 | 0 |
lr | 初始学习率 | 0.1 |
lr_steps | 学习率衰减的步数 | (100000,160000,220000) |
参数名称 | 参数含义 | 默认值 |
---|---|---|
val_targets | 验证数据集名称,以逗号分隔,如'lfw,cfp_fp' | lfw |
test_batch_size | 验证阶段batch size的值 | 120 |
with_test | 是否在每轮训练之后开始验证模型效果 | True |
参数名称 | 参数含义 | 默认值 |
---|---|---|
model_name | 使用的模型的名称 | 'RestNet50' |
checkpoint_dir | 预训练模型(checkpoint)目录 | "",表示不使用预训练模型 |
model_save_dir | 训练模型的保存目录 | "./output" |
loss_type | loss计算方法, | 'dist_arcface' |
num_classes | 分类类别的数量 | 85742 |
image_shape | 图像尺寸列表,格式为CHW | [3, 112, 112] |
margin | dist_arcface和arcface的margin参数 | 0.5 |
scale | dist_arcface和arcface的scale参数 | 64.0 |
emb_size | 模型最后一层隐层的输出维度 | 512 |
备注:
PLSC的Entry类提供了下面的API,用于修改默认参数信息:
备注:set_warmup_epochs和set_image_num函数的附加说明:
默认的,我们认为训练过程中总的batch size为1024时可以取得较好的训练效果。例如,当使用8张GPU时,每张GPU卡上的batch size为128。当训练过程中总的batch size不等于1024时,需要根据batch size调整初始学习率的大小,即:lr = total_batch_size / 1024 * lr。这里,lr表示初始学习率大小。另外,为了保持训练的稳定性,通常需要设置warmup_epochs,即在最初的warmup_epochs轮训练中,学习率有一个较小的值逐步增长到初始学习率。为了实现warmup过程,我们需要根据训练数据集中图像的数量计算每轮的训练步数。
当需要改变这种逻辑设定时,可以自定义实现Optimizer,并通过set_optimizer函数设置。
本节介绍的API均为PLSC的Entry类的方法,需要通过该类的实例调用,例如:
from plsc import Entry
ins = Entry()
ins.set_class_num(85742)
ins.train()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。