You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Apologies this is less of an issue and more of a question.
When using the Ask and tell interface does specifying num workers matter for the optimizer?
In this case I am dealing with a large batch size of simulations that run in parallel (single neuron model fitting: up to 15000 points can be simulated) for 100 rounds. However the parallelization is handled by an external library (brian2), so I am simply using nevergrad in an ask tell format.
the basic code format is as follows
opt = ng.optimizers.TBPSA(params, num_workers=X, budget)
for x in rounds:
points = []
for x in batch_size:
points.append(opt.ask())
res = eval(points)
for i, row in enumerate(res):
opt.tell(row, points[i])
However, the documentation is not clear whether setting number of workers is crucial in this scenario. Does setting number of workers matter when not using the optimizer.optimize() function? Would it speed up convergence or is it simple used for parallelizing the function eval calls?
I imagine I have three options:
Set number of workers to batch size (n=15000)
Set number of workers to small safe number (n=10)
Set number of workers to 1
The text was updated successfully, but these errors were encountered:
Apologies this is less of an issue and more of a question.
When using the Ask and tell interface does specifying num workers matter for the optimizer?
In this case I am dealing with a large batch size of simulations that run in parallel (single neuron model fitting: up to 15000 points can be simulated) for 100 rounds. However the parallelization is handled by an external library (brian2), so I am simply using nevergrad in an ask tell format.
the basic code format is as follows
However, the documentation is not clear whether setting number of workers is crucial in this scenario. Does setting number of workers matter when not using the optimizer.optimize() function? Would it speed up convergence or is it simple used for parallelizing the function eval calls?
I imagine I have three options:
The text was updated successfully, but these errors were encountered: