My question may be related to Julia, but I'd appreciate an explanation for the following lines of code in 30.Lin in the tutorial:
lin = ((deepcopy(model),model(dtrn),model(dtst),zeroone(model,dtrn),zeroone(model,dtst))
# (progress displays a bar like progress! but returns an iterator, progress! returns nothing)
for x in takeevery(length(dtrn), progress(sgd(modelZ,repeat(dtrn,100)))))
# Save it as a 5x100 array
lin = reshape(collect(flatten(lin)),(5,:))
How is "lin" updated? I guess it collects sgd output at very length(dtrn), but where is it written to Lin?