-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathE_Deep_Training.m
66 lines (54 loc) · 1.88 KB
/
E_Deep_Training.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
clc
close all
clear
%%
fdyn_data = readmatrix("dataset/fdyn_data.csv");
idyn_data = readmatrix("dataset/idyn_data.csv");
% size(fdyn_data)
% size(idyn_data)
trainset_fdyn = fdyn_data(1:5000,:); % Testing
trainset_idyn = idyn_data(1:5000,:);
testset_fdyn = fdyn_data(5001:end,:); % Testing
size(trainset_fdyn)
%%
% trainnet_fdyn = fitnet(16);
train_algo = 'trainbfg'
trainnet_fdyn = fitnet([32,64,128,32], train_algo);
trainnet_idyn = fitnet([32,64,128,32], train_algo);
epochs = 5000;
goal = 0;
trainnet_fdyn.trainParam.epochs= epochs;
trainnet_fdyn.trainParam.goal = goal;
trainnet_idyn.trainParam.epochs= epochs;
trainnet_idyn.trainParam.goal = goal;
% trainnet_fdyn = feedforwardnet(10, 'trainlm');
% view(trainnet_fdyn)
%%
% data = [path(:x3) tau(:x3)]
% net_fdyn = train(trainnet_fdyn,path', Tau');
% net_fdyn = train(trainnet_fdyn, trainset_fdyn(:,1:3)', trainset_fdyn(:,4:end)','useGpu','yes','useParallel','yes','showResources','yes');
net_idyn = train(trainnet_idyn, trainset_idyn(:,1:3)', trainset_idyn(:,4:end)','useGpu','yes','useParallel','yes','showResources','yes');
%%
% net = trainNetwork(Q, path,layers,options);
%
% save net_fdyn
% save net_idyn
% load net_fdyn
predict_tau_fdyn = net_fdyn(testset_fdyn(:,1:3)')'
perf_fdyn = perform(net_fdyn, predict_tau_fdyn', testset_fdyn(:,4:end)');
disp(perf_fdyn);
%%
error_fdyn = abs(predict_tau_fdyn-testset_fdyn(:,4:end));
figure(1)
for i=1:3
subplot(3,1,i)
plot(error_fdyn(:, i))
if i == 1; title("algorithm = " + train_algo + ", epochs = " + string(epochs)); end
ylabel(["\theta_" + string(i)])
end
saveas(1,"train_resuls.svg","svg")
% predicted_Theta_1 = networkModel_1(test_partition_1(:,1:3)');
% perf_1 = perform(networkModel_1, predicted_Theta_1 ,test_partition_1(:,4)');
% disp(perf_1);
genFunction(net_fdyn, 'fdynNet');
genFunction(net_idyn, 'idynNet');