PointNet AutoEncoder training on ModelNet40¤
Training script can be found in src.polar.train.train.py with the function main. It can be imported from polar as train_ae.
Minimal example¤
Typically, a training would be done as follows:
- Create a file
train_ae.pywith the following:from polar import train_ae if __name__ == '__main__': train_ae() - Then, run
python train_ae.py --name demo --shuffle --sigma 0.05
Parameters¤
It accepts the following parameters:
-
Base
name(Required)log_dir(str, default='logs/ae')batch_size(int, default=64)num_workers(int, default=4)
-
Dataset
rootdir(str, default='modelnet')classes(str, default=None)exclude_classes(str, default=None)samples_per_class(int, default=None)
-
Preprocessing
shuffle(bool, default=False)num_points(int, default=1024)max_angle(int, default=180)max_trans(float, default=0.0)
-
Augmentations
sigma(float, default=0.0)min_scale(float, default=1.0)keep_ratio(float, default=1.0)p(float, default=0.5)
-
Autoencoder
first_stage_widths(int, default=(64, 64))second_stage_widths(int, default=(64, 128, 1024))decoder_widths(int, default=(1024, 1024))dropout(float, default=0.1)
-
Training
lr(float, default=0.001)resume_optimizer(bool, default=False)checkpoint(str, default=None)freeze_decoder(bool, default=False)epochs(int, default=150)
-
Loss
norm(int, default=2)density_weight(float, default=0.0)density_radius(float, default=0.1)