Update README: author info and full documentation
A Jittor implementation of Point Cloud Transformer (PCT) for ModelNet40 point cloud classification.
基于 Jittor 实现的 Point Cloud Transformer(PCT),完成 ModelNet40 点云 40 分类任务(计图挑战赛赛道二热身赛)。
点云是三维场景的重要表示形式。本项目的目的是在 ModelNet40 数据集上实现并训练 Point Cloud Transformer(PCT),对点云进行物体分类,并生成符合评测要求的预测文件 result.zip。
result.zip
.npy
result.json
环境
--cpu
安装依赖
git clone https://www.gitlink.org.cn/NieZinan/jittor.git cd jittor pip install -r requirements.txt
数据集体积较大,不包含在仓库中(见 .gitignore)。请从课程/比赛提供的 data.zip 解压到项目根目录:
.gitignore
data.zip
unzip data.zip -d .
解压后应包含:
data/train_points.npy
data/train_labels.npy
data/test_points.npy
./run_train_gpu.sh ./data 250
训练结束后自动生成 pct_model.pkl,并打包 result.zip(默认 TTA 15 票)。
pct_model.pkl
./run_predict.sh 20
使用已有权重生成 result.zip(TTA 20 票,约 5–10 分钟)。
# 完整训练 python3 pct.py --data_dir ./data --epochs 250 --batch_size 32 --lr 0.01 --pack --tta_votes 15 # 仅预测 python3 pct.py --data_dir ./data --predict_only --pack --tta_votes 20 # 从 checkpoint 微调 python3 pct.py --data_dir ./data --resume --epochs 80 --pack --tta_votes 15
若出现 CURAND_STATUS_INITIALIZATION_FAILED:
CURAND_STATUS_INITIALIZATION_FAILED
python3 pct.py --data_dir ./data --epochs 200 --pack --cpu
jittor/ ├── pct.py # 数据集、PCT 模型、训练与推理 ├── run_train_gpu.sh # GPU 训练脚本 ├── run_train.sh # CPU 训练脚本 ├── run_predict.sh # TTA 推理并打包 ├── requirements.txt # Python 依赖 ├── README.md └── .gitignore
ModelNet40Dataset
PCT
zero_grad
predict_tta
{"0": 类别, "1": 类别, ...}
本项目为课程作业开源代码,仅供学习与交流使用。
计图PA3
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
PCT_jittor
A Jittor implementation of Point Cloud Transformer (PCT) for ModelNet40 point cloud classification.
基于 Jittor 实现的 Point Cloud Transformer(PCT),完成 ModelNet40 点云 40 分类任务(计图挑战赛赛道二热身赛)。
项目简介
动机与目标
点云是三维场景的重要表示形式。本项目的目的是在 ModelNet40 数据集上实现并训练 Point Cloud Transformer(PCT),对点云进行物体分类,并生成符合评测要求的预测文件
result.zip。解决的问题
.npy)输入 PCT 网络完成分类;result.json)。项目特点
学到什么
目录
环境要求与安装
环境
--cpu兜底)安装依赖
数据准备
数据集体积较大,不包含在仓库中(见
.gitignore)。请从课程/比赛提供的data.zip解压到项目根目录:解压后应包含:
data/train_points.npydata/train_labels.npydata/test_points.npy使用方法
1. GPU 训练(推荐)
训练结束后自动生成
pct_model.pkl,并打包result.zip(默认 TTA 15 票)。2. 仅推理(已有模型)
使用已有权重生成
result.zip(TTA 20 票,约 5–10 分钟)。3. 命令行参数示例
4. WSL 下 GPU 报错时(CPU 训练)
若出现
CURAND_STATUS_INITIALIZATION_FAILED:仓库结构
实现说明
ModelNet40DatasetPCTzero_grad+ 梯度裁剪;按 Clean-Acc 保存最佳权重predict_tta:多次随机采点,对 logits 投票评测提交
result.zip**(根目录仅含result.json);{"0": 类别, "1": 类别, ...},共 2468 条,类别编号 0–39;作者
许可证
本项目为课程作业开源代码,仅供学习与交流使用。
参考