有一种阴谋多个神经网络运行结果为一个阴谋?

14日视图(30天)
你好,
我利用一个浅神经网络来分析大数据集。我运行数据通过网络了解最适合的100倍。有办法创建一个图,所有100运行的结果合并成一个图吗?Currenlty网络生成一个图在过去通过网络运行。
谢谢!

答案(1)

迪夫Gaddipati
迪夫Gaddipati 2020年1月6日
您可以使用字段 OutputFcn trainingOptions 函数。
您可以参考下面的例子,根据你的需要改变它。
clc;清晰;关闭所有;
%的数据
[XTrain, YTrain] = digitTrain4DArrayData;
idx = randperm(大小(XTrain, 4), 1000);
XValidation = XTrain (:,:,:, idx);
XTrain (::,:, idx) = [];
YValidation = YTrain (idx);
YTrain (idx) = [];
%网络
层= [
imageInputLayer([1] 28日28日)
convolution2dLayer (3 8“填充”,“相同”)
batchNormalizationLayer
reluLayer
maxPooling2dLayer (2“步”,2)
convolution2dLayer(3, 16岁,“填充”,“相同”)
batchNormalizationLayer
reluLayer
maxPooling2dLayer (2“步”,2)
32岁的convolution2dLayer (3“填充”,“相同”)
batchNormalizationLayer
reluLayer
fullyConnectedLayer (10)
softmaxLayer
classificationLayer];
max_epoch = 5;
miniBatchSize = 128;
%的数量在128年一个时代与miniBatchSize迭代
total_iterations =圆(长度(YTrain) / miniBatchSize);
选择= trainingOptions (“个”,
“InitialLearnRate”,0.01,
“MaxEpochs”5,
“MiniBatchSize”miniBatchSize,
“ValidationData”{XValidation, YValidation},
“阴谋”,“训练进步”,
“OutputFcn”@(信息)savetrainingdata(信息,total_iterations));
%的列车网络的
网= trainNetwork (XTrain、YTrain层,选择);
函数total_iterations停止= savetrainingdata(信息)
停止= false;%阻止这个函数trainNetwork过早结束
%的跟踪培训损失和准确性在每个迭代一个时代
持续的train_loss
持续的train_acc
持续的结果
如果信息。状态= =“开始”
train_loss = [];
train_acc = [];
结束
如果信息。状态= =“迭代”
train_loss = [train_loss;info.TrainingLoss];
train_acc = [train_acc;info.TrainingAccuracy];
结束
%为每个时代,保存培训损失和准确性
如果(信息。状态= =“迭代”& &信息。迭代= = info.Epoch * total_iterations)
all_val = [train_loss, train_acc];
结果{信息。时代}= all_val;
%你也可以画出图
train_loss = [];
train_acc = [];
结束
如果信息。状态= =“完成”%检查是否所有时代都已完成
保存(“results.mat”,“结果”);
结束
结束
最后,您可以加载的结果。垫和情节训练损失和准确性的所有时代。
有关如何使用的更多信息 OutputFcn ,请参考链接 在这里
希望这可以帮助!
2的评论
迪夫Gaddipati
迪夫Gaddipati 2020年1月14日
是的,你可以添加第四个“如果”的循环(即, 如果信息。状态= =“迭代”& &信息。迭代= = info.Epoch * total_iterations))

登录置评。

标签

社区寻宝

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

开始狩猎!