For official docs follow this link.
- About The Project
- Getting Started
- Tests
- Run
- Docs
- Updates
- Roadmap
- Contributing
- License
- Contact
- Acknowledgements
- Literature
This project is about collecting experience in Rust.
- Features are to be adjusted to your own project needs.
| Category | Feature | Implement Status |
|---|---|---|
| Packaging agnostic | Binary only deployment | ✔️ |
| Lore ipsum | ✔️ | |
| Lore ipsum agnostic | ||
| LORE IPSUM | ✔️ | |
| Advanced unit testing | 🔶 | |
| Advanced performance testing | 🔶 | |
| Advanced fuzz testing | 🔶 |
Legend:
- ✔️ - completed
- 🔶 - in progress
- ❌ - not started
This enumeration also includes submodules.
If you just want the newest versions allowed by your current constraints (updates Cargo.lock only):
Update all:
cargo update
Update versions in Cargo.toml
cargo install cargo-edit
cargo upgrade --dry-run --verbose
cargo upgrade --incompatible- Clone the repo
git clone --recurse-submodules git@github.com:Kataglyphis/Kataglyphis-RustProjectTemplate.git
cargo run -- read --path ../README.mdBuild + Run (CPU via tract):
cargo run --bin kataglyphis_rustprojecttemplate --features gui_windows,onnx_tract -- gui --backend dx12Build + Run (ONNX Runtime + DirectML):
cargo run --bin kataglyphis_rustprojecttemplate --features gui_windows,onnxruntime_directml -- gui --backend dx12Build + Run (ONNX Runtime + CUDA, NVIDIA):
# PowerShell
$env:KATAGLYPHIS_ORT_DEVICE="cuda"
cargo run --bin kataglyphis_rustprojecttemplate --features gui_windows,onnxruntime_cuda -- gui --backend dx12
# CMD
set KATAGLYPHIS_ORT_DEVICE=cuda
cargo run --bin kataglyphis_rustprojecttemplate --features gui_windows,onnxruntime_cuda -- gui --backend dx12Optional environment variables:
KATAGLYPHIS_ONNX_MODEL– Pfad zum ONNX-Modell (Default: models/yolov10m.onnx)KATAGLYPHIS_ONNX_BACKEND–tractoderort(Default: automatisch)KATAGLYPHIS_ORT_DEVICE–cpu|auto|cuda(Default:cpu)KATAGLYPHIS_PREPROCESS–letterbox|stretch(Default:stretch)KATAGLYPHIS_SWAP_XY– setze1, falls die Modell-Ausgabe X/Y vertauscht (Default:0)KATAGLYPHIS_SCORE_THRESHOLD– Score-Schwelle für Erkennung (Default:0.5)KATAGLYPHIS_INFER_EVERY_MS– Inferenz-Intervall in ms (Default:100,0= jedes Frame)
CUDA Hinweise:
- Benötigt NVIDIA-Treiber + CUDA/cuDNN Runtime auf dem System.
- Wenn CUDA-Init fehlschlägt, kann
KATAGLYPHIS_ORT_DEVICE=autogenutzt werden (fällt auf CPU zurück).
Overlay:
- Zeigt FPS, Inferenz-Latenz, CPU/RSS und eine CPU-Historie.
- Inferenz kann im Overlay ein-/ausgeschaltet werden.
cargo run --features gui_windows,onnxruntime_directml -- --resource-log --resource-log-interval-ms 1000 --resource-log-gpu=true guiOptional: zusätzlich in Datei schreiben
cargo run --features gui_windows,onnxruntime_directml -- --resource-log --resource-log-file .\resource.log guiDiese Demos sind als separates Binary integriert und per Feature gated.
cargo run --features burn_demos --bin burn-demos -- --helpBeispiele:
cargo run --features burn_demos --bin burn-demos -- tensor-demo
cargo run --features burn_demos --bin burn-demos -- linear-regression --epochs 50 --steps-per-epoch 50 --lr 0.02 --batch-size 256
cargo run --features burn_demos --bin burn-demos -- xor --epochs 2000 --lr 0.05
cargo run --features burn_demos --bin burn-demos -- two-moons --epochs 200 --steps-per-epoch 50 --lr 0.01 --batch-size 256
# ONNX Runtime YOLOv10m Demo (Default model: models/yolov10m.onnx)
cargo run --features burn_demos --bin burn-demos -- onnx-yolov10 --runs 1 --print-topk 3cargo run --features gui_windows -- gui --backend dx12
# Vulkan backend
cargo run --features gui_windows -- gui --backend vulkan
# Auto-select (wgpu PRIMARY)
cargo run --features gui_windows -- gui --backend primary# WGPU (recommended)
cargo run --features gui_linux -- gui --backend vulkan
# GTK demo
cargo run --features gui_unix -- guicargo doc --openHow to update all installed packages:
- Install updater:
cargo install cargo-update- Now update all packages:
cargo install-update -asudo v4l2-ctl --list-formats-ext -d /dev/video0
gst-launch-1.0 v4l2src device=/dev/video0 ! videoconvert ! autovideosink
gst-launch-1.0 videotestsrc ! video/x-raw,width=640,height=480,framerate=30/1 ! autovideosinkUpcoming :)
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Jonas Heinle - @Cataglyphis_ - jonasheinle@googlemail.com
Project Link: https://github.com/Kataglyphis/...
Some very helpful literature, tutorials, etc.