SSD代码阅读(1)
github: https://github.com/amdegroot/ssd.pytorch
train.py
参数设置
都是些常用的参数,没有什么需要特别说明的。
关于CUDA的使用
if torch.cuda.is_available(): # 使用cuda的判断
if args.cuda:
torch.set_default_tensor_type('torch.cuda.FloatTensor')
if not args.cuda:
print('')
torch.set_default_tensor_type('torch.FloatTensor')
else:
torch.set_default_tensor_type('torch.FloatTensor')
主要是为了设置默认的 tensor 格式。进行了两个判断,一个是 available,一个是参数设定是否需要使用cuda
除了train()的一些函数
- adjust learning rate
def adjust_learning_rate(optimizer, gamma, step):
"""
args :
optimizer : 优化器
gamma : 调节学习率的超参数
step : 在指定的迭代次数时进行学习率调节
"""
lr = args.lr * (gamma ** (step)) # 是根据 step 来进行调节
for param_group in optimizer.param_groups:
param_group['lr'] = lr # 注意 learning rate 的存放位置,记住
- 初始化网络参数的函数
def xavier(param):
init.xavier_uniform(param

本文是SSD代码阅读的第一部分,主要关注train.py中的训练流程。内容包括参数设置,CUDA的使用,训练过程中的函数,如调整学习率和初始化网络。数据读取、模型构建、损失函数设定是关键点,特别是数据增广、模型结构和损失函数的构建,对于训练过程至关重要。
最低0.47元/天 解锁文章
942

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



