在打包 MATLAB App 时,appdesigner设计中包含神经网络相关程序,但是打包出来却没有用,是为什么
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
[f,p]=uigetfile({'*.xlsx;*.txt;*.xls;','All Data Files'});
if (ischar(p))
fname = [p f];
A=xlsread(fname);
app.UITable.Data=A;
end
% A=xlsread('test1.xlsx');
% app.UITable.Data=A;
input=A(1:end,1:5);
output=A(1:end,6:7);
insize=size(input,2);
outsize=size(output,2);
%% 划分训练集和测试集
num=size(input,1);
rowrankA = randperm(num); % 随机打乱的数字,从1~行数打乱
input= input(rowrankA, :);%按照rowrank打乱矩阵的行数
output=output(rowrankA, :);
Xtrain=input(1:floor(0.8*num),:);
Ytrain=output(1:floor(0.8*num),:);
Xtest=input(floor(0.8*num)+1:num,:);
Ytest=output(floor(0.8*num)+1:num,:);
%% 训练集归一化
muX = mean(Xtrain,1);
sigmaX = std(Xtrain,0,1);
muT = mean(Ytrain,1);
sigmaT = std(Ytrain,0,1);
Xtrain = (Xtrain - muX) ./ sigmaX;
Ytrain = (Ytrain - muT) ./ sigmaT;
%% 创建网络结构
layers = [
featureInputLayer(insize,"Name","featureinput")
fullyConnectedLayer(10,"Name","fc")
fullyConnectedLayer(outsize,"Name","fc_1")
regressionLayer("Name","regressionoutput")];
%% 设置训练选项
Xtest = (Xtest - muX) ./ sigmaX;
Ytest = (Ytest - muT) ./ sigmaT;
b={Xtest,Ytest};
options = trainingOptions("adam", ...
MaxEpochs=500, ...
Shuffle="every-epoch", ...
Plots="training-progress", ...
Verbose=0 ,...
ValidationData=b);
%% 训练网络
net = trainNetwork(Xtrain,Ytrain,layers,options);
% X1=app.EditField_2.Value;
% X2=app.EditField.Value;
% X3=app.EditField_3.Value;
% X4=app.EditField_4.Value;
% X5=app.EditField_5.Value;
X=[1,1,1,1,1];
X = (X - muX) ./ sigmaX;
Y= predict(net,X);
Y= Y.*sigmaT+muT;
Y=double(Y);
代码在脚本中是这样的
0 comentarios
Respuestas (1)
Umang Pandey
el 23 de En. de 2024
Hi Zhi,
You can refer to the following MATLAB answers for more information on how to package your Neural Network app -
Hope this helps!
Best,
Umang
0 comentarios
Ver también
Categorías
Más información sobre Deep Learning Toolbox en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!