目录

PCT ModelNet40 Baseline (Jittor)

This repository contains a reproducible Jittor implementation of a Point Cloud Transformer (PCT) baseline for ModelNet40 classification.

Environment

  • Python 3.7+
  • Recommended: Python 3.7 or 3.8
  • Jittor >=1.3.9
  • NumPy >=1.20,<2.0
  • A working C++ compiler (g++) for Jittor
  • NVIDIA GPU and CUDA are recommended for training

Install dependencies:

pip install -r requirements.txt

Recommended runtime notes:

  • Verify that g++ is available before importing Jittor
  • Use a CUDA-enabled Jittor environment for GPU training
  • If Jittor compilation fails, first check the local compiler and CUDA setup

Repository Layout

  • configs/: training and evaluation config files
  • src/: model, dataset, training, evaluation, and utility code
  • scripts/: runnable entry scripts
  • data/: dataset format description only
  • outputs/: generated checkpoints, logs, and predictions

Data Preparation

This repository does not include raw dataset files.

Expected dataset layout:

data/
  train_points.npy
  train_labels.npy
  test_points.npy
  categories.txt

See data/README.md for details.

Training

Run the 512-point GPU baseline:

python scripts/train.py --config configs/train_gpu_512.json

Run the 1024-point GPU training setup:

python scripts/train.py --config configs/train_gpu_1024.json

You can override config values from the command line. Example:

python scripts/train.py --config configs/train_gpu_512.json --epochs 100

Evaluation / Test Prediction

Generate result.json from a trained checkpoint:

python scripts/eval.py \
  --config configs/eval_gpu_1024.json \
  --checkpoint outputs/final_best_gpu_1024.pkl \
  --result_path outputs/result.json

If you need a submission file named exactly result.json, copy or move the generated file after evaluation.

Metric

The competition metric is classification accuracy on the hidden test set. According to the task description, test accuracy must be at least 0.80.

Results

Current verified local validation result:

  • 1024-point GPU setting
  • Best validation accuracy: 84.45%
  • Best checkpoint epoch: 98

Notes:

  • The public code exports predictions to result.json for submission
  • The competition test labels are hidden, so final online test accuracy may differ from local validation accuracy
  • Reproducibility across different machines may vary slightly because Jittor compilation and GPU environments can introduce small differences

Reproducibility Notes

  • Use --seed to control randomness.
  • Each run saves:
    • config.json
    • command.txt
    • terminal logs in train.log or eval.log
  • Command-line arguments override values from the config file.

Notes

  • Large datasets, checkpoints, and generated outputs are excluded from version control by .gitignore.
  • This release package is a cleaned upload-ready copy of the current project.
关于
36.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

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