目录

PCT_jittor

本仓库为清华大学计算机图形学(2026)实验三(PA3)的开源代码实现。 项目基于 Jittor 深度学习框架,构建了 Point Cloud Transformer 网络,用于在 ModelNet40 数据集上进行三维点云的形状分类。

核心实现

  • 特征提取:利用一维卷积完成点云坐标到高维特征空间的映射。
  • 全局关系建模:实现了基于 jt.nn.bmm 的自注意力机制(Self-Attention Layer),并串联 4 层提取深层特征。
  • 动态图与求导: Jittor 原生 jt.nn.cross_entropy_loss 确保动态图计算与反向传播的稳定性。

环境依赖

推荐在 Linux 或 WSL2 环境下运行(已验证环境:WSL2 + Conda)。

  • Python >= 3.9
  • Jittor
  • NumPy

安装 Jittor:

pip install jittor

目录结构

.
├── data/                  # 存放 ModelNet40 数据集 (已被 .gitignore 忽略)
│   ├── train_points.npy
│   ├── train_labels.npy
│   └── test_points.npy
├── pct.py                 # PCT 网络核心代码与训练逻辑
├── result.json            # 模型在测试集上的预测输出 (运行后生成)
├── pct_model.pkl          # 训练保存的模型权重 (运行后生成,已被忽略)
├── .gitignore             # Git 忽略配置文件
└── README.md              # 项目说明文档

运行指南

确保 data 文件夹与 pct.py 处于同一目录下,然后在终端执行以下命令启动训练与推理:

python pct.py

训练参数与策略

  • Points: 1024
  • Batch Size: 8
  • Epochs: 200
  • Optimizer: Adam (lr=0.001, weight_decay=1e-4)
  • Scheduler: CosineAnnealingLR

代码运行结束后,会自动在当前目录生成 pct_model.pkl 模型参数文件,并在测试集上完成推理,导出供头歌平台评测的 result.json 文件。


关于

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

41.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802032778号