You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何关闭Matlab中trainNetwork的训练窗口?及Live Script嵌入图表方法

解决方案

1. 关闭重复弹出的训练进度窗口

你遇到的弹窗并非nntraintool窗口,而是MATLAB专属的训练进度图窗口(标签为NNTrainingProgressFigure),所以之前的命令才会无效。这里有两种可行的解决方式:

彻底禁用训练进度图(推荐)

直接修改你的trainingOptions配置,把'Plots','training-progress'替换为'Plots','none',这样训练过程中就不会弹出任何进度窗口了:

opts = trainingOptions('adam', ...
'MaxEpochs',250, ...
'GradientThreshold',1, ...
'InitialLearnRate',0.005, ...
'LearnRateSchedule','piecewise', ...
'LearnRateDropPeriod',125, ...
'LearnRateDropFactor',0.2, ...
'Verbose',0, ...
'Plots','none'); % 修改此处禁用绘图

如果还想跟踪训练进度,可以把'Verbose',0改成'Verbose',1,这样会在命令行输出文本形式的训练日志。

训练过程中关闭已弹出的窗口

如果训练已经在运行,想精准关闭这些进度窗口而不影响其他图表,可以运行以下命令:

close(findobj('Type','figure','Tag','NNTrainingProgressFigure'))

这个命令会定位所有标签为NNTrainingProgressFigure的窗口并关闭,不会误关其他无关图表。

2. 在Live Script中嵌入训练进度图表

要实现类似Jupyter Notebook的内联图表效果,只需调整两个小设置:

  1. 开启Live Script内联输出:
    在Live Script顶部菜单栏的「视图」选项卡中,勾选输出内联(Inline Output),这样所有生成的图表都会自动嵌入到对应代码块的下方,不会弹出独立窗口。

  2. 保留训练配置的绘图设置:
    继续使用'Plots','training-progress'的配置,此时训练进度图会直接显示在Live Script的输出区域里,全程不会弹出外部窗口。

如果还是没有自动嵌入,可以尝试在训练代码后手动获取并显示图表:

% 训练代码执行后
plotFig = gcf; % 获取当前训练进度图
set(plotFig,'Visible','on');

不过通常只要开启了内联输出,MATLAB会自动处理图表的嵌入显示。

内容的提问来源于stack exchange,提问作者Dims

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:18:33