A Jittor implementation of Point Cloud Transformer (PCT) for ModelNet40 classification.
About The Project
This repository contains a course assignment implementation for 3D point cloud classification on the ModelNet40 dataset. The project uses the Jittor deep learning framework and follows the Point Cloud Transformer (PCT) architecture for 40-class shape classification.
After training, the script runs prediction on the test set and exports the results to result.json.
PCT_Jittor
A Jittor implementation of Point Cloud Transformer (PCT) for ModelNet40 classification.
About The Project
This repository contains a course assignment implementation for 3D point cloud classification on the ModelNet40 dataset. The project uses the Jittor deep learning framework and follows the Point Cloud Transformer (PCT) architecture for 40-class shape classification.
After training, the script runs prediction on the test set and exports the results to
result.json.Features
result.jsonBuilt With
Project Structure
Getting Started
Prerequisites
Install the required Python packages:
If Jittor requires additional compiler or CUDA setup on your machine, refer to the official installation guide:
https://cg.cs.tsinghua.edu.cn/jittor/download/
Dataset Preparation
Place the dataset files under
data/:Expected shapes:
train_points.npy:(N, 2048, 3)train_labels.npy:(N,)test_points.npy:(M, 2048, 3)Large dataset files are not included in this repository.
The dataset used in this assignment is provided by the course platform and can be downloaded from:
https://cloud.tsinghua.edu.cn/f/f003de5a2e914d1e9e0e/?dl=1
The data root is configured through the command-line argument
--data_dir.Usage
Run training and prediction with default settings:
Example with common arguments:
Main Arguments
--data_dir: dataset directory--n_points: number of sampled points per shape--batch_size: batch size--epochs: number of training epochs--lr: learning rate--device:auto,cpu, orcuda--save_path: model output path--result_path: prediction output pathThe script controls random seeds through
--seedand sets NumPy, Python, and Jittor seeds inside the entry script.Training
Run training with the provided shell script:
You can also run the training command directly:
Evaluation / Inference
This baseline script performs prediction on the test set immediately after training and writes the output to
result.json.Example command:
Output Files
After training, the script generates:
pct_model.pkl: trained model weightsresult.json: predicted labels for the test setExample format of
result.json:Each key is the test sample index as a string, and each value is the predicted class id.
Training Details
0.91e-4Result Notes
result.json, which is the file required for submission.Notes
result.json..gitignore.