Metadata-Version: 2.1
Name: classifier_trains
Version: 1.0.0
Summary: A PyTorch-based deep learning classifier training framework.
Home-page: https://github.com/wyhwong/classifier-trains
License: MIT
Keywords: pytorch,deep learning,classification,training,onnx,tensorboard,profiler
Author: wyhwong
Author-email: wyhwong@link.cuhk.edu.hk
Requires-Python: >=3.11,<4.0
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: click (>=8.1.7,<9.0.0)
Requires-Dist: lightning (>=2.4.0,<3.0.0)
Requires-Dist: matplotlib (>=3.9.2,<4.0.0)
Requires-Dist: numpy (>=2.1.1,<3.0.0)
Requires-Dist: onnx (>=1.15.0,<2.0.0)
Requires-Dist: pydantic (>=2.8.2,<3.0.0)
Requires-Dist: pyyaml (>=6.0.1,<7.0.0)
Requires-Dist: scikit-learn (>=1.5.1,<2.0.0)
Requires-Dist: tensorboard (>=2.17.0,<3.0.0)
Requires-Dist: torch-tb-profiler (>=0.4.3,<0.5.0)
Project-URL: Repository, https://github.com/wyhwong/classifier-trains
Description-Content-Type: text/markdown

# Classifier-trains

For project details, please see [README.md](https://github.com/wyhwong/classifier-trains)

## Install as a package
```bash
pip3 install classifier-trains
```

## Makefile Commands (Only when cloned from GitHub)

```bash
# Check all available commands
make help
```

## After installation

For example of pipeline configuration, please see [pipeline_setting.yml](https://github.com/wyhwong/classifier-trains/blob/main/src/pipeline_setting.yml).

```bash
# Run training or evaluation
python3 -m classifier_trains run --config <path to yml config> --output_dir <output_dir>

# Run training or evaluation with profiling, which will generate a profile report
python3 -m classifier_trains profile --config <path to yml config> --output_dir <output_dir>

# Compute mean and std of dataset
python3 -m classifier_trains compute-mean-and-std --dir-path <path to dataset>

# Get output mapping of dataset
python3 -m classifier_trains get-output-mapping --dir-path <path to dataset>
```

## Expected Folder Structure for Dataset
```
Dataset Directory
├── train
│   ├── <class1>
│   │   ├── <image1>
│   │   └── ...
│   └── <class2>
│       ├── <image1>
│       └── ...
├── val
│   ├── <class1>
│   │   ├── <image1>
│   │   └── ...
│   └── <class2>
│       ├── <image1>
│       └── ...
└── eval
    ├── <class1>
    │   ├── <image1>
    │   └── ...
    └── <class2>
        ├── <image1>
        └── ...
```

