SSD代码阅读(1)

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值