目录

PCT_jittor

Jittor 实现的 **Point Cloud Transformer (PCT)**,用于 ModelNet40 三维点云分类。

环境

  • Python 3.11+(Linux GPU 推荐 3.12)
  • Jittor 1.3.7.16
  • NumPy 1.26.x
pip install -r requirements.txt          # Windows
pip install -r requirements_linux.txt  # Linux / GPU 服务器

数据

从课程平台下载预处理数据,放入 data/

data/
  train_points.npy
  train_labels.npy
  test_points.npy

训练

默认:1024 点、batch 16、SGD + warmup 余弦退火、8% 验证集早停(patience 45)、标签平滑 0.05、梯度裁剪、TTA=8。

python pct.py --data_dir ./data --use_cuda 1
参数 默认 说明
--epochs 250 最大训练轮数
--batch_size 16 批大小
--lr 0.005 初始学习率
--val_ratio 0.08 验证集比例
--patience 45 早停耐心值
--label_smooth 0.05 标签平滑
--tta 8 测试时 Y 轴旋转集成
--fast 512 点快速调试

Linux GPU:

bash scripts/train_gpu.sh       # 标准训练
bash scripts/train_gpu.sh fast  # 快速试跑

推理

python pct.py --predict_only --model_path pct_model.pkl --tta 8 --data_dir ./data

文件说明

文件 说明
pct.py 训练与推理入口
result.json 测试集预测(2468 条)
pct_model.pkl 训练得到的权重(需本地训练,未上传)

方法

  • 数据增强:多轴旋转、平移、缩放、高斯噪声、随机点丢弃、镜像;单位球归一化。
  • 优化:SGD(Nesterov)、余弦退火、标签平滑、梯度裁剪;按验证集准确率保存最优模型。
  • 测试:可选多视角 Y 轴旋转,对 logits 取平均。
关于

A Jittor implementation of Point Cloud Transformer (PCT) for ModelNet40 classification

53.0 KB
邀请码