目录

ModelNet40 点云分类(PCT + Jittor)

基于 PCT (Point Cloud Transformer) 的 ModelNet40 分类方案,使用 Jittor 实现。

目录结构

.
├── README.md
├── LICENSE
├── requirements.txt
├── configs/
│   └── default.yaml      # 唯一配置文件
├── data/
│   └── README.md         # 数据说明(不含 .npy)
├── scripts/
│   └── pct.py            # 训练 + 推理入口
└── outputs/              # 权重、result.json、日志等(不提交)

1. 环境安装

  • Python 3.8+
  • NVIDIA GPU + CUDA(推荐)
pip install -r requirements.txt

2. 数据准备

data/README.mdtrain_points.npytrain_labels.npytest_points.npy 放入 data/

3. 训练

在仓库根目录执行:

python scripts/pct.py
# 或指定配置
python scripts/pct.py --config configs/default.yaml

常用覆盖(命令行优先于配置文件):

CUDA_VISIBLE_DEVICES=4 python scripts/pct.py --epochs 300 --patience 40

产物写入 outputs/

  • pct_model_best.pkl — train acc 最高
  • pct_model.pkl — 最后一轮
  • result.json — 测试集预测
  • config.jsoncommand.txt — 可复现记录

4. 评测 / 推理

训练结束会自动用 best 权重生成 outputs/result.json

提交格式:{"0": 12, "1": 5, ...}(样本编号 → 类别 id 0–39)。

5. 结果说明

  • 指标:测试集分类准确率(需官方标签评测);训练时打印 train acc 作参考。
  • 随机种子--seed(默认 42)。
  • 与线上成绩若有差异,可能来自数据划分、增强随机性、early stopping 轮次等。

第三方引用

  • PCT: Guo et al., PCT: Point Cloud Transformer, 2020.
  • 框架: Jittor (MIT License).
关于

A Jittor implementation of Point Cloud Transformer(PCT) for ModelNet40 classification;项目语言选择Jittor

254.4 MB
邀请码