A practical GUI and Python toolkit for Pixeltable YOLOX
Project description
PTYOLOX Garage
PTYOLOX Garage is a practical desktop and Python toolkit for training, testing, and exporting object-detection models with Pixeltable YOLOX. It provides an Ultralytics-style API and a bilingual tkinter GUI for repeatable local and offline workflows.
Features
- Prepare Label Studio COCO exports for training
- Train YOLOX nano, tiny, s, m, l, and x models with staged epoch schedules
- Run inference on images, NumPy arrays, directories, and USB cameras
- Export trained models to ONNX
- Switch the GUI between English and Japanese
- Store reusable CPU/GPU configuration profiles
Requirements
- Python 3.10–3.13
- Windows 11 is the primary supported platform
- NVIDIA CUDA GPU is recommended for training; CPU inference is supported
On Linux, tkinter may need to be installed through the operating-system package manager.
Installation
From PyPI:
pip install ptyolox-garage
For development with uv:
git clone https://github.com/Moge800/ptyolox-garage.git
cd ptyolox-garage
uv sync --group dev
PyTorch builds are hardware-specific. Install the appropriate PyTorch build from the official selector when CUDA support is required.
Model Security
PyTorch checkpoint files such as .pt can execute arbitrary code when loaded. Only open model files from a trusted source. The GUI asks for confirmation before loading a model file; cancel the dialog when you cannot verify its origin.
GUI
ptyolox-garage
The GUI contains four work areas: training, image inference, live camera inference, and ONNX export. The initial language follows the operating-system locale and can be changed from the Language menu.
Configuration is stored in the operating system's user configuration directory. On Windows, the default location is %APPDATA%\ptyolox-garage\config.ini.
Python API
from ptyolox_garage import YOLOX
# Train from a Label Studio COCO export.
model = YOLOX("l")
model.train(
data="data.yaml",
epochs=[100, 200, 300],
device="cuda:0",
batch=16,
)
# Run inference.
model = YOLOX("best_model.pt")
results = model.predict("image.jpg", conf=0.3)
annotated = results[0].plot()
# Export to ONNX.
model.export(format="onnx")
Dataset Configuration
data.yaml points to a Label Studio COCO export and its image directory:
coco_json: C:/datasets/widgets/result.json
images_dir: C:/datasets/widgets/images
output_dir: C:/datasets/widgets/prepared
val_split: 0.2
PTYOLOX Garage remaps COCO category IDs, validates image paths, creates train/validation splits, and writes the directory structure expected by Pixeltable YOLOX.
Model Sizes
| Name | Depth | Width |
|---|---|---|
nano |
0.33 | 0.25 |
tiny |
0.33 | 0.375 |
s |
0.33 | 0.50 |
m |
0.67 | 0.75 |
l |
1.00 | 1.00 |
x |
1.33 | 1.25 |
Development
uv sync --group dev
uv run pytest
uv run ruff check .
uv build
Detailed guides are available in the English documentation and Japanese documentation.
Attribution
PTYOLOX Garage is built on Pixeltable YOLOX, which is derived from Megvii YOLOX. PTYOLOX Garage is an independent project and is not an official Pixeltable product.
License
Licensed under the Apache License 2.0. See NOTICE for attribution.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ptyolox_garage-0.2.1.tar.gz.
File metadata
- Download URL: ptyolox_garage-0.2.1.tar.gz
- Upload date:
- Size: 191.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
20810f1648159345077f7f9a041080d8a8853856e9fe9db45d8224e28d4aad6a
|
|
| MD5 |
20970b81e79e7ed9b2c0706db07c72ca
|
|
| BLAKE2b-256 |
b61c4bc4c6cc82f25558fede622f83772a444090b4950d96351761f00cdb089f
|
Provenance
The following attestation bundles were made for ptyolox_garage-0.2.1.tar.gz:
Publisher:
publish.yml on Moge800/ptyolox-garage
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ptyolox_garage-0.2.1.tar.gz -
Subject digest:
20810f1648159345077f7f9a041080d8a8853856e9fe9db45d8224e28d4aad6a - Sigstore transparency entry: 2205017892
- Sigstore integration time:
-
Permalink:
Moge800/ptyolox-garage@81423a253688789e8e241dfd4e4d2fd28158813a -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/Moge800
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@81423a253688789e8e241dfd4e4d2fd28158813a -
Trigger Event:
release
-
Statement type:
File details
Details for the file ptyolox_garage-0.2.1-py3-none-any.whl.
File metadata
- Download URL: ptyolox_garage-0.2.1-py3-none-any.whl
- Upload date:
- Size: 42.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ded86bbe63a2523c478950bb4d264264df863ba5482affd8ab7ef8b854065cf3
|
|
| MD5 |
a615c8bf9ba189da9dbfdf53dec5418d
|
|
| BLAKE2b-256 |
03b2187cd64cb9ac174b10f88ab8aeb60c2c5a81f9ad8e5792bc833fdab16c08
|
Provenance
The following attestation bundles were made for ptyolox_garage-0.2.1-py3-none-any.whl:
Publisher:
publish.yml on Moge800/ptyolox-garage
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ptyolox_garage-0.2.1-py3-none-any.whl -
Subject digest:
ded86bbe63a2523c478950bb4d264264df863ba5482affd8ab7ef8b854065cf3 - Sigstore transparency entry: 2205017909
- Sigstore integration time:
-
Permalink:
Moge800/ptyolox-garage@81423a253688789e8e241dfd4e4d2fd28158813a -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/Moge800
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@81423a253688789e8e241dfd4e4d2fd28158813a -
Trigger Event:
release
-
Statement type: