I am sure that this was here solved / asked before, but i have not found the answer.
I am playing with the idea of implementing a visual frontend for Mill / JsonGrinder, which will allow you to upload the training data, tweak a model, and then let you start training. I would like to delay a training, such that it will start after all the stuff like models is finished. Thus, I need something like a barrier. I wanted to implement it using a “Button”, where I would have a start button and the training will start if I change the button. But this does not work, because I cannot assign the value to the variable bind to the button.
Something like:
Cell defining button
md"""
$(@bind go Button("Train!"))
"""
Cell performing training
if go == "Train!"
Flux.Optimise.train!((x,y) -> loss(model, x, y), ps, repeatedly(minibatch, iterations), opt)
go = "finished"
end
The functionality to delay execution of specific cells (and their dependencies) will be available in Pluto itself soon - you can try it out here (GUI not final, but should be fully operational):
For usage, you could take a look at my PlutoCon talk:
I also use the checkbox-way, the main problem is that the checkbox stays activated after enabling it. So in the example by @Tomas_Pevny the training would start as soon as I check “Train”, but if I change some reactive cells above the “Train” checkbox, a training is triggered for every GUI action.
The intended behavior would be: Check the checkbox, start a single training while also deactivating the checkbox (to prevent triggering many trainings). Is this possible?