ADD file via upload
本项目用于图形学实验 PA3(点云分类),基于 pct.py 完成训练、模型保存与测试集预测导出。
pct.py
pct_model.pkl
result.json
安装依赖(示例):
python3 -m venv .venv source .venv/bin/activate python -m pip install -U pip python -m pip install jittor numpy tqdm
默认数据目录为 ./data,需要以下文件:
./data
data/train_points.npy
data/train_labels.npy
data/test_points.npy
可用以下命令快速检查:
source .jtvenv/bin/activate python pct.py \ --use_cuda 1 \ --optimizer sgd \ --scheduler cosine \ --augment_level basic \ --epochs 200 \ --batch_size 32 \ --lr 0.01
--use_cuda {0,1}
--optimizer {sgd,adam}
--scheduler {cosine,warmup_cosine}
--augment_level {none,basic,strong}
--normalize_points
--warmup_epochs
warmup_cosine
注:本次测试使用参数为–use_cuda 1 –optimizer sgd –scheduler cosine –augment_level basic
在 pct.py 中,围绕“可控提升精度 + 可复现实验”做了以下优化:
增强策略分级(可控)
basic
strong
none
优化器可切换
SGD
Adam
学习率调度可切换
cosine
归一化可选
. ├── data/ │ ├── train_points.npy #用户自己放置 │ ├── train_labels.npy #用户自己放置 │ └── test_points.npy #用户自己放置 ├── pct.py ├── pct_model.pkl # 训练后生成 └── result.json # 预测后生成
A Jittor implementation of Point Cloud Transformer (PCT) for ModelNet40 classification
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802032778号
PCT_jittor_zhangsz24
本项目用于图形学实验 PA3(点云分类),基于
pct.py完成训练、模型保存与测试集预测导出。1. 项目功能
pct_model.pkl(模型参数)result.json(测试集预测结果)2. 环境依赖
安装依赖(示例):
3. 数据准备
默认数据目录为
./data,需要以下文件:data/train_points.npy,data/train_labels.npy,data/test_points.npy,可用以下命令快速检查:
4. 使用方法
4.1 基线训练(推荐起点)
4.2 常用参数说明
--use_cuda {0,1}:是否使用 GPU;--optimizer {sgd,adam}:优化器选择;--scheduler {cosine,warmup_cosine}:学习率调度器;--augment_level {none,basic,strong}:增强强度;--normalize_points:是否对每个点云做单位球归一化(默认关闭);--warmup_epochs:warmup 轮数(用于warmup_cosine)。注:本次测试使用参数为–use_cuda 1 –optimizer sgd –scheduler cosine –augment_level basic
5. 已做的优化内容
在
pct.py中,围绕“可控提升精度 + 可复现实验”做了以下优化:增强策略分级(可控)
basic:随机绕 Y 轴旋转(稳定基线);strong:在basic基础上加入轻量缩放、平移与高斯抖动;none:关闭增强,用于对照实验。优化器可切换
SGD与Adam两条训练路线;SGD基线配置。学习率调度可切换
cosine:余弦退火;warmup_cosine:前期 warmup + 后期 cosine。归一化可选
--normalize_points开关,用于对每个采样点云做中心化与单位球归一化,默认关闭。6. 目录结构