dora-rs / dora

DORA (Dataflow-Oriented Robotic Architecture) is middleware designed to streamline and simplify the creation of AI-based robotic applications. It offers low latency, composable, and distributed dataflow capabilities. Applications are modeled as directed graphs, also referred to as pipelines.
https://dora-rs.ai
Apache License 2.0
1.58k stars 94 forks source link

Can I use dora as a data pipeline for model training? #393

Open npuichigo opened 11 months ago

npuichigo commented 11 months ago

Fantastic work first!

Dora says to be a low latency, composable, and distributed data flow. I'm not sure if goal matches the behavior to train deep learning models and just use it as a data pipe? I'm actually trying to build a data module in rust and expect to consume it in PyTorch training, and just find the project interesting.

haixuanTao commented 11 months ago

Absolutely! Are you more interested in real-time training? Or you prefer do off-line training within you're regular environment? The ladder should be easier to do using dora-record, as the exported format is arrow so that you can read it with pandas and then do everything with pandas, numpy, torch, tensorflow...

npuichigo commented 11 months ago

I'm wondering if dora is the same as ray or maybe there's something special?

haixuanTao commented 11 months ago

Are you referring to: https://github.com/ray-project/ray In which case, I think they focus on giving a full-stack pipeline for AI Model training and serving. We're more focused on producing real-time AI-based application that can typically run on a car like dora-drives or a small robot like dora-robomaster.

One of the challenge we aim at tackling is things like integrating sensors, integrating controls, all of this in an environment that is easy to dev with, with feature like hot-reloading, opentelemetry tracing, metrics and logging, and much more :)

We can do training through dora-record to export the data collected in arrow format. And you can then use your most loved software stack to do the training. This can be ray!