我们一次按照网络结构里面的执行顺序依次解读:
首先我们运行python ./pytorch/train.py train --config_path=./configs/pointpillars/car/xyres_16.proto --model_dir=/path/to/model_dir
下面是源码:
def train(config_path,
model_dir,
result_path=None,
create_folder=False,
display_step=50,
summary_step=5,
pickle_result=True)
首先进行的操作是读取配置文件,就是xyres_16.proto这个文件,读写完之后要做的操作就是BUILD VOXEL GENERATORvoxel_generator = voxel_builder.build(model_cfg.voxel_generator)
我们先看一下model_cfg.voxel_generator内的数据是什么
voxel_generator {
point_cloud_range : [0, -39.68, -3, 69.12, 39.68, 1] //点云范围
voxel_size : [0.16, 0.16, 4] //pillar形状
max_number_of_points_per_voxel : 100 //每个pillar最多点云形状
}
接下来看下看voxel_builder模块内的build()这个函数:
def build(voxel_config):
"""Builds a tensor dictionary based on the InputReader config.
Args:
input_reader_config: A input_reader_pb2.InputReader object.
Returns:
A tensor dict based on the input_reader_config.
Raises:
ValueError: On invalid input reader proto.
ValueError: If no input paths are specified.
"""
if not isinstance(voxel_config, (voxel_generator_pb2.VoxelGenerator)):
raise ValueError('input_reader_config not of type '
'input_reader_pb2.InputReader.')
voxel_generator = VoxelGenerator(
voxel_size=list(voxel_config.voxel_size),
point_cloud_range=list(voxel_config.point_cloud_range),
max_num_points=voxel_config.max_number_of_points_per_voxel,
max_voxels=20000)
retu

最低0.47元/天 解锁文章
8280





