Add LICENSE
本项目提供了一个基于Jittor (计图)深度学习框架的 PCT (Point Cloud Transformer) 模型实现,用于完成 ModelNet40 三维点云数据集的分类任务。
本项目支持完整的端到端训练与推理流程,并在原生代码的基础上完善了数据增强策略与优化器配置,最终会自动生成用于提交的 result.json 预测结果。
result.json
在运行代码之前,请确保你的项目文件夹结构如下:
PCT-ModelNet40/ │ ├── pct.py # 核心代码(包含模型定义、训练、推理) ├── README.md # 项目说明文档 │ └── data/ # 数据集存放目录(需自行下载并放置) ├── categories.txt # 物品分类 ├── train_points.npy # 训练集点云数据 (N, 2048, 3) ├── train_labels.npy # 训练集标签数据 (N,) └── test_points.npy # 测试集点云数据 (M, 2048, 3)
数据集下载方式:可以从https://www.educoder.net/competitions/Jittor-7 下载比赛官方提供的数据集。
请确保你的系统中安装了 Python 3.7 或更高版本。 运行本项目需要安装 jittor 和 numpy。
jittor
numpy
你可以通过以下命令快速安装:
pip install jittor numpy
在 pct.py 中,我已经完成了以下关键部分的优化:
pct.py
三维数据增强:
优化器与学习率调度:
Loss函数:
打开终端,进入项目所在目录。
直接运行以下命令即可开始训练并自动生成测试集预测结果:
python pct.py
代码中预留了命令行参数接口,可以根据显存大小或训练需求调整参数:
python pct.py --epochs 200 --batch_size 32 --lr 0.001 --n_points 1024
参数说明:
--data_dir
./data
--n_points
1024
--batch_size
32
--epochs
200
--lr
0.0001
--seed
42
训练和推理结束后,当前目录下会生成两个重要文件:
pct_model.pkl
{"样本编号": 预测类别ID}
A Jittor implementation of Point Cloud Transformer(PCT) for ModelNet40 classification
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
PCT_jittor
本项目提供了一个基于Jittor (计图)深度学习框架的 PCT (Point Cloud Transformer) 模型实现,用于完成 ModelNet40 三维点云数据集的分类任务。
本项目支持完整的端到端训练与推理流程,并在原生代码的基础上完善了数据增强策略与优化器配置,最终会自动生成用于提交的
result.json预测结果。目录结构
在运行代码之前,请确保你的项目文件夹结构如下:
数据集下载方式:可以从https://www.educoder.net/competitions/Jittor-7 下载比赛官方提供的数据集。
环境依赖
请确保你的系统中安装了 Python 3.7 或更高版本。 运行本项目需要安装
jittor和numpy。你可以通过以下命令快速安装:
核心优化 (Completed TODOs)
在
pct.py中,我已经完成了以下关键部分的优化:三维数据增强:
优化器与学习率调度:
Loss函数:
如何运行
打开终端,进入项目所在目录。
1. 快速开始(默认配置)
直接运行以下命令即可开始训练并自动生成测试集预测结果:
2. 自定义参数运行
代码中预留了命令行参数接口,可以根据显存大小或训练需求调整参数:
参数说明:
--data_dir: 数据集存放路径(默认:./data)--n_points: 每个样本采样的点云数量(默认:1024)--batch_size: 批次大小,显存不足可调小至 16 或 8(默认:32)--epochs: 总训练轮数(默认:200)--lr: 初始学习率(默认:0.0001)--seed: 随机种子,保证结果可复现(默认:42)输出文件
训练和推理结束后,当前目录下会生成两个重要文件:
pct_model.pkl**:训练好的 Jittor 模型权重文件。如果你后续需要继续训练或查看模型,可以加载该文件。result.json**:测试集的预测结果,格式为字典{"样本编号": 预测类别ID}。此文件可直接用于提交比赛成绩。