1 <?php
2 class train {
3 function get($id) {
4 $q = mysql::query("pattern.getSet",array("id"=>$id));
5 if(!$q->num_rows) throw new Exception("Training set not found.");
6 $training_data = mysql::fetch_all($q);
7 return $training_data;
8 }
9
10 function saveEpoch($nid,$epoch,$start_mse,$end_mse,$time,$sid=NULL) {
11 mysql::query("epoch.store",array("id"=>$nid,"iterations"=>$epoch,"startmse"=>$start_mse,"endmse"=>$end_mse,"time"=>$time,"train"=>$sid));
12 }
13
14 function listTrainingSets($id) {
15 $q = mysql::query("train.getAll",array("id"=>$id));
16 if($q->num_rows) {
17 $data = mysql::fetch_all($q);
18 foreach($data as $row) {
19 $tid = $row['trainsetID'];
20 echo "<tr><td>".$row['label']."</a></td>";
21 echo "<td><a href='nm-edit-set.php?s=$tid&n=$id' title='Manage'><img src='images/pencil.png' /></a> ";
22 echo "<a href='nm-manage-set.php?action=delete&s=$tid' title='Delete'><img src='images/cross.png' /></a> ";
23 echo "<a href='nm-run-set.php?s=$tid' title='Run Training Set'><img src='images/run.png' /></a> ";
24 echo "<a href='nm-set-history.php?s=$tid&n=$id' title='View History'><img src='images/time.png' /></a></td></tr>";
25 }
26 } else {
27 echo "<tr><td colspan='2'><span>No Training Sets</span></td></tr>";
28 }
29 }
30
31 function listPatterns($id) {
32 $q = mysql::query("pattern.getAll",array("id"=>$id));
33 if($q->num_rows) {
34 $data = mysql::fetch_all($q);
35 foreach($data as $row) {
36 $id = $row['patternID'];
37 echo "<tr><td>".$row['pattern']."</td><td><img src='images/arrow.gif'/></td><td>".$row['output']."</td>";
38 echo "<td><a href='nm-manage-set.php?action=remove&s=$id'><img src='images/cross.png' /></a></td>";
39 }
40 } else {
41 echo "<tr><td colspan='4'><span>No Patterns</span></td></tr>";
42 }
43 }
44
45 function listHistory($id) {
46 $q = mysql::query("epoch.get",array("id"=>$id));
47 if($q->num_rows) {
48 $data = mysql::fetch_all($q);
49 foreach($data as $row) {
50 echo "<tr><td>".$row['iterations']."</td>";
51 echo "<td>".$row['startMSE']."</td>";
52 echo "<td>".$row['endMSE']."</td>";
53 echo "<td>".date("j/m/Y g:i:s a",strtotime($row['epochDate']))."</td>";
54 echo "<td>".$row['execTime']."</td></tr>";
55 }
56 } else {
57 echo "<tr><td colspan='5'><span>No History</span></td></tr>";
58 }
59 }
60
61 function listAllHistory($id) {
62 $q = mysql::query("epoch.getall",array("id"=>$id));
63 if($q->num_rows) {
64 $data = mysql::fetch_all($q);
65 foreach($data as $row) {
66 echo "<tr><td>".$row['iterations']."</td>";
67 echo "<td>".$row['startMSE']."</td>";
68 echo "<td>".$row['endMSE']."</td>";
69 echo "<td>".date("j/m/Y g:i:s a",strtotime($row['epochDate']))."</td>";
70 echo "<td>".$row['execTime']."</td>";
71 echo "<td>".($row['trainsetID'] == null ? "n" : "y")."</td></tr>";
72 }
73 } else {
74 echo "<tr><td colspan='6'><span>No History</span></td></tr>";
75 }
76 }
77
78 function getID($tid) {
79 $q = mysql::query("train.get",array("id"=>$tid));
80 $data = $q->fetch_assoc();
81 return $data['networkID'];
82 }
83
84 static function validate($id) {
85 $q = mysql::query("train.validate",array("id"=>$id,"user"=>$_SESSION['id']));
86 return !!$q->num_rows;
87 }
88
89 }
90 ?>