feat: PCT baseline for ModelNet40 point cloud classification
基于 PCT(Point Cloud Transformer)的 ModelNet40 三维形状分类项目,计图挑战赛赛道二热身赛。
├── configs/ # 训练配置文件 │ └── default.yaml ├── data/ # 数据目录(需自行下载,不提交) │ ├── train_points.npy # 训练集点云 (9843, 2048, 3) │ ├── train_labels.npy # 训练集标签 (9843,) │ ├── test_points.npy # 测试集点云 (2468, 2048, 3) │ └── categories.txt # 40 个类别名称 ├── scripts/ # 运行脚本 │ ├── train.sh # Jittor 训练脚本 (Linux) │ ├── train_pytorch.sh # PyTorch 训练脚本 (Linux) │ └── train_pytorch.bat # PyTorch 训练脚本 (Windows) ├── src/ # 核心代码 │ ├── pct.py # Jittor 版 PCT 模型 │ └── pct_pytorch.py # PyTorch 版 PCT 模型 ├── outputs/ # 日志、权重、结果(不提交) ├── requirements.txt ├── .gitignore └── LICENSE
pip install jittor numpy
# CPU pip install torch numpy # CUDA 12.4 pip install torch numpy --index-url https://download.pytorch.org/whl/cu124
data/
data/ ├── train_points.npy ├── train_labels.npy ├── test_points.npy └── categories.txt
--data_dir
./data
python src/pct.py --data_dir ./data --n_points 1024 --batch_size 32 --epochs 200 --lr 0.01 --seed 42
或使用脚本:
bash scripts/train.sh
python src/pct_pytorch.py --data_dir ./data --n_points 1024 --batch_size 32 --epochs 200 --lr 0.01 --seed 42
# Linux bash scripts/train_pytorch.sh # Windows scripts\train_pytorch.bat
--n_points
1024
--batch_size
32
--epochs
200
--lr
0.01
--seed
42
训练完成后自动对测试集进行预测,生成 result.json:
result.json
# PyTorch 版本(训练完成后自动推理) python src/pct_pytorch.py --data_dir ./data --epochs 200
输出文件 result.json 格式:
{ "0": 4, "1": 35, "2": 10, ... }
将 result.json 打包为 result.zip 提交:
result.zip
zip result.zip result.json
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
ModelNet40 点云分类 - PCT Baseline
基于 PCT(Point Cloud Transformer)的 ModelNet40 三维形状分类项目,计图挑战赛赛道二热身赛。
项目结构
环境安装
Python 版本
方式一:Jittor(比赛原始要求)
方式二:PyTorch(推荐,GPU 支持更好)
数据准备
data/文件夹,确保目录结构如下:--data_dir参数配置,默认为./data训练
Jittor 版本
或使用脚本:
PyTorch 版本
或使用脚本:
训练参数说明
--data_dir./data--n_points1024--batch_size32--epochs200--lr0.01--seed42评测/推理
训练完成后自动对测试集进行预测,生成
result.json:输出文件
result.json格式:结果说明
提交方式
将
result.json打包为result.zip提交:第三方引用