当前位置: 代码迷 >> 综合 >> Pysot训练过程整理 - SiamRPN++ with ResNet50
  详细解决方案

Pysot训练过程整理 - SiamRPN++ with ResNet50

热度:12   发布时间:2024-02-21 17:39:18.0

准备阶段
#分布式训练准备:进程号、进程数量初始化。
rank, world_size = dist_init()
#world_size:进程数量/任务数量/GPU数量
#rank:进程ID
#加载参数:合并args参数表(包含代码中定义参数以及experiments中对应config.yaml配置文件)和cfg配置文件。
cfg.merge_from_file(args.cfg)
#merge_from_file(*.yaml):加载一个yaml配置文件并将其与cfgNode合并
#使用local process(process ID:0)加载log files。
if rank == 0:
if not os.path.exists(cfg.TRAIN.LOG_DIR):
os.makedirs(cfg.TRAIN.LOG_DIR)
init_log(‘global’, logging.INFO)
if cfg.TRAIN.LOG_DIR:
add_file_handler(‘global’,
os.path.join(cfg.TRAIN.LOG_DIR, ‘logs.txt’),
logging.INFO)
logger.info(“Version Information: \n{}\n”.format(commit()))
logger.info(“config \n{}”.format(json.dumps(cfg, indent=4)))
#创建模型:通过ModelBuilder类作为模型各个模块组装类,在构造函数中分别调用了get_backbone/get_neck/get_rpn_head/get_mask_head(可选)
#ModelBuilder实现了训练时用到的前向传播forward(data)函数&#