Any way to get bayesopt current iteration number in the objective function?
4 次查看(过去 30 天)
显示 更早的评论
So in my objective function, results are saved to the drive on every iteration. Right now I am using the tempname() function to create non-conflicting filenames. Because I am using parallel optimization, there is no easy way to match the files to the iteration number and thus to the results.
In the single threaded case I could just use a global variable or even just sort the files by date and time. But in parallel, it is unclear which thread is excuting which part first and this could lead to the file creation/modification times not matching the order of iterations.
The easiest solution would be to base the filename on the iteration number, but I haven't found a way of accessing this information in the objective function.
0 个评论
回答(1 个)
Atharva
2023-8-8
Hi Nbay,
When using parallel optimization in MATLAB, you can generate filenames based on the iteration number by incorporating the getCurrentTask function. This function retrieves the current task's ID, which can be used to differentiate filenames across parallel workers.
I hope this helps.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Model Building and Assessment 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!