从命令行使用nntool [MATLAB] [英] Using nntool [MATLAB] from command line
本文介绍了从命令行使用nntool [MATLAB]的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有这个代码:
in = [5 columns of data-points];
out = [1 column of data-points];
net = newfit(in,out,5);
net = train(net,in,out);
现在我要
- 访问生成的错误变量(以便我可以计算平均错误等)。
- 需要重新初始化权重 b $ b
- access the error variable that is generated (so that I can calculate the mean error etc.)
- run this in a loop, so I want to re-initialize weights between loops.
- access the variable that stores the time it took to run
如何从命令行完成这三项操作?
How can these three things be done from command line?
推荐答案
示例:
% some random data
in = rand(100,5)';
out = rand(100,1)';
% create a feed-forward back-propagation neural network
% (1 hidden layer with 5 neurons)
net = newfit(in,out,5);
net.trainParam.showWindow = 0; % dont show GUI
% repeat 10 times
rmse = [];
t = [];
for i=1:10
net = init(net); % initialize network weights
tic
net = train(net,in,out); % train
predicted = sim(net, in); % test
t(i) = toc;
r = (out - predicted); % residuals
rmse(i) = sqrt(mean(r.^2)); % root mean square error
end
% plot errors and elapsed times
bar([t; rmse]', 'grouped'), xlabel('Runs')
legend({'Elapsed Time' 'RMSE'}, 'orientation','horizontal')
注意:在R2010b中, newfit
函数已弃用,赞成 fitnet
,请使用以下代码代替创建网络:
NOTE: In R2010b, newfit
function was deprecated in favor of fitnet
, use the following code instead to create the network:
% old
%net = newfit(in,out,5);
% new
net = fitnet(5); % create ANN
net = configure(net, in, out); % set input/output sizes according to data
这篇关于从命令行使用nntool [MATLAB]的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文