Is there an equivalent to close all for deep learning training windows?

8 views (last 30 days)
Hi,
I have some unit tests that produce a large number of deep learning "training progress" windows. Is there an equivalent to the "close all" command for plots for these training windows?
I know you can stop them appearing in the training options but when they are not in unit tests I need them displayed
Thanks,
Dan
  4 Comments
Philip Brown
Philip Brown on 22 Jun 2021
Makes sense - so you have code where when it's called normally, you want it to make training plots, and then you are writing tests for that code? I don't think there's any equivalent to isdeployed for seeing if something is run in unit tests, so this is a little trickier.
One option you could consider is just exposing a name-value pair in the functions you are writing, AllowPlots, with a default value of true. When the unit tests call this code, they set its value to false, and that gets passed to trainingOptions in the right way. This would stop the tests from showing the plots (and potentially also give callers of your functions the ability to control this if they want to - I don't know if that's desirable).
Somewhere you might want a small number of unit tests which verify the training plot does appear when it's meant to - but you might speed up your test throughput by disabling it where it's not needed.

Sign in to comment.

Accepted Answer

Philip Brown
Philip Brown on 21 Jun 2021
Currently, you can't directly close just deep learning plots with a particular command.
However, it is possible to close all figures, including those with HandleVisibility off. You can use:
close(findall(groot, "Type", "figure"));
Note that this closes all open figures, not just deep learning plots! For more info, see the findall doc.
For unit tests, you probably want to put this in a TestMethodTeardown, so it executes even if the test fails.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!