目录

jittor-研途致远-计图挑战赛赛道二热身赛

本仓库为计图挑战赛赛道二热身赛开源代码,使用 Jittor 实现 Point Cloud Transformer (PCT),用于 ModelNet40 点云分类任务。

GitLink 热身赛仓库:

https://www.gitlink.org.cn/Aaaa-xiaoxia/PCT

按比赛开源命名规范,项目名为:

jittor-研途致远-计图挑战赛赛道二热身赛

项目简介

本项目从预处理后的 .npy 文件读取训练集和测试集点云,训练 PCT 分类模型,并生成线上提交所需的 result.json

主要文件:

.
├── pct.py                         # 训练与推理主程序
├── requirements.txt               # Python 依赖
├── LICENSE                        # 开源协议
├── data/
│   ├── README.md                  # 数据放置说明
│   └── categories.txt             # ModelNet40 类别名称
└── 开源代码规范(计图比赛).md       # 比赛开源规范

数据集、模型权重和运行产物不纳入 git 管理,请按下文说明放置或生成。

环境安装

建议使用 Python 3.8 或更高版本。

pip install -r requirements.txt

如需使用 GPU,请确保本机 CUDA 环境可被 Jittor 正确识别。若只在 CPU 上调试,可在运行命令中加入 --use_cuda 0

数据准备

请将比赛提供或预处理后的数据放到 data/ 目录下:

data/
├── train_points.npy
├── train_labels.npy
├── test_points.npy
└── categories.txt

数据说明:

  • train_points.npy: 训练点云,形状通常为 (N, 2048, 3)
  • train_labels.npy: 训练标签,形状通常为 (N,)
  • test_points.npy: 测试点云,形状通常为 (N, 2048, 3)
  • categories.txt: 40 个类别名称,每行一个类别

训练

默认训练 200 个 epoch,并在训练结束后保存权重和预测结果:

python pct.py --mode train --data_dir ./data --n_points 1024 --batch_size 32 --epochs 200 --lr 0.01 --seed 42 --model_path outputs/pct_model.pkl --output_path outputs/result.json

训练输出:

outputs/pct_model.pkl
outputs/result.json

评测/推理

已有模型权重时,可以直接加载 checkpoint 并生成预测文件:

python pct.py --mode infer --data_dir ./data --n_points 1024 --batch_size 32 --seed 42 --model_path outputs/pct_model.pkl --output_path outputs/result.json

如果使用当前目录下已有的本地权重,也可以运行:

python pct.py --mode infer --data_dir ./data --model_path pct_model.pkl --output_path result.json

结果说明

脚本输出的 result.json 为测试集预测结果,格式为:

{
  "0": 12,
  "1": 4
}

其中 key 为测试样本编号,value 为预测类别编号。线上成绩以比赛平台评测结果为准;本地重新训练可能因随机初始化、硬件环境和训练轮数不同而与当前提交结果存在差异。

方法说明

模型输入为点云坐标 (B, 3, N),先通过两层 1D 卷积提取特征,再堆叠 4 个 self-attention 层建模点之间的关系,随后融合全局特征并使用全连接层完成 40 类分类。

训练配置:

  • 损失函数:cross entropy
  • 优化器:SGD
  • 学习率策略:cosine annealing
  • 数据增强:绕 Y 轴随机旋转
  • 随机种子:通过 --seed 设置

开源说明

本仓库用于计图挑战赛代码开源。提交前请确认:

  • 仓库为 public
  • README 中的环境、数据、训练、推理命令可执行
  • 未提交数据集原始文件、模型权重和训练产物
  • GitHub 和 GitLink 均已同步

License

本项目采用 MIT License。

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

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