summaryrefslogtreecommitdiffstats
path: root/SD-VBS/benchmarks/svm/src/matlab/script_run_profile.m
blob: b84a9d8772050069442353a5c6f6237eea7ff716 (plain) (blame)
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
function script_run_profile(dataDir, resultDir, type, commonDir,toolDir)

path(path, commonDir);
Iterations = 2;

file = [dataDir, '/d16trn_1.txt'];
trn_1 = readFile(file);
file = [dataDir, '/d16trn_2.txt'];
trn_2 = readFile(file);
file = [dataDir, '/d16tst_1.txt'];
tst_1 = readFile(file);
file = [dataDir, '/d16tst_2.txt'];
tst_2 = readFile(file);

trn_1 = d16trn_1;
trn_2 = d16trn_2;
tst_1 = d16tst_1;
tst_2 = d16tst_2;

    N = 100;
    Ntst = 100;
    Iterations = 10;

    if(strcmp(type, 'test'))
    N = 4;
    Ntst = 4;
    Iterations = 2;
    elseif(strcmp(type, 'sim_fast'))
    N = 20;
    Ntst = 20;
    Iterations = 2;
    elseif(strcmp(type, 'sim'))
    N = 16;
    Ntst = 16;
    Iterations = 8;
    elseif(strcmp(type, 'sqcif'))
    N = 60;
    Ntst = 60;
    Iterations = 6;
    elseif(strcmp(type, 'qcif'))
    N = 72;
    Ntst = 72;
    Iterations = 8;
    elseif(strcmp(type, 'vga'))
    N = 450;
    Ntst = 450;
    Iterations = 15;
    elseif(strcmp(type, 'wuxga'))
    N = 1000;
    Ntst = 1000;
    Iterations = 20;
    end
    
fprintf(1,'Input size\t\t- (%dx%dx%d)\n', N, Ntst,Iterations);

elapsed = zeros(1,2);
%% Timing
start = photonStartTiming;

[a,b,C,d,dim,e,eps,a_result,b_result,X,tolerance,Y,ret] = getAlphaFromTrainSet(N, trn_1, trn_2, Iterations);

Yoffset=zeros(Iterations,N);
 
Xtst=usps_read_partial(tst_1, tst_2 ,0,1,Ntst/Iterations, Iterations);
Ytst=usps_read_partial(tst_1, tst_2, 0,0,Ntst/Iterations, Iterations);
 
 for i=1:Iterations
     temp=usps_read_partial(trn_1,trn_2, i,0,N/Iterations, Iterations);
     Yoffset(i,:)=transpose(temp);
 end
 
 
 %error=0;
 result=zeros(Ntst,1);
 for n=1:Ntst
     maxs = 0;
     s=zeros(Iterations,1);
     for i=1:Iterations
         for j=1:N
             if a_result(i,j) > 0
                 s(i,1) = s(i,1) +a_result(i,j)*Yoffset(i,j)*polynomial(3,X(j,:),Xtst(n,:), dim);        
             end
         end
         s(i,1) = s(i,1) - b_result(i,1);
         
         if( s(i,1) > maxs)
             maxs = s(i,1);
         end
     end
     result(n,1) = maxs;
 end
 
 %% Timing
stop = photonEndTiming;

temp = photonReportTiming(start, stop);
elapsed(1) = elapsed(1) + temp(1);
elapsed(2) = elapsed(2) + temp(2);
 
 %% Self check
 fWriteMatrix(result, dataDir);
 tol = 0.001;
 ret = fSelfCheck(result,dataDir, tol);
 if(ret == 0)
     disp('Error in SVM');
 end

%% Timing
photonPrintTiming(elapsed);