WeijingShi / Point-GNN

Point-GNN: Graph Neural Network for 3D Object Detection in a Point Cloud, CVPR 2020.
MIT License
523 stars 114 forks source link

'unify_copies' in train_config? #55

Closed typhoonlee closed 3 years ago

typhoonlee commented 3 years ago

Sorry to disturb you again,What is the meaning of unify_copies parameter? What is its function?

WeijingShi commented 3 years ago

Hi @typhoonlee, "unify_copies" are related to batching of the graphs. To run the network on a batch of different point clouds, we generate a graph for each point cloud and combine these graphs into a single disjoint graph to run the network. Alternatively, we can run multiple network copies independently on each graph and then average the gradient. It is more friendly when we need multiple GPU implementation. These two methods are mathematically similar with the some difference on how the loss value are weighted. "unify_copies" is the switch to make second approach equivalent to the first. When turn on "unify_copies", we can always think the network is process a single disjoint graph regardless how many GPUs we distribute the workload. Hope it helps.