最近在看pvrcnn的源码,加深一下对论文的理解。源码的理解多亏了这位大佬的注释,感谢一下!
首先我们看到train.py函数,在训练之前要对于数据进行一个预处理:
train_set, train_loader, train_sampler = build_dataloader(
dataset_cfg=cfg.DATA_CONFIG,
class_names=cfg.CLASS_NAMES,
batch_size=args.batch_size,
dist=dist_train, workers=args.workers,
logger=logger,
training=True,
merge_all_iters_to_one_epoch=args.merge_all_iters_to_one_epoch,
total_epochs=args.epochs
)
cfg和arg是前面定义的配置文件及变量。
我们进去查看build_dataloader函数做了什么。
build_dataloader定义在_init_.py里面,首先我们在配置文件中选用dataset来进行dataset的初始化操作:
dataset = __all__[dataset_cfg.DATASET](
dataset_cfg=dataset_cfg,
class_names=class_names,
root_path=root_path,
training=training,
logger=logger,
)
__all__ = {
'DatasetTemplate': DatasetTemplate,
'KittiDataset': KittiDataset,
'NuScenesDataset': NuScenesDataset,
'WaymoDataset': WaymoDataset
}
all函数主要是通过配置文件选择我们要进行数据预处理的数据集:kittiDataset
KittiDataset是定义在kitti_dataset.py中的一个类,我们首先对他进行一个初始化:
def __init__(self, dataset_cfg, c

本文详细解读了PVRCNN项目中如何通过KittiDataset类进行数据预处理,涉及txt文件操作、样本选择、数据增强配置及点云处理流程。通过build_dataloader和_data_augmentor函数,理解了训练数据的准备过程。
最低0.47元/天 解锁文章
5631

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



