优化pct算法
本项目基于 Jittor 框架,实现了 Point Cloud Transformer (PCT) 的 ModelNet40 三维形状分类示例代码。
pct.py
data/
train_points.npy
(9843, 2048, 3)
train_labels.npy
(9843,)
test_points.npy
(2468, 2048, 3)
categories.txt
.venv/
训练一个点云分类模型,并生成测试集预测结果文件 result.json,提交格式为:
result.json
{ "0": 4, "1": 35, "2": 10, ... }
其中 key 是测试集样本编号(字符串),value 是预测类别(0-39 的整数)。
建议在 WSL(Ubuntu)环境中运行,使用项目目录下的虚拟环境:
cd /mnt/c/Users/Lenovo/Desktop/计算机图形学/PA3/code source .venv/bin/activate
如果没有安装依赖,可先安装:
pip install jittor numpy
注意:Jittor 依赖 CUDA 环境和对应驱动,若使用 CPU 运行需根据 Jittor 文档调整配置。
python3 pct.py
程序默认训练 PCT 模型并保存 pct_model.pkl,然后对测试集进行预测,输出结果到 result.json。
pct_model.pkl
若已有训练好的模型文件,可直接加载模型并运行预测。
A Jittor implementation of Point Cloud Transformer(PCT) for ModelNet40 classification
ModelNet40 Point Cloud Classification with PCT
本项目基于 Jittor 框架,实现了 Point Cloud Transformer (PCT) 的 ModelNet40 三维形状分类示例代码。
项目结构
pct.py:主示例程序,包含数据加载、PCT 模型定义、模型训练和测试集预测结果生成。data/train_points.npy:训练点云数据,shape(9843, 2048, 3)。train_labels.npy:训练集标签,shape(9843,)。test_points.npy:测试点云数据,shape(2468, 2048, 3)。categories.txt:40 个类别名称。.venv/:项目虚拟环境目录(WSL 下可用)。目标
训练一个点云分类模型,并生成测试集预测结果文件
result.json,提交格式为:其中 key 是测试集样本编号(字符串),value 是预测类别(0-39 的整数)。
环境要求
建议在 WSL(Ubuntu)环境中运行,使用项目目录下的虚拟环境:
如果没有安装依赖,可先安装:
运行方式
训练并生成
result.json程序默认训练 PCT 模型并保存
pct_model.pkl,然后对测试集进行预测,输出结果到result.json。仅生成测试集预测
若已有训练好的模型文件,可直接加载模型并运行预测。
输出文件
pct_model.pkl:训练后的模型参数文件(若已保存)。result.json:测试集预测结果,符合提交格式。说明