~ubuntu-branches/ubuntu/vivid/tesseract/vivid

« back to all changes in this revision

Viewing changes to doc/html/a01078_source.html

  • Committer: Package Import Robot
  • Author(s): Jeff Breidenbach
  • Date: 2014-02-03 11:10:20 UTC
  • mfrom: (1.3.1) (19.1.1 experimental)
  • Revision ID: package-import@ubuntu.com-20140203111020-igquodd7pjlp3uri
Tags: 3.03.01-1
* New upstream release, includes critical fix to PDF rendering
* Complete leptonlib transition (see bug #735509)
* Promote from experimental to unstable

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
2
<html xmlns="http://www.w3.org/1999/xhtml">
 
3
<head>
 
4
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 
5
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
 
6
<title>tesseract: /usr/local/google/home/jbreiden/tesseract-ocr-read-only/neural_networks/runtime/neuron.h Source File</title>
 
7
 
 
8
<link href="tabs.css" rel="stylesheet" type="text/css"/>
 
9
<link href="doxygen.css" rel="stylesheet" type="text/css" />
 
10
<link href="navtree.css" rel="stylesheet" type="text/css"/>
 
11
<script type="text/javascript" src="jquery.js"></script>
 
12
<script type="text/javascript" src="resize.js"></script>
 
13
<script type="text/javascript" src="navtree.js"></script>
 
14
<script type="text/javascript">
 
15
  $(document).ready(initResizable);
 
16
</script>
 
17
<link href="search/search.css" rel="stylesheet" type="text/css"/>
 
18
<script type="text/javascript" src="search/search.js"></script>
 
19
<script type="text/javascript">
 
20
  $(document).ready(function() { searchBox.OnSelectItem(0); });
 
21
</script>
 
22
 
 
23
</head>
 
24
<body>
 
25
<div id="top"><!-- do not remove this div! -->
 
26
 
 
27
 
 
28
<div id="titlearea">
 
29
<table cellspacing="0" cellpadding="0">
 
30
 <tbody>
 
31
 <tr style="height: 56px;">
 
32
  
 
33
  
 
34
  <td style="padding-left: 0.5em;">
 
35
   <div id="projectname">tesseract
 
36
   &#160;<span id="projectnumber">3.03</span>
 
37
   </div>
 
38
   
 
39
  </td>
 
40
  
 
41
  
 
42
  
 
43
 </tr>
 
44
 </tbody>
 
45
</table>
 
46
</div>
 
47
 
 
48
<!-- Generated by Doxygen 1.7.6.1 -->
 
49
<script type="text/javascript">
 
50
var searchBox = new SearchBox("searchBox", "search",false,'Search');
 
51
</script>
 
52
  <div id="navrow1" class="tabs">
 
53
    <ul class="tablist">
 
54
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
 
55
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
 
56
      <li><a href="modules.html"><span>Modules</span></a></li>
 
57
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
 
58
      <li><a href="annotated.html"><span>Classes</span></a></li>
 
59
      <li class="current"><a href="files.html"><span>Files</span></a></li>
 
60
      <li>
 
61
        <div id="MSearchBox" class="MSearchBoxInactive">
 
62
        <span class="left">
 
63
          <img id="MSearchSelect" src="search/mag_sel.png"
 
64
               onmouseover="return searchBox.OnSearchSelectShow()"
 
65
               onmouseout="return searchBox.OnSearchSelectHide()"
 
66
               alt=""/>
 
67
          <input type="text" id="MSearchField" value="Search" accesskey="S"
 
68
               onfocus="searchBox.OnSearchFieldFocus(true)" 
 
69
               onblur="searchBox.OnSearchFieldFocus(false)" 
 
70
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
 
71
          </span><span class="right">
 
72
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
 
73
          </span>
 
74
        </div>
 
75
      </li>
 
76
    </ul>
 
77
  </div>
 
78
  <div id="navrow2" class="tabs2">
 
79
    <ul class="tablist">
 
80
      <li><a href="files.html"><span>File&#160;List</span></a></li>
 
81
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
 
82
    </ul>
 
83
  </div>
 
84
</div>
 
85
<div id="side-nav" class="ui-resizable side-nav-resizable">
 
86
  <div id="nav-tree">
 
87
    <div id="nav-tree-contents">
 
88
    </div>
 
89
  </div>
 
90
  <div id="splitbar" style="-moz-user-select:none;" 
 
91
       class="ui-resizable-handle">
 
92
  </div>
 
93
</div>
 
94
<script type="text/javascript">
 
95
  initNavTree('a01078.html','');
 
96
</script>
 
97
<div id="doc-content">
 
98
<div class="header">
 
99
  <div class="headertitle">
 
100
<div class="title">/usr/local/google/home/jbreiden/tesseract-ocr-read-only/neural_networks/runtime/neuron.h</div>  </div>
 
101
</div><!--header-->
 
102
<div class="contents">
 
103
<a href="a01078.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Copyright 2008 Google Inc.</span>
 
104
<a name="l00002"></a>00002 <span class="comment">// All Rights Reserved.</span>
 
105
<a name="l00003"></a>00003 <span class="comment">// Author: ahmadab@google.com (Ahmad Abdulkader)</span>
 
106
<a name="l00004"></a>00004 <span class="comment">//</span>
 
107
<a name="l00005"></a>00005 <span class="comment">// neuron.h: Declarations of a class for an object that</span>
 
108
<a name="l00006"></a>00006 <span class="comment">// represents a single neuron in a neural network</span>
 
109
<a name="l00007"></a>00007 <span class="comment">//</span>
 
110
<a name="l00008"></a>00008 
 
111
<a name="l00009"></a>00009 <span class="preprocessor">#ifndef NEURON_H</span>
 
112
<a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define NEURON_H</span>
 
113
<a name="l00011"></a>00011 <span class="preprocessor"></span>
 
114
<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;math.h&gt;</span>
 
115
<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;vector&gt;</span>
 
116
<a name="l00014"></a>00014 
 
117
<a name="l00015"></a>00015 <span class="preprocessor">#ifdef USE_STD_NAMESPACE</span>
 
118
<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="keyword">using</span> std::vector;
 
119
<a name="l00017"></a>00017 <span class="preprocessor">#endif</span>
 
120
<a name="l00018"></a>00018 <span class="preprocessor"></span>
 
121
<a name="l00019"></a>00019 <span class="keyword">namespace </span><a class="code" href="a01266.html#afed58feacb84df2de88bdd613cfdba6d">tesseract</a> {
 
122
<a name="l00020"></a>00020 
 
123
<a name="l00021"></a>00021 <span class="comment">// Input Node bias values</span>
 
124
<a name="l00022"></a>00022 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">float</span> kInputNodeBias = 0.0f;
 
125
<a name="l00023"></a>00023 
 
126
<a name="l00024"></a><a class="code" href="a00470.html">00024</a> <span class="keyword">class </span><a class="code" href="a00470.html">Neuron</a> {
 
127
<a name="l00025"></a>00025   <span class="keyword">public</span>:
 
128
<a name="l00026"></a>00026     <span class="comment">// Types of nodes</span>
 
129
<a name="l00027"></a><a class="code" href="a00470.html#aaca04e8e86b6305b6ef5cafa97a69ccc">00027</a>     <span class="keyword">enum</span> <a class="code" href="a00470.html#aaca04e8e86b6305b6ef5cafa97a69ccc">NeuronTypes</a> {
 
130
<a name="l00028"></a><a class="code" href="a00470.html#aaca04e8e86b6305b6ef5cafa97a69ccca8a5c16f1c34dd4b835bcbedfdcd2a8b3">00028</a>       <a class="code" href="a00470.html#aaca04e8e86b6305b6ef5cafa97a69ccca8a5c16f1c34dd4b835bcbedfdcd2a8b3">Unknown</a> = 0,
 
131
<a name="l00029"></a><a class="code" href="a00470.html#aaca04e8e86b6305b6ef5cafa97a69cccabf08baf29ab216392a1f0ad5c439d220">00029</a>       <a class="code" href="a00470.html#aaca04e8e86b6305b6ef5cafa97a69cccabf08baf29ab216392a1f0ad5c439d220">Input</a>,
 
132
<a name="l00030"></a><a class="code" href="a00470.html#aaca04e8e86b6305b6ef5cafa97a69ccca98cb3df28d5382cccc5471de1a31cc45">00030</a>       <a class="code" href="a00470.html#aaca04e8e86b6305b6ef5cafa97a69ccca98cb3df28d5382cccc5471de1a31cc45">Hidden</a>,
 
133
<a name="l00031"></a><a class="code" href="a00470.html#aaca04e8e86b6305b6ef5cafa97a69ccca7763743f69f362cb5e9f885457389f14">00031</a>       <a class="code" href="a00470.html#aaca04e8e86b6305b6ef5cafa97a69ccca7763743f69f362cb5e9f885457389f14">Output</a>
 
134
<a name="l00032"></a>00032     };
 
135
<a name="l00033"></a>00033     <a class="code" href="a00470.html#a7cad293101c8b65b5cc7330abd989cba">Neuron</a>();
 
136
<a name="l00034"></a>00034     <a class="code" href="a00470.html#aabed977ad58b676ecbbe061065d66f51">~Neuron</a>();
 
137
<a name="l00035"></a>00035     <span class="comment">// set the forward dirty flag indicating that the</span>
 
138
<a name="l00036"></a>00036     <span class="comment">// activation of the net is not fresh</span>
 
139
<a name="l00037"></a><a class="code" href="a00470.html#a54f61762c8e4573804bea699ff7b9311">00037</a>     <span class="keywordtype">void</span> <a class="code" href="a00470.html#a54f61762c8e4573804bea699ff7b9311">Clear</a>() {
 
140
<a name="l00038"></a>00038       <a class="code" href="a00470.html#a2b109732594a4fd6240995520eb9a225">frwd_dirty_</a>  =  <span class="keyword">true</span>;
 
141
<a name="l00039"></a>00039     }
 
142
<a name="l00040"></a>00040     <span class="comment">// Read a binary representation of the neuron info from</span>
 
143
<a name="l00041"></a>00041     <span class="comment">// an input buffer.</span>
 
144
<a name="l00042"></a><a class="code" href="a00470.html#a2620b6621c27ccc5386978fabbc5d045">00042</a>     <span class="keyword">template</span> &lt;<span class="keyword">class</span> BuffType&gt; <span class="keywordtype">bool</span> <a class="code" href="a00470.html#a2620b6621c27ccc5386978fabbc5d045">ReadBinary</a>(BuffType *input_buff) {
 
145
<a name="l00043"></a>00043       <span class="keywordtype">float</span> val;
 
146
<a name="l00044"></a>00044       <span class="keywordflow">if</span> (input_buff-&gt;Read(&amp;val, <span class="keyword">sizeof</span>(val)) != <span class="keyword">sizeof</span>(val)) {
 
147
<a name="l00045"></a>00045         <span class="keywordflow">return</span> <span class="keyword">false</span>;
 
148
<a name="l00046"></a>00046       }
 
149
<a name="l00047"></a>00047       <span class="comment">// input nodes should have no biases</span>
 
150
<a name="l00048"></a>00048       <span class="keywordflow">if</span> (<a class="code" href="a00470.html#a4373a2ce8c99d78cb25cd9e68bc6b106">node_type_</a> == <a class="code" href="a00470.html#aaca04e8e86b6305b6ef5cafa97a69cccabf08baf29ab216392a1f0ad5c439d220">Input</a>) {
 
151
<a name="l00049"></a>00049         <a class="code" href="a00470.html#a51752dcc36486a7299eeb6ae3761fcd4">bias_</a> = kInputNodeBias;
 
152
<a name="l00050"></a>00050       } <span class="keywordflow">else</span> {
 
153
<a name="l00051"></a>00051         <a class="code" href="a00470.html#a51752dcc36486a7299eeb6ae3761fcd4">bias_</a> = val;
 
154
<a name="l00052"></a>00052       }
 
155
<a name="l00053"></a>00053       <span class="comment">// read fanin count</span>
 
156
<a name="l00054"></a>00054       <span class="keywordtype">int</span> <a class="code" href="a00470.html#a640f3c1af33401c7b7da18ccd49ee68e">fan_in_cnt</a>;
 
157
<a name="l00055"></a>00055       <span class="keywordflow">if</span> (input_buff-&gt;Read(&amp;fan_in_cnt, <span class="keyword">sizeof</span>(fan_in_cnt)) !=
 
158
<a name="l00056"></a>00056           <span class="keyword">sizeof</span>(<a class="code" href="a00470.html#a640f3c1af33401c7b7da18ccd49ee68e">fan_in_cnt</a>)) {
 
159
<a name="l00057"></a>00057         <span class="keywordflow">return</span> <span class="keyword">false</span>;
 
160
<a name="l00058"></a>00058       }
 
161
<a name="l00059"></a>00059       <span class="comment">// validate fan-in cnt</span>
 
162
<a name="l00060"></a>00060       <span class="keywordflow">if</span> (fan_in_cnt != <a class="code" href="a00470.html#a94802e87a7f08527f75cb9e051cc0605">fan_in_</a>.size()) {
 
163
<a name="l00061"></a>00061         <span class="keywordflow">return</span> <span class="keyword">false</span>;
 
164
<a name="l00062"></a>00062       }
 
165
<a name="l00063"></a>00063       <span class="comment">// read the weights</span>
 
166
<a name="l00064"></a>00064       <span class="keywordflow">for</span> (<span class="keywordtype">int</span> in = 0; in &lt; <a class="code" href="a00470.html#a640f3c1af33401c7b7da18ccd49ee68e">fan_in_cnt</a>; in++) {
 
167
<a name="l00065"></a>00065         <span class="keywordflow">if</span> (input_buff-&gt;Read(&amp;val, <span class="keyword">sizeof</span>(val)) != <span class="keyword">sizeof</span>(val)) {
 
168
<a name="l00066"></a>00066           <span class="keywordflow">return</span> <span class="keyword">false</span>;
 
169
<a name="l00067"></a>00067         }
 
170
<a name="l00068"></a>00068         *(<a class="code" href="a00470.html#ad56351b172a4616dceec90f5d7fe984b">fan_in_weights_</a>[in]) = val;
 
171
<a name="l00069"></a>00069       }
 
172
<a name="l00070"></a>00070       <span class="keywordflow">return</span> <span class="keyword">true</span>;
 
173
<a name="l00071"></a>00071     }
 
174
<a name="l00072"></a>00072 
 
175
<a name="l00073"></a>00073     <span class="comment">// Add a new connection from this neuron *From*</span>
 
176
<a name="l00074"></a>00074     <span class="comment">// a target neuron using specfied params</span>
 
177
<a name="l00075"></a>00075     <span class="comment">// Note that what is actually copied in this function are pointers to the</span>
 
178
<a name="l00076"></a>00076     <span class="comment">// specified Neurons and weights and not the actualt values. This is by</span>
 
179
<a name="l00077"></a>00077     <span class="comment">// design to centralize the alloction of neurons and weights and so</span>
 
180
<a name="l00078"></a>00078     <span class="comment">// increase the locality of reference and improve cache-hits resulting</span>
 
181
<a name="l00079"></a>00079     <span class="comment">// in a faster net. This technique resulted in a 2X-10X speedup</span>
 
182
<a name="l00080"></a>00080     <span class="comment">// (depending on network size and processor)</span>
 
183
<a name="l00081"></a>00081     <span class="keywordtype">void</span> <a class="code" href="a00470.html#a7363a0f331c6b0d493b05280fd9dab46">AddFromConnection</a>(<a class="code" href="a00470.html">Neuron</a> *neuron_vec,
 
184
<a name="l00082"></a>00082                            <span class="keywordtype">float</span> *wts_offset,
 
185
<a name="l00083"></a>00083                            <span class="keywordtype">int</span> from_cnt);
 
186
<a name="l00084"></a>00084     <span class="comment">// Set the type of a neuron</span>
 
187
<a name="l00085"></a>00085     <span class="keywordtype">void</span> <a class="code" href="a00470.html#af4e0f355208188f9d6017166153d18f9">set_node_type</a>(<a class="code" href="a00470.html#aaca04e8e86b6305b6ef5cafa97a69ccc">NeuronTypes</a> type);
 
188
<a name="l00086"></a>00086     <span class="comment">// Computes the output of the node by</span>
 
189
<a name="l00087"></a>00087     <span class="comment">// &quot;pulling&quot; the output of the fan-in nodes</span>
 
190
<a name="l00088"></a>00088     <span class="keywordtype">void</span> <a class="code" href="a00470.html#aacf58b3d21f61bf84e2815931f869464">FeedForward</a>();
 
191
<a name="l00089"></a>00089     <span class="comment">// fast computation of sigmoid function using a lookup table</span>
 
192
<a name="l00090"></a>00090     <span class="comment">// defined in sigmoid_table.cpp</span>
 
193
<a name="l00091"></a>00091     <span class="keyword">static</span> <span class="keywordtype">float</span> <a class="code" href="a00470.html#a6b38598355a4ebd977f20f0582db3d49">Sigmoid</a>(<span class="keywordtype">float</span> activation);
 
194
<a name="l00092"></a>00092     <span class="comment">// Accessor functions</span>
 
195
<a name="l00093"></a><a class="code" href="a00470.html#ac5d956e226190d1cf2d021493beeb1b8">00093</a>     <span class="keywordtype">float</span> <a class="code" href="a00470.html#ac5d956e226190d1cf2d021493beeb1b8">output</a>()<span class="keyword"> const </span>{
 
196
<a name="l00094"></a>00094       <span class="keywordflow">return</span> <a class="code" href="a00470.html#aecec05557a84adbe5ebc74714bae0d93">output_</a>;
 
197
<a name="l00095"></a>00095     }
 
198
<a name="l00096"></a><a class="code" href="a00470.html#ab672142abe2db452d9085ecb6689e25d">00096</a>     <span class="keywordtype">void</span> <a class="code" href="a00470.html#ab672142abe2db452d9085ecb6689e25d">set_output</a>(<span class="keywordtype">float</span> out_val) {
 
199
<a name="l00097"></a>00097       <a class="code" href="a00470.html#aecec05557a84adbe5ebc74714bae0d93">output_</a> = out_val;
 
200
<a name="l00098"></a>00098     }
 
201
<a name="l00099"></a><a class="code" href="a00470.html#a0c1f2386bd491c36c87852b4a6bfa121">00099</a>     <span class="keywordtype">int</span> <a class="code" href="a00470.html#a0c1f2386bd491c36c87852b4a6bfa121">id</a>()<span class="keyword"> const </span>{
 
202
<a name="l00100"></a>00100       <span class="keywordflow">return</span> <a class="code" href="a00470.html#acf182e566805bb493276be54e8b07b5a">id_</a>;
 
203
<a name="l00101"></a>00101     }
 
204
<a name="l00102"></a><a class="code" href="a00470.html#a640f3c1af33401c7b7da18ccd49ee68e">00102</a>     <span class="keywordtype">int</span> <a class="code" href="a00470.html#a640f3c1af33401c7b7da18ccd49ee68e">fan_in_cnt</a>()<span class="keyword"> const </span>{
 
205
<a name="l00103"></a>00103       <span class="keywordflow">return</span> <a class="code" href="a00470.html#a94802e87a7f08527f75cb9e051cc0605">fan_in_</a>.size();
 
206
<a name="l00104"></a>00104     }
 
207
<a name="l00105"></a><a class="code" href="a00470.html#a34a3470583c330d6e6c46a3e2a81c012">00105</a>     <a class="code" href="a00470.html">Neuron</a> * <a class="code" href="a00470.html#a34a3470583c330d6e6c46a3e2a81c012">fan_in</a>(<span class="keywordtype">int</span> idx)<span class="keyword"> const </span>{
 
208
<a name="l00106"></a>00106       <span class="keywordflow">return</span> <a class="code" href="a00470.html#a94802e87a7f08527f75cb9e051cc0605">fan_in_</a>[idx];
 
209
<a name="l00107"></a>00107     }
 
210
<a name="l00108"></a><a class="code" href="a00470.html#ac92db227c777f36a8c6aee05c1f1d766">00108</a>     <span class="keywordtype">float</span> <a class="code" href="a00470.html#ac92db227c777f36a8c6aee05c1f1d766">fan_in_wts</a>(<span class="keywordtype">int</span> idx)<span class="keyword"> const </span>{
 
211
<a name="l00109"></a>00109       <span class="keywordflow">return</span> *(<a class="code" href="a00470.html#ad56351b172a4616dceec90f5d7fe984b">fan_in_weights_</a>[idx]);
 
212
<a name="l00110"></a>00110     }
 
213
<a name="l00111"></a><a class="code" href="a00470.html#a29d8526568d7b1a5df75065712e03868">00111</a>     <span class="keywordtype">void</span> <a class="code" href="a00470.html#a29d8526568d7b1a5df75065712e03868">set_id</a>(<span class="keywordtype">int</span> <span class="keywordtype">id</span>) {
 
214
<a name="l00112"></a>00112       <a class="code" href="a00470.html#acf182e566805bb493276be54e8b07b5a">id_</a> = <a class="code" href="a00470.html#a0c1f2386bd491c36c87852b4a6bfa121">id</a>;
 
215
<a name="l00113"></a>00113     }
 
216
<a name="l00114"></a><a class="code" href="a00470.html#a76332b030bf687b40e64dda184e618a0">00114</a>     <span class="keywordtype">float</span> <a class="code" href="a00470.html#a76332b030bf687b40e64dda184e618a0">bias</a>()<span class="keyword"> const </span>{
 
217
<a name="l00115"></a>00115       <span class="keywordflow">return</span> <a class="code" href="a00470.html#a51752dcc36486a7299eeb6ae3761fcd4">bias_</a>;
 
218
<a name="l00116"></a>00116     }
 
219
<a name="l00117"></a><a class="code" href="a00470.html#aa42ba2b8ca765112ad135ad4383e9a2f">00117</a>     <a class="code" href="a00470.html#aaca04e8e86b6305b6ef5cafa97a69ccc">Neuron::NeuronTypes</a> <a class="code" href="a00470.html#aa42ba2b8ca765112ad135ad4383e9a2f">node_type</a>()<span class="keyword"> const </span>{
 
220
<a name="l00118"></a>00118       <span class="keywordflow">return</span> <a class="code" href="a00470.html#a4373a2ce8c99d78cb25cd9e68bc6b106">node_type_</a>;
 
221
<a name="l00119"></a>00119     }
 
222
<a name="l00120"></a>00120 
 
223
<a name="l00121"></a>00121   <span class="keyword">protected</span>:
 
224
<a name="l00122"></a>00122     <span class="comment">// Type of Neuron</span>
 
225
<a name="l00123"></a><a class="code" href="a00470.html#a4373a2ce8c99d78cb25cd9e68bc6b106">00123</a>     <a class="code" href="a00470.html#aaca04e8e86b6305b6ef5cafa97a69ccc">NeuronTypes</a> <a class="code" href="a00470.html#a4373a2ce8c99d78cb25cd9e68bc6b106">node_type_</a>;
 
226
<a name="l00124"></a>00124     <span class="comment">// unqique id of the neuron</span>
 
227
<a name="l00125"></a><a class="code" href="a00470.html#acf182e566805bb493276be54e8b07b5a">00125</a>     <span class="keywordtype">int</span> <a class="code" href="a00470.html#acf182e566805bb493276be54e8b07b5a">id_</a>;
 
228
<a name="l00126"></a>00126     <span class="comment">// node bias</span>
 
229
<a name="l00127"></a><a class="code" href="a00470.html#a51752dcc36486a7299eeb6ae3761fcd4">00127</a>     <span class="keywordtype">float</span> <a class="code" href="a00470.html#a51752dcc36486a7299eeb6ae3761fcd4">bias_</a>;
 
230
<a name="l00128"></a>00128     <span class="comment">// node net activation</span>
 
231
<a name="l00129"></a><a class="code" href="a00470.html#af5b3c2c30dea3732624df7e23b62f8df">00129</a>     <span class="keywordtype">float</span> <a class="code" href="a00470.html#af5b3c2c30dea3732624df7e23b62f8df">activation_</a>;
 
232
<a name="l00130"></a>00130     <span class="comment">// node output</span>
 
233
<a name="l00131"></a><a class="code" href="a00470.html#aecec05557a84adbe5ebc74714bae0d93">00131</a>     <span class="keywordtype">float</span> <a class="code" href="a00470.html#aecec05557a84adbe5ebc74714bae0d93">output_</a>;
 
234
<a name="l00132"></a>00132     <span class="comment">// pointers to fanin nodes</span>
 
235
<a name="l00133"></a><a class="code" href="a00470.html#a94802e87a7f08527f75cb9e051cc0605">00133</a>     vector&lt;Neuron *&gt; <a class="code" href="a00470.html#a94802e87a7f08527f75cb9e051cc0605">fan_in_</a>;
 
236
<a name="l00134"></a>00134     <span class="comment">// pointers to fanin weights</span>
 
237
<a name="l00135"></a><a class="code" href="a00470.html#ad56351b172a4616dceec90f5d7fe984b">00135</a>     vector&lt;float *&gt; <a class="code" href="a00470.html#ad56351b172a4616dceec90f5d7fe984b">fan_in_weights_</a>;
 
238
<a name="l00136"></a>00136     <span class="comment">// Sigmoid function lookup table used for fast computation</span>
 
239
<a name="l00137"></a>00137     <span class="comment">// of sigmoid function</span>
 
240
<a name="l00138"></a><a class="code" href="a00470.html#a3e21eafa1a7015d1a14a321621e724aa">00138</a>     <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">float</span> <a class="code" href="a00470.html#a3e21eafa1a7015d1a14a321621e724aa">kSigmoidTable</a>[];
 
241
<a name="l00139"></a>00139     <span class="comment">// flag determining if the activation of the node</span>
 
242
<a name="l00140"></a>00140     <span class="comment">// is fresh or not (dirty)</span>
 
243
<a name="l00141"></a><a class="code" href="a00470.html#a2b109732594a4fd6240995520eb9a225">00141</a>     <span class="keywordtype">bool</span> <a class="code" href="a00470.html#a2b109732594a4fd6240995520eb9a225">frwd_dirty_</a>;
 
244
<a name="l00142"></a>00142     <span class="comment">// Initializer</span>
 
245
<a name="l00143"></a>00143     <span class="keywordtype">void</span> <a class="code" href="a00470.html#aa7d2dbd60eb9b1658235231328d433f6">Init</a>();
 
246
<a name="l00144"></a>00144 };
 
247
<a name="l00145"></a>00145 }
 
248
<a name="l00146"></a>00146 
 
249
<a name="l00147"></a>00147 <span class="preprocessor">#endif  // NEURON_H__</span>
 
250
</pre></div></div><!-- contents -->
 
251
</div>
 
252
<!-- window showing the filter options -->
 
253
<div id="MSearchSelectWindow"
 
254
     onmouseover="return searchBox.OnSearchSelectShow()"
 
255
     onmouseout="return searchBox.OnSearchSelectHide()"
 
256
     onkeydown="return searchBox.OnSearchSelectKey(event)">
 
257
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Defines</a></div>
 
258
 
 
259
<!-- iframe showing the search results (closed by default) -->
 
260
<div id="MSearchResultsWindow">
 
261
<iframe src="javascript:void(0)" frameborder="0" 
 
262
        name="MSearchResults" id="MSearchResults">
 
263
</iframe>
 
264
</div>
 
265
 
 
266
  <div id="nav-path" class="navpath">
 
267
    <ul>
 
268
      <li class="navelem"><a class="el" href="a01078.html">neuron.h</a>      </li>
 
269
 
 
270
    <li class="footer">Generated on Mon Feb 3 2014 10:59:10 for tesseract by
 
271
    <a href="http://www.doxygen.org/index.html">
 
272
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.6.1 </li>
 
273
   </ul>
 
274
 </div>
 
275
 
 
276
 
 
277
</body>
 
278
</html>