Distribute Tensorflow - Training Neural Networks on Client Device

I have a Windows C++ application. It is to be extended with a neural network function that allows end users to train neural networks themselves on their devices (also Windows OS). The neural network modelling can be done automatically and is quite simple.

Tensorflow is well suited to my needs, but I only need a tiny fraction of the functionality. Tensorflow Serving is designed to distribute ready trained networks instead of training new ones.

So far, the only option I see is to distribute pre-built Tensorflow DLLs, which are very large.

How would I achieve my goal? Is there any reference software that has a similar use case? How do they do it?

Thanks a lot!

It sounds like you are looking to extend your Windows C++ application with a neural network function that allows end users to train neural networks themselves on their devices. While Tensorflow is well suited to your needs, you only need a small fraction of its functionality. Tensorflow Serving is not designed for training new networks, but rather for distributing pre-trained ones.

One option you could consider is using a smaller, more lightweight library that is better suited to your needs. Another option could be to use Tensorflow Lite, which is designed specifically for mobile and embedded devices and may be more appropriate for your use case.

As for reference software, you may want to look into other open source projects that have similar use cases and see how they approach the problem.