revert unnecessary files
本作业要求在 Jittor 框架下实现 Point Cloud Transformer(PCT),完成 ModelNet40 分类,并提交 pct.py、pct_model.pkl、result.json、REPORT.pdf 等文件。
pct.py
pct_model.pkl
result.json
REPORT.pdf
本项目做的是三维点云分类。输入是一组点云(每个样本是 N x 3),输出是 40 类中的一个类别。 核心目标:正确搭建模型,训练稳定,结果文件格式正确,可复现。
N x 3
PA3/ ├── data/ │ ├── train_points.npy │ ├── train_labels.npy │ ├── test_points.npy │ └── categories.txt ├── pct.py ├── pct_model.pkl ├── result.json ├── train_log.json ├── REPORT.pdf └── README
train_log.json
建议使用 conda 环境,避免系统 Python 包冲突。
source /home/jmt/miniconda3/etc/profile.d/conda.sh conda activate jittor ython3.7 -V
必要依赖:
可先做一次自检:
python3.7 -m jittor.test.test_example
train_points.npy + train_labels.npy
test_points.npy
n_points=1024
PCT 主体流程:
Conv1d(3->128)
Conv1d(128->128)
SA_Layer
SGD(momentum=0.9, weight_decay=1e-4)
CosineAnnealingLR
val_acc
python3.7 pct.py \ --data_dir ./data \ --n_points 1024 \ --batch_size 24 \ --epochs 200 \ --lr 0.003 \ --num_workers 0 \ --val_ratio 0.1 \ --use_cuda 1 \ --seed 42 \ --save_dir .
运行完成后会自动生成:
本次采用学习率 lr=0.003,200 epoch。 终端末轮结果(示例):
lr=0.003
87.06%
86.48%
0.4212
说明:
result.json 是一个字典,格式类似:
{ "0": 12, "1": 7, "...": "...", "2467": 30 }
校验点:
2468
0~2467
0~39
同样参数重复训练时,结果可能有小幅波动,主要来自:
为尽量稳定,你可以做:
seed
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
jmt24PA3: PA3 Point Cloud Transformer(Jittor)
1.任务说明
本作业要求在 Jittor 框架下实现 Point Cloud Transformer(PCT),完成 ModelNet40 分类,并提交
pct.py、pct_model.pkl、result.json、REPORT.pdf等文件。本项目做的是三维点云分类。输入是一组点云(每个样本是
N x 3),输出是 40 类中的一个类别。 核心目标:正确搭建模型,训练稳定,结果文件格式正确,可复现。2.项目结构
pct.py:数据集、模型、训练、推理全都在这里pct_model.pkl:训练过程中按验证集最佳精度保存的权重result.json:测试集预测结果(提交用)train_log.json:每个 epoch 的训练日志(loss/acc/lr)3.环境与依赖
必要依赖:
可先做一次自检:
4.实验流程
4.1 数据处理
train_points.npy + train_labels.npytest_points.npyn_points=10244.2 模型结构
PCT 主体流程:
Conv1d(3->128)+Conv1d(128->128)SA_Layer)4.3 训练策略
SGD(momentum=0.9, weight_decay=1e-4)CosineAnnealingLRval_acc记录最优权重(不是最后一轮)5.运行方式
5.1 训练 + 推理一体化
5.2 产物
运行完成后会自动生成:
pct_model.pkltrain_log.jsonresult.json6.结果说明
本次采用学习率
lr=0.003,200 epoch。 终端末轮结果(示例):87.06%86.48%0.4212说明:
7.result.json 格式与校验
result.json是一个字典,格式类似:校验点:
24680~24670~398.复现和稳定性说明
同样参数重复训练时,结果可能有小幅波动,主要来自:
为尽量稳定,你可以做:
seed等超参数