您verfolgen现在这张Frage
- 在Ihrem Aktualisierungen您能饲料verfolgter Inhalte看清。
- 我去古老而Kommunikationseinstellungen您能erhalten欧什电子邮件。
验证神经网络精度
165 Ansichten(30天)的
Altere Kommentare anzeigen
你好。。我想知道你们使用深度学习在matlab可以帮我解决我的问题。我不明白为什么我突然下降了验证精度的图吗?这是一个简单的网络与一个卷积层分类情况下较低或高的乳腺癌风险。最后的迭代之后显示一个验证的准确性高于80%但突然它没有迭代降至73%。我不明白。
这是我的代码
%设置训练数据集文件夹
digitDatasetPath = fullfile (用户“C: \ \ uo \ \ \拿破仑情史数据运行的文件
2 \ dataBreast \ training2 ');
%训练集
imdsTrain = imageDatastore (digitDatasetPath,…
“IncludeSubfolders”,真的,“LabelSource”,“foldernames”);
%设置验证数据集文件夹
validationPath = fullfile (用户“C: \ \ uo \ \ \拿破仑情史数据运行的文件
2 \ dataBreast \ validation2 ');
%测试集
imdsValidation = imageDatastore (validationPath,…
“IncludeSubfolders”,真的,“LabelSource”,“foldernames”);
%创建一个剪ReLu层
层= clippedReluLayer (10,“名字”,“clip1”);
%定义网络体系结构
层= [
imageInputLayer ([256 256 1]);
% conv_1
32岁的convolution2dLayer (3“步”,1)
batchNormalizationLayer
clippedReluLayer (10);
maxPooling2dLayer (2“步”,2)
% fc
fullyConnectedLayer (100)
dropoutLayer (0.7,“名字”,“drop1”);
% fc
fullyConnectedLayer (25)
dropoutLayer (0.8,“名字”,“drop2”);
% fc层
fullyConnectedLayer (2)
softmaxLayer
classificationLayer];
%指定培训选项
选择= trainingOptions (“亚当”,…
“InitialLearnRate”,0.001,…
“MaxEpochs”15岁的…
“洗牌”,“every-epoch”,…
“ValidationData”imdsValidation,…
“ValidationFrequency”30岁的…
“详细”假的,…
“阴谋”,“训练进步”);
%的列车网络的使用训练数据
网= trainNetwork (imdsTrain层,选项);
%分类验证图像和计算精度
YPred =分类(净,imdsValidation);
YValidation = imdsValidation.Labels;
%计算精度
精度= (YPred = = YValidation) /元素个数之和(YValidation);
8 Kommentare
epic
我2019年2月19日
⋮
- Verknupfen
Direkter链接祖茂堂diesem Kommentar
它仍然发生如果你使用一个更大的MiniBatchSize,说1000年或2000年?
Andrik Rampun
我2019年2月19日
⋮
- Verknupfen
Direkter链接祖茂堂diesem Kommentar
Bearbeitet:Andrik Rampun
我2019年2月19日
谢谢你的回复。你的意思是使用类似
convolution2dLayer(1000,“步”,1)
我的电脑不能支持(内存问题)这是这是你的意思。金宝app
Jon红
我2019年2月19日
⋮
- Verknupfen
Direkter链接祖茂堂diesem Kommentar
Andrik Rampun
我2019年2月19日
⋮
- Verknupfen
Direkter链接祖茂堂diesem Kommentar
感谢乔恩。第二个链接是有趣的。我将尝试这样做并返回一些结果。但在这种情况下这意味着我不能使用批量正常化吗?我以前的经验使用咖啡+数字使用批处理标准化在大部分的情况下给了我更好的结果。
Andrik Rampun
我2019年2月20日
⋮
- Verknupfen
Direkter链接祖茂堂diesem Kommentar
Bearbeitet:Andrik Rampun
我2019年2月20日
嗨乔,唐,
%设置训练数据集文件夹
digitDatasetPath = fullfile (“C: \用户\拿破仑情史数据\ \ uo \文件运行2 \ dataBreast \ training2”);
imdsTrain = imageDatastore (digitDatasetPath,…
“IncludeSubfolders”,真的,“LabelSource”,“foldernames”);
%设置验证数据集文件夹
validationPath = fullfile (“C: \用户\拿破仑情史数据\ \ uo \文件运行2 \ dataBreast \ validation2”);
imdsValidation = imageDatastore (validationPath,…
“IncludeSubfolders”,真的,“LabelSource”,“foldernames”);
%创建一个剪ReLu层
层= clippedReluLayer (10,“名字”,“clip1”);
%定义网络体系结构
层= [
imageInputLayer ((256 256),“归一化”,“没有”)
% conv_1
convolution2dLayer(3, 16岁,“步”,1)
% batchNormalizationLayer
clippedReluLayer (10);
maxPooling2dLayer (2“步”,2)
% fc层
fullyConnectedLayer (2)
softmaxLayer
classificationLayer];
%指定培训选项
选择= trainingOptions (“亚当”,…
“InitialLearnRate”,0.001,…
“MaxEpochs”15岁的…
“洗牌”,“every-epoch”,…
“ValidationData”imdsValidation,…
“ValidationFrequency”30岁的…
“详细”假的,…
“MiniBatchSize”32岁的…
“阴谋”,“训练进步”);
%的列车网络的使用训练数据
网= trainNetwork (imdsTrain层,选项);
%分类验证图像和计算精度
YPred =分类(净,imdsValidation);
YValidation = imdsValidation.Labels;
精度= (YPred = = YValidation) /元素个数之和(YValidation)
阿米尔aslam
2019年4月16日上午
⋮
- Verknupfen
Direkter链接祖茂堂diesem Kommentar
我做了同样的实验,但精度不下降
代码:
clc;
清晰;
%设置训练数据集文件夹
digitDatasetPath = fullfile (“C: \ Program Files \ MATLAB工具箱\ R2018aaa \ \ nnet \ nndemos \ nndatasets \ \实验训练”);
%训练集
imdsTrain = imageDatastore (digitDatasetPath,……
“IncludeSubfolders”,的确,“LabelSource”、“foldernames”);
%设置验证数据集文件夹
validationPath = fullfile (“C: \ Program Files \ MATLAB工具箱\ R2018aaa \ \ nnet \ nndemos \ nndatasets \ \实验测试”);
%测试集
imdsValidation = imageDatastore (validationPath,……
“IncludeSubfolders”,的确,“LabelSource”、“foldernames”);
%创建一个剪ReLu层
%层= clippedReluLayer(10 '名称',' clip1 ');
%定义网络体系结构
层= [
imageInputLayer ([48 48 3]);
% conv_1
32岁的convolution2dLayer(3“大步”,1)
batchNormalizationLayer
reluLayer;
maxPooling2dLayer(2步,2)
% fc
fullyConnectedLayer (100)
dropoutLayer(0.7,“名字”,“drop1”);
% fc
fullyConnectedLayer (25)
dropoutLayer(0.8,“名字”,“drop2”);
% fc层
fullyConnectedLayer (7)
softmaxLayer
classificationLayer];
%指定培训选项
选择= trainingOptions(“亚当”,…
“InitialLearnRate”, 0.0001,…
“MaxEpochs”, 15日…
“洗牌”、“every-epoch’,……
ValidationData, imdsValidation,……
“ValidationFrequency”, 30岁的……
“详细”,假的,…
“阴谋”,“训练进步”);
%的列车网络的使用训练数据
网= trainNetwork (imdsTrain层,选项);
%分类验证图像和计算精度
YPred =分类(净,imdsValidation);
YValidation = imdsValidation.Labels;
%计算精度
精度= (YPred = = YValidation) /元素个数之和(YValidation);
曾经K
我10年3月。2021年
⋮
- Verknupfen
Direkter链接祖茂堂diesem Kommentar
我得到了100%的准确率。谢谢你的这个项目。
Santhosh苏利耶Kiran
我2021年7月1
⋮
- Verknupfen
Direkter链接祖茂堂diesem Kommentar
你所得到的是错误的. .
Antworten (4)
Andrik Rampun
我2019年2月19日
一些更新。我得到了类似的结果(突然下降)的图。我觉得这很奇怪。
%设置训练数据集文件夹
digitDatasetPath = fullfile (“C: \用户\拿破仑情史数据\ \ uo \文件运行2 \ dataBreast \ training2”);
imdsTrain = imageDatastore (digitDatasetPath,…
“IncludeSubfolders”,真的,“LabelSource”,“foldernames”);
%设置验证数据集文件夹
validationPath = fullfile (“C: \用户\拿破仑情史数据\ \ uo \文件运行2 \ dataBreast \ validation2”);
imdsValidation = imageDatastore (validationPath,…
“IncludeSubfolders”,真的,“LabelSource”,“foldernames”);
%创建一个剪ReLu层
层= clippedReluLayer (10,“名字”,“clip1”);
%定义网络体系结构
层= [
imageInputLayer ((256 256),“归一化”,“没有”)
% conv_1
convolution2dLayer(3, 16岁,“步”,1)
batchNormalizationLayer
clippedReluLayer (10);
maxPooling2dLayer (2“步”,2)
% conv_2
convolution2dLayer(3, 16岁,“步”,1)
batchNormalizationLayer
clippedReluLayer (10);
maxPooling2dLayer (2“步”,2)
% conv_3
32岁的convolution2dLayer (3“步”,1)
batchNormalizationLayer
clippedReluLayer (10);
maxPooling2dLayer (2“步”,2)
% conv_4
convolution2dLayer (64,“步”,1)
batchNormalizationLayer
clippedReluLayer (10);
maxPooling2dLayer (2“步”,2)
% conv_5
convolution2dLayer (3128“步”,1)
batchNormalizationLayer
clippedReluLayer (10);
maxPooling2dLayer (2“步”,2)
% conv_6
convolution2dLayer (3256“步”,1)
batchNormalizationLayer
clippedReluLayer (10);
maxPooling2dLayer (2“步”,2)
% fc5
fullyConnectedLayer (500)
dropoutLayer (0.5,“名字”,“drop1”);
% fc5
fullyConnectedLayer (250)
dropoutLayer (0.5,“名字”,“drop2”);
% fc5
fullyConnectedLayer (50)
dropoutLayer (0.5,“名字”,“drop3”);
% fc层
fullyConnectedLayer (2)
softmaxLayer
classificationLayer];
% soecify培训选项
选择= trainingOptions (“亚当”,…
“InitialLearnRate”,0.001,…
“MaxEpochs”30岁的…
“洗牌”,“every-epoch”,…
“ValidationData”imdsValidation,…
“ValidationFrequency”30岁的…
“详细”假的,…
“阴谋”,“训练进步”);
%的列车网络的使用训练数据
网= trainNetwork (imdsTrain层,选项);
%分类验证图像和计算精度
YPred =分类(净,imdsValidation);
YValidation = imdsValidation.Labels;
精度= (YPred = = YValidation) /元素个数之和(YValidation)
% YPred =预测(净,X);
analyzeNetwork(净)
18 Kommentare
epic
我2019年2月19日
⋮
- Verknupfen
Direkter链接祖茂堂diesem Kommentar
训练集的大小是什么?
Andrik Rampun
我2019年2月20日
⋮
- Verknupfen
Direkter链接祖茂堂diesem Kommentar
谢谢你的再次回复。训练集(368 -低风险,372 -高风险),验证组(59 -低风险,40-high风险)
Andrik Rampun
我2019年2月20日
⋮
- Verknupfen
Direkter链接祖茂堂diesem Kommentar
你好唐,
我使用一个非常大的minibatchsize但仍然得到相同的结果(突然下降/跳)
%指定培训选项
选择= trainingOptions (“亚当”,…
“InitialLearnRate”,0.001,…
“MaxEpochs”15岁的…
“洗牌”,“every-epoch”,…
“ValidationData”imdsValidation,…
“ValidationFrequency”30岁的…
“详细”假的,…
“MiniBatchSize”,2048,…
“阴谋”,“训练进步”);
epic
我2019年2月20日
⋮
- Verknupfen
Direkter链接祖茂堂diesem Kommentar
Bearbeitet:epic
我2019年2月20日
你的训练集740年观察,这是一个非常小的训练集的大小,特别是对于这样一个大型网络。现在您已经指定
MiniBatchSize = 2048
每个minibatch包含整个训练集,我们可以通过注意到验证迭代的数量等于时代的数量。
看你最后的情节,我认为有一个好的机会,这种固定的问题。最后确定的损失是视觉与unfinalized损失,并最后确定的错误率跳跃约5%,这可能是99验证你的观察。我不知道为什么它跳跃,但5观察开关类似乎噪音对我来说。
你需要更多的迭代运行。15是不够的。我建议至少100运行,或者直到验证错误水平。
哦,如果可以的话,试着得到100万的观察:-)
Andrik Rampun
我2019年2月20日
⋮
- Verknupfen
Direkter链接祖茂堂diesem Kommentar
谢谢你不。我训练它现在有2048小批,100时代。我将尽快回来我有结果。
Andrik Rampun
我2019年2月21日
⋮
- Verknupfen
Direkter链接祖茂堂diesem Kommentar
Bearbeitet:Andrik Rampun
我2019年2月21日
你好唐,
我已经完成了培训和高跳/下降。正如你所看到的下降超过10%。
我发现这很奇怪我没有这个问题牛奶+数字。如果batchnormalization使问题的解决方案是什么?
我还增加了训练+验证和测试的数量。
培训(低风险= 896,高风险= 712)
验证(低风险= 59,高风险= 67)
测试(低风险= 52,高风险= 50)
选择= trainingOptions (“亚当”,…
“InitialLearnRate”,0.001,…
“MaxEpochs”,200,…
“洗牌”,“every-epoch”,…
“ValidationData”imdsValidation,…
“MiniBatchSize”,2048,…
“ValidationFrequency”30岁的…
“详细”假的,…
“阴谋”,“训练进步”);
epic
我2019年2月21日
⋮
- Verknupfen
Direkter链接祖茂堂diesem Kommentar
你用的什么版本的MATLAB ?(哪R2017b R2018a R2018b ?)
Andrik Rampun
我2019年2月21日
⋮
- Verknupfen
Direkter链接祖茂堂diesem Kommentar
我用Matlab 2018 b。
epic
我2019年2月21日
⋮
- Verknupfen
Direkter链接祖茂堂diesem Kommentar
有两种方法,我意识到BatchNormalization层会导致这个问题:
(1)有一些层或数据转换培训期间(而不是在预测),并先于batchnorm层(的距离)。例如,如果一个辍学层之前batchnorm层,或者如果你的训练图像噪声补充道,和你不验证图像。
(2)的均值和方差minibatch激活不匹配完整的数据集激活的均值和方差。
除非你添加噪声训练图像在某种程度上,似乎并不是这两种情况适用于你。
Andrik Rampun
我2019年2月21日
⋮
- Verknupfen
Direkter链接祖茂堂diesem Kommentar
Bearbeitet:Andrik Rampun
我2019年2月21日
你有什么建议我如何解决这个问题?或者pahaps这并不重要,只要我能在我的测试取得好结果吗?
我不想在做什么错误的事情在我experiemnt实现
epic
我2019年2月21日
⋮
- Verknupfen
Direkter链接祖茂堂diesem Kommentar
Bearbeitet:epic
我2019年2月21日
它看起来不像你做错了什么。我认为这只是这些层在这种情况下是如何表现的。
但很难得出准确结论的实验你做,因为你使用了3非常不同的网络。第一个有1 conv 3 fullyConnected,很高的辍学生。第二个有1 conv 1 fullyConnected,没有辍学。第三有6 conv 4 fullyConnected,温和的辍学生。
我的下一个假说是,batchnorm可能显示这个“下降”效应的网络太大数据集的大小。
我最好的猜测,消除“下降”的问题是:
- 继续使用一个大型minibatch大小(例如,2000或训练集的大小)。
- 从小型网络(像你第一个)和工作逐渐更大的。
- 使用一个辍学率< = 0.5。
- 不要把网络中的batchnorm之前辍学。
Andrik Rampun
我2019年2月22日
⋮
- Verknupfen
Direkter链接祖茂堂diesem Kommentar
谢谢唐,
我将尝试你的建议。真的appreaciate你的帮助。
Andrik Rampun
我2019年2月22日
⋮
- Verknupfen
Direkter链接祖茂堂diesem Kommentar
你好唐,
当你说‘不要把网络中的batchnorm之前辍学。”
我认为我所有的网络我没有把辍学在conv层对吗?因为我的辍学层都在俱乐部层。是这样吗?
epic
我2019年2月22日
⋮
- Verknupfen
Direkter链接祖茂堂diesem Kommentar
在这方面你的网络是好的。你只有把batchnorm后辍学。这不是为什么你得到“下降”的效果。
Andrik Rampun
我2019年2月26日
⋮
- Verknupfen
Direkter链接祖茂堂diesem Kommentar
你好唐,
为了跟进一些更新……
我运行下面的代码
清晰的所有
%设置训练数据集文件夹
digitDatasetPath = fullfile (' /数据/ md1ybr / dataBreast / Run1 /培训”);
imdsTrain = imageDatastore (digitDatasetPath,…
“IncludeSubfolders”,真的,“LabelSource”,“foldernames”);
%设置验证数据集文件夹
validationPath = fullfile (' /数据/ md1ybr / dataBreast / Run1 /验证的);
imdsValidation = imageDatastore (validationPath,…
“IncludeSubfolders”,真的,“LabelSource”,“foldernames”);
%创建一个剪ReLu层
层= clippedReluLayer (5“名字”,“clip1”);
%定义网络体系结构
层= [
imageInputLayer ((256 256),“归一化”,“zerocenter”)
% conv_1
64年convolution2dLayer(7日,“步”,1)
batchNormalizationLayer
clippedReluLayer (5);
maxPooling2dLayer (2“步”,2)
% fc2
fullyConnectedLayer (3136)
dropoutLayer (0.1,“名字”,“drop1”);
% fc3
fullyConnectedLayer (3136)
dropoutLayer (0.1,“名字”,“drop2”);
% fc层
fullyConnectedLayer (2)
softmaxLayer
classificationLayer];
% soecify培训选项
选择= trainingOptions (“亚当”,…
“InitialLearnRate”,0.001,…
“MaxEpochs”,200,…
“洗牌”,“every-epoch”,…
“ValidationData”imdsValidation,…
“MiniBatchSize”,2048,…
“ValidationFrequency”30岁的…
“详细”,真正的);
%的列车网络的使用训练数据
网= trainNetwork (imdsTrain层,选项);
%分类验证图像和计算精度
YPred =分类(净,imdsValidation);
YValidation = imdsValidation.Labels;
精度= (YPred = = YValidation) /元素个数之和(YValidation);
disp (“培训Acc:”);
disp(精度);
%设置验证数据集文件夹
testingPath = fullfile (' /数据/ md1ybr / dataBreast / Run1 /测试”);
imdsTesting = imageDatastore (testingPath,…
“IncludeSubfolders”,真的,“LabelSource”,“foldernames”);
ZValidation = imdsTesting.Labels;
ZPred =预测(净,imdsTesting);
pre = [];
为i = 1:尺寸(ZPred, 1)
如果ZPred(我,1)> ZPred(我,2)
pre = (pre; 1);
其他的
pre = (pre; 2);
结束
结束
testAccuracy =总和(pre = = grp2idx (ZValidation)) /元素个数(ZValidation);
disp (“测试Acc:”);
disp (testAccuracy);
我得到以下错误(我不认为图像的大小是大型说实话。)
错误使用trainNetwork(第150行)
最大变量大小超过允许在设备上。
错误在brestDensityClassification5v4a(53)行
网= trainNetwork (imdsTrain层,选项);
引起的由:
错误使用gpuArray
最大变量大小超过允许在设备上。
epic
我2019年2月26日
⋮
- Verknupfen
Direkter链接祖茂堂diesem Kommentar
Bearbeitet:epic
我2019年2月26日
3136隐藏单位2048年每个FC层次batchsize加起来很多内存。它试图把整个批量的GPU和失败。这是一个常见的问题。你只需要缩小batchsize或部分网络直到它适合。
Andrik Rampun
我2019年2月26日
⋮
- Verknupfen
Direkter链接祖茂堂diesem Kommentar
你好唐,
当你说shirink batchsize你的意思是我的MinibatchSize吗?
另一个问题是我在俱乐部甚至可以减少我的隐藏单元层?
谢谢
epic
我2019年2月26日
⋮
- Verknupfen
Direkter链接祖茂堂diesem Kommentar
是的,MiniBatchSize。和我的意思是你的fullyConnectedLayers outputSize可以减少到小于3136的东西:
fullyConnectedLayer (3136)
Saira
我2020年6月15日
你好,
我有5600个训练图像。我有使用主成分分析(PCA)提取特征。然后我在CNN应用提取的特征。我的训练精度为30%。如何提高培训准确性?
功能列向量大小:640 * 1
我的训练代码:
%卷积神经网络架构
层= [
imageInputLayer ([1 640 1]);
reluLayer
fullyConnectedLayer (7);
softmaxLayer ();
classificationLayer ()];
选择= trainingOptions(“个”、“动力”,0.95,“InitialLearnRate”, 0.0001,“L2Regularization”, 1的军医,“MaxEpochs”, 5000年,“MiniBatchSize”, 8192年,“详细”,真正的);
Sevda Kemba
我2022年6月6
@Andrik Rampun
你好。在Matlab中,我们用代码加载数据集和极限深度学习。但是当我们训练、验证精度保持在40 - 50%之间。我们能做什么来增加到90% ?我们会很高兴如果你能帮助。
Sevda Kemba
我2022年6月6
@Saira
你好。在Matlab中,我们用代码加载数据集和极限深度学习。但是当我们训练、验证精度保持在40 - 50%之间。我们能做什么来增加到90% ?我们会很高兴如果你能帮助。
Es是静脉Fehler aufgetreten
达Anderungen der Seite vorgenommen wurden,萤石这Aktion不abgeschlossen了。拉登您Seite neu死去,嗯您im aktualisierten Zustand anzuzeigen。
您可以在欧什一张网站来自der folgenden Liste auswahlen:
所以erhalten您死bestmogliche Leistung der汪汪汪的网站
民意调查您毛皮死bestmogliche Website-Leistung死网站中国毛皮(auf Chinesisch奥得河Englisch)。安德利果汁landesspezifische网站冯MathWorks信德毛皮Besuche冯Ihrem Standort来自不optimiert。