Как сделать изящное завершение пользователем в Matlab? - PullRequest
0 голосов
/ 29 января 2019

Я занимаюсь поиском байесовских гиперпараметров в Matlab.Процесс бесконечен по своей природе, поэтому я показываю сюжет и имею ограничения по количеству итераций и времени.Тем не менее, очень часто я вижу, что сюжет больше не будет улучшаться и хочу прекратить процесс.Если я прерву сценарий силой, он остановится в произвольном месте и не закончится изящно.Я хотел бы, чтобы он сохранил наилучшую найденную комбинацию.

Могу ли я сделать кнопку или что-нибудь, что могло бы пометить процессу корректно завершиться и выполнить финальные операции?

1 Ответ

0 голосов
/ 29 января 2019

Вот простой пример того, как вы могли бы добиться этого, на рисунке с uicontrol помощниками.

function pushbuttonPlot
f = figure;
ax = axes;

L = 160*membrane(1,100);
s = surface(L);
s.EdgeColor = 'none';
view(3)
ax.XLim = [1 201];
ax.YLim = [1 201];
ax.ZLim = [-53.4 160];

c = uicontrol;
c.String = 'Clean Up';
c.Callback = @cleanUpandExit;

    function cleanUpandExit(src,event)
        disp('Cleanup and exit');
        % Save data and exit
        close(f);
    end

end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...