experiments/ *** includes all modified experiments ***
criterions/ *** all the loss functions ***
datasets/ *** all the datasets ***
main.py
readme.md
Two datasets are used in this project:
Dataset Name | Download Link |
---|---|
ModelNet10 | Link |
ModelNet40 | Link |
Please download the dataset and unzip it in the datasets folder with following structure:
datasets/
ModelNet10/
bathtub/
train/
<.off files>
test/
<.off files>
bed/
ModelNet40/
....
To run the final best result of the mehtod, use the following script. This will give an accuracy of 91.52%.
python main.py
For different ablation, sensitivity analysis on hyper-parameters, and other experiments with model architecture, use the scripts in the experiments folder.
python experiments/lr_0.1.py
The experiment directory contains files for different experiments.
batch_size_8.py
batch_size_16.py
batch_size_32.py
.....
ALl the experiments' outputs are saved in the checkpoints folder.
batch_size_8.txt
batch_size_16.txt
batch_size_32.txt
.....
Most of the file names are intuitive and indicative of the experiments. The files that require description are:
main_exp_1.py to main_exp_10.py --> experiments with different version of 1D CNNs. Description is included in each file.
The code requires a Colab GPU machine around 10 hours to run the default 15 epochs settings.
This project was build using the help from the following sources and repositories:
https://github.com/fxia22/pointnet.pytorch --> PointNet Implementation
https://github.com/nikitakaraevv/pointnet --> PointNet Implementation
https://discuss.pytorch.org/t/is-this-a-correct-implementation-for-focal-loss-in-pytorch/43327/22 --> Focul loss