如何拯救和重用训练神经网络

815(30天)
我只训练一个神经网络,我将与新的数据集对其进行测试,并不包括在培训,检查其性能的新数据。这是我的代码;网= patternnet (30);网=火车(净,x, t);保存(净);y =净(x);穿孔= =执行(净、t、y)类vec2ind (y);x和t分别是我输入和目标。我明白 拯救净; 可以使用但是我的问题如下;1。什么时候在我的代码将我把 保存网 2.使用 拯救净; ,系统上的位置是经过训练的网络保存?3所示。我怎么能负载和供应新数据训练网络,我想测试它?请注意:我希望能够保存训练神经网络,当我一遍又一遍地运行代码的训练数据集,它给相同的输出。我发现我每次运行代码,它提供了一个不同的输出,我不希望我有一个可以接受的结果。请帮助

接受的答案

格雷格·希斯
格雷格·希斯 2016年1月26日
1。我什么时候在我的代码将把保存网络
任何时间在培训之前删除它。
然而,给一个唯一的名称,这样就不覆盖
所使用的错误。
gregnet1 =净;
保存gregnet1
2.使用拯救净;,which location on the system is the trained network saved?
什么目录你当你保存它,除非你
指定另一个目录。
3所示。我怎么能负载和供应新数据训练网络,我想测试它?
负载gregnet1
newoutput = gregnet1 (newinput);
请注意:我希望能够保存训练神经网络,当我一遍又一遍地运行代码的训练数据集,它给相同的输出。我发现我每次运行代码,它提供了一个不同的输出,我不希望我有一个可以接受的结果。
然后初始化RNG培训之前相同的状态
获得再现性。看到我的任何培训的例子。
希望这个有帮助。
谢谢你的正式接受我的答案
格雷格
4评论
Abhijit保护好
Abhijit保护好 2022年5月17日
您可以使用不同的语法 保存命令:
outputDir =“path_to_dir”;
outputFile = fullfile (outputDir,“net.mat”);
保存(outputFile,“净”);
在上面的案例中, 网络的名称在MATLAB工作区,我们保存的位置吗 path_to_dir / net.mat

登录置评。

更多的答案(6)

普达斯
普达斯 2019年5月20日
你好,
当我使用保存命令我得到这个错误。
你能请参考调试这个错误吗 截图从2019-05-20 11 - 37 - 59. png
1评论
赛义德贝罗
赛义德贝罗 2020年2月24日
Simpply类型
保存(文件名)
然后
负载(“filename.mat”)
记住包括文件扩展名。

登录置评。


赛义德贝罗
赛义德贝罗 2020年2月24日
你得到错误而加载保存网因为你的文件名不完整(未定义)。
别忘了在你的当前文件夹,filneame你保存你的净”。垫的文件扩展名。
第一次保存网:
保存(gregnet1)
正确的方式重新加载它
负载(“gregnet1.mat”)
希望这个有帮助。

格雷格·希斯
格雷格·希斯 2016年1月22日
保存
负载
希望这个有帮助。
谢谢你的正式接受我的答案
格雷格
1评论
Omotayo Asiru
Omotayo Asiru 2016年1月25日
谢谢你的回应,但这并没有回答我的问题。就像我说我的问题,我知道你保存净和负载可以使用但我的问题是:1。我什么时候在我的代码将把拯救净2。使用节省网中;,这位置系统训练网络保存?3所示。我怎么能负载和供应新数据训练网络,我想测试它?请注意:我希望能够保存训练神经网络,当我一遍又一遍地运行代码的训练数据集,它给相同的输出。我发现我每次运行代码,它提供了一个不同的输出,我不希望我有一个可以接受的结果。

登录置评。


阿伊莎征服者
阿伊莎征服者 2019年5月17日
你好!
我想保存和加载净但当我测试保持训练功能发表评论。它给错误是“未定义的函数或变量“gregnet1”。“附加截图是解释这个问题
关闭所有、清晰所有clc,格式紧凑的,
img = imread (“nn3.bmp”);
% imshow (img);
% imgGray = rgb2gray (img);
% imgCrop = imcrop (imgGray);
% imshow (imgCrop);
% imgLGE = imresize (imgCrop [7, 5]);
% imshow (imgLGE);
% imgRTE = imrotate (imgLGE 35);
% imshow (imgRTE);
% imgBW = im2bw (imgLGE, 0.90455);
% imshow (imgBW);
% imwrite (imgBW nine3.bmp);
输入= imread (“nine.bmp”);
相应的目标输出向量
输出= [1 1 1 1 1 1 1 1 1 1];
网=网络(1,- 1,0,1,0,1);
net.layers {1}。大小= 10;
net.layers {1}。transferFcn =“tansig”;
网=配置(网络,输入(:),输出(:));
% =净init(净);
视图(净);
initial_output =净(输入(:))
网。trainFcn =“traingd”;%的“反向传播”一词有时被用来特别提到梯度下降算法,
(净,tr) =火车(网络,输入(:),输出(:));% = tr培训记录
final_output =净(输入(:))
gregnet1 =净;
保存gregnet1
%测试
% =输出sim(网络,输入(:))
负载gregnet1
newoutput = gregnet1(输入(:))
1评论
格雷格·希斯
格雷格·希斯 2019年5月18日
  1. 火车网后,有哪些培训、验证和测试子集错误率? ? ?
  2. tr = tr % = ?
格雷格

登录置评。


navid salimpour
navid salimpour 2019年9月2日
嗨omotayo-asiru,你好吗?
你解决这个问题了吗?我有同样的问题,我不知道如何解决。
2的评论
Nazila Pourhajy
Nazila Pourhajy 2021年9月9日
大家好!
最好是使用以下格式保存培训网络:
保存(“filename.mat”、“净”);
和负荷训练网络:
负载(“文件名。席”、“名称的变量加载网络”);
例如:负载(“filename.mat”、“net1”);
并预测与net1程序。

登录置评。


的安主任Vuong
的安主任Vuong 2021年9月20日
编辑:的安主任Vuong 2021年9月20日
你好,我想与你分享这段代码中,这是工作在不同的工作环境。
首先在你的训练计划,在trainig保存网络
net1 =净
保存(“your_reuse.mat”,“net1”)
——
比创建一个新的mlx:如。重用。mlx testimage的预测。png和4 precision-digits网络
负载(“your_reuse.mat”,“net1”)
文件名=“testimage.png”;
我= imread(文件名);
I = imresize (im, 224年[224]);
(标签,分数)= (net1, I)进行分类;
imshow(我)
标题(string(文件名)+”typ:“(标签)+ +字符串”、“+ num2str(100 *马克斯(分数),4)+“%”);
l

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!