Skip to content

Latest commit

 

History

History
83 lines (73 loc) · 2.6 KB

GETTING_STARTED.md

File metadata and controls

83 lines (73 loc) · 2.6 KB

Getting Started with PCM

This document provides a brief intro of the usage of PCM.

Pretrained weights

The pre-trained weights are available at Hugging Face and Baidu Pan.

Model OA (ScanObjectNN) mAcc (ScanObjectNN) OA (ModelNet40) mAcc (ModelNet40) Ins. mIoU (ShapeNetPart) Cls. mIoU (ShapeNetPart) mIou (S3DIS) OA (S3DIS)
PCM 88.0 86.4 93.1 91.2 87.3 85.6 62.8 88.7
PCM-Tiny 87.1 85.2 93.3 90.5 87.1 85.2 - -

Training and Testing

ScanObjectNN

# train
CUDA_VISIBLE_DEVICES=0 python examples/classification/main.py --cfg cfgs/scanobjectnn/PCM.yaml
# test
CUDA_VISIBLE_DEVICES=0 python examples/classification/main.py --cfg cfgs/scanobjectnn/PCM.yaml  mode=test --pretrained_path /path/to/PCM.pth

ModelNet40

# train
CUDA_VISIBLE_DEVICES=0 python examples/classification/main.py --cfg cfgs/modelnet40ply2048/PCM.yaml
# test
CUDA_VISIBLE_DEVICES=0 python examples/classification/main.py --cfg cfgs/modelnet40ply2048/PCM.yaml mode=test --pretrained_path /path/to/PCM.pth

ShapeNetPart

# train
CUDA_VISIBLE_DEVICES=0,1,2,3 python examples/shapenetpart/main.py --cfg cfgs/shapenetpart/PCM.yaml
# test
CUDA_VISIBLE_DEVICES=0 python examples/shapenetpart/main.py --cfg cfgs/shapenetpart/PCM.yaml mode=test --pretrained_path /path/to/PCM.pth

S3DIS

# train
CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 python examples/segmentation/main.py --cfg cfgs/s3dis/PCM.yaml
# test
CUDA_VISIBLE_DEVICES=0 bash script/main_segmentation.sh cfgs/s3dis/PCM.yaml wandb.use_wandb=False mode=test --pretrained_path /path/to/PCM.pth

Params, GFlops and Throughout

CUDA_VISIBLE_DEVICES=0 python examples/profile.py --cfg cfgs/scanobjectnn/PCM.yaml batch_size=128 num_points=1024 timing=True flops=True