Thank you for your clarification. At the end I figured out, it was a silly
programming error, now it just works fine. Thank you again for your
explanation.


2015-05-11 22:31 GMT+02:00 Stephan Ewen <se...@apache.org>:

> Can you share the respective part of the code, then we can have a look?
>
> In general, a DataSet is re-broadcasted in each iteration, if it depends
> on the IterativeDataSet.
> You have to re-grab it from the RuntimeContext in each superstep. If you
> call getBroadcastSet() in the open() method, then it will get executed in
> each superstep (open gets called at the beginning of each superstep).
>
> Greetings,
> Stephan
>
>
> On Mon, May 11, 2015 at 6:36 PM, Ventura Del Monte <
> venturadelmo...@gmail.com> wrote:
>
>> Hello,
>>
>> I am writing a Flink application whose purpose is to train neural
>> networks. I have implemented a version of SDG based on mini batches using
>> the IterativeDataSet class. In a nutshell, my code groups the input
>> features in a set called mini batch (i have as many mini batches as the
>> parallelism degree), then it calculates a gradient over each mini batch in
>> a map tasks and then those gradients are merged in a reduce task.
>> Unfortunately it seems the trained param is not broadcasted at the end of
>> each epoch and it looks like that it starts the next epoch using the
>> initial parameter. I know it is probably a programming error which I cannot
>> see at the moment, but I was wondering if there were some guidelines for
>> broadcasting an object in the correct way.
>> Is it asking too much if you could have a look at my code, please? Thank
>> you in advance.
>>
>> Regards,
>> Ventura
>>
>
>

Reply via email to