I have troubles with understanding how I can work with Vowpal Wabbit (in this context, it doesn't matter. It can be something like one).
There are several steps of working with this program:
- prepare data
- train a model
- ?
- profit
What step will be number 3?
I have found 2 ways of working with vowpal from my java app.
One of them is creating a vowpal process with necessary parameters like a path to a created model. But there is a problem. I am not sure, that this approach is good in a concurrent environment. Of course, I can run a stuck of processes for each thread, but it will be not ok.
Another way is running a vowpal daemon and connect to it via a socket connection. I see problems here too. For instance, I have to create a socket connection and send some data to a daemon. Then, I have to wait for a result, but I don't know when a result will be ready. Also, when I will receive data from a daemon, I don't know which chunk of data is the last. A result of work is just a string and its format doesn't let me process an output stream correctly.
Maybe are there other ways of working with vowpal wabbit, which are more productive and more reliable?