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 <meta name="generator" content="Doxygen 1.8.6"/>
7 <title>TIML: appCNNInteropCaffe</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script>
10 <script type="text/javascript" src="dynsections.js"></script>
11 <link href="search/search.css" rel="stylesheet" type="text/css"/>
12 <script type="text/javascript" src="search/search.js"></script>
13 <script type="text/javascript">
14 $(document).ready(function() { searchBox.OnSelectItem(0); });
15 </script>
16 <link href="doxygen.css" rel="stylesheet" type="text/css" />
17 </head>
18 <body>
19 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
20 <div id="titlearea">
21 <table cellspacing="0" cellpadding="0">
22 <tbody>
23 <tr style="height: 56px;">
24 <td style="padding-left: 0.5em;">
25 <div id="projectname">TIML
26 </div>
27 </td>
28 </tr>
29 </tbody>
30 </table>
31 </div>
32 <!-- end header part -->
33 <!-- Generated by Doxygen 1.8.6 -->
34 <script type="text/javascript">
35 var searchBox = new SearchBox("searchBox", "search",false,'Search');
36 </script>
37 <div id="navrow1" class="tabs">
38 <ul class="tablist">
39 <li><a href="index.html"><span>Main Page</span></a></li>
40 <li><a href="pages.html"><span>Related Pages</span></a></li>
41 <li><a href="modules.html"><span>Modules</span></a></li>
42 <li><a href="annotated.html"><span>Data Structures</span></a></li>
43 <li><a href="files.html"><span>Files</span></a></li>
44 <li>
45 <div id="MSearchBox" class="MSearchBoxInactive">
46 <span class="left">
47 <img id="MSearchSelect" src="search/mag_sel.png"
48 onmouseover="return searchBox.OnSearchSelectShow()"
49 onmouseout="return searchBox.OnSearchSelectHide()"
50 alt=""/>
51 <input type="text" id="MSearchField" value="Search" accesskey="S"
52 onfocus="searchBox.OnSearchFieldFocus(true)"
53 onblur="searchBox.OnSearchFieldFocus(false)"
54 onkeyup="searchBox.OnSearchFieldChange(event)"/>
55 </span><span class="right">
56 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
57 </span>
58 </div>
59 </li>
60 </ul>
61 </div>
62 </div><!-- top -->
63 <!-- window showing the filter options -->
64 <div id="MSearchSelectWindow"
65 onmouseover="return searchBox.OnSearchSelectShow()"
66 onmouseout="return searchBox.OnSearchSelectHide()"
67 onkeydown="return searchBox.OnSearchSelectKey(event)">
68 <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Pages</a></div>
70 <!-- iframe showing the search results (closed by default) -->
71 <div id="MSearchResultsWindow">
72 <iframe src="javascript:void(0)" frameborder="0"
73 name="MSearchResults" id="MSearchResults">
74 </iframe>
75 </div>
77 <div class="header">
78 <div class="summary">
79 <a href="#func-members">Functions</a> </div>
80 <div class="headertitle">
81 <div class="title">appCNNInteropCaffe<div class="ingroups"><a class="el" href="group__appCNN.html">appCNN</a></div></div> </div>
82 </div><!--header-->
83 <div class="contents">
85 <p>CNN Caffe interoperation applications.
86 <a href="#details">More...</a></p>
87 <table class="memberdecls">
88 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
89 Functions</h2></td></tr>
90 <tr class="memitem:ga0ddf1224851353fc92bfbff6f499fa97"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__appCNNInteropCaffe.html#ga0ddf1224851353fc92bfbff6f499fa97">main</a> (int argc, char *argv[])</td></tr>
91 <tr class="memdesc:ga0ddf1224851353fc92bfbff6f499fa97"><td class="mdescLeft"> </td><td class="mdescRight">Caffe to TIML CNN model converter. <a href="#ga0ddf1224851353fc92bfbff6f499fa97">More...</a><br/></td></tr>
92 <tr class="separator:ga0ddf1224851353fc92bfbff6f499fa97"><td class="memSeparator" colspan="2"> </td></tr>
93 <tr class="memitem:ga7052f4eb157d65957ad3fd2332438522"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__appCNNInteropCaffe.html#ga7052f4eb157d65957ad3fd2332438522">appCNNInteropCaffeReadProtoFromTextFile</a> (const char *fileName, Message *proto)</td></tr>
94 <tr class="memdesc:ga7052f4eb157d65957ad3fd2332438522"><td class="mdescLeft"> </td><td class="mdescRight">Caffe read proto from text file. <a href="#ga7052f4eb157d65957ad3fd2332438522">More...</a><br/></td></tr>
95 <tr class="separator:ga7052f4eb157d65957ad3fd2332438522"><td class="memSeparator" colspan="2"> </td></tr>
96 <tr class="memitem:ga622145415a86ef826c3e8017fb478db6"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__appCNNInteropCaffe.html#ga622145415a86ef826c3e8017fb478db6">appCNNInteropCaffeReadProtoFromBinaryFile</a> (const char *fileName, Message *proto)</td></tr>
97 <tr class="memdesc:ga622145415a86ef826c3e8017fb478db6"><td class="mdescLeft"> </td><td class="mdescRight">Caffe read proto from binary file. <a href="#ga622145415a86ef826c3e8017fb478db6">More...</a><br/></td></tr>
98 <tr class="separator:ga622145415a86ef826c3e8017fb478db6"><td class="memSeparator" colspan="2"> </td></tr>
99 <tr class="memitem:ga335d05efc7a9d315db56be13fc0af111"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__appCNNInteropCaffe.html#ga335d05efc7a9d315db56be13fc0af111">appCNNInteropCaffeFlipMatrixFloat</a> (float *a, int m, int n)</td></tr>
100 <tr class="memdesc:ga335d05efc7a9d315db56be13fc0af111"><td class="mdescLeft"> </td><td class="mdescRight">Flip a matrix. <a href="#ga335d05efc7a9d315db56be13fc0af111">More...</a><br/></td></tr>
101 <tr class="separator:ga335d05efc7a9d315db56be13fc0af111"><td class="memSeparator" colspan="2"> </td></tr>
102 <tr class="memitem:ga4d2f15bd3e322f77cbc47edf00f9ef36"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__appCNNInteropCaffe.html#ga4d2f15bd3e322f77cbc47edf00f9ef36">appCNNInteropCaffeFlipKernelMatrix</a> (float *kernel, int kernelRow, int kernelCol, int inputChannel, int outputChannel)</td></tr>
103 <tr class="memdesc:ga4d2f15bd3e322f77cbc47edf00f9ef36"><td class="mdescLeft"> </td><td class="mdescRight">Flip the kernels. <a href="#ga4d2f15bd3e322f77cbc47edf00f9ef36">More...</a><br/></td></tr>
104 <tr class="separator:ga4d2f15bd3e322f77cbc47edf00f9ef36"><td class="memSeparator" colspan="2"> </td></tr>
105 <tr class="memitem:ga9a4b55d7ec059ee00c3c6b6d5743f9f7"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__appCNNInteropCaffe.html#ga9a4b55d7ec059ee00c3c6b6d5743f9f7">appCNNInteropCaffeFillBlockDiagonalMatrix</a> (float *a, int M, int N, int group, float *b)</td></tr>
106 <tr class="memdesc:ga9a4b55d7ec059ee00c3c6b6d5743f9f7"><td class="mdescLeft"> </td><td class="mdescRight">Fill a block diagonal matrix. <a href="#ga9a4b55d7ec059ee00c3c6b6d5743f9f7">More...</a><br/></td></tr>
107 <tr class="separator:ga9a4b55d7ec059ee00c3c6b6d5743f9f7"><td class="memSeparator" colspan="2"> </td></tr>
108 <tr class="memitem:ga630a9d1314c2151e7193de73a714b789"><td class="memItemLeft" align="right" valign="top">timlUtilActivationType </td><td class="memItemRight" valign="bottom"><a class="el" href="group__appCNNInteropCaffe.html#ga630a9d1314c2151e7193de73a714b789">appCNNInteropCaffeNonlinearTypeConvert</a> (LayerParameter_LayerType type)</td></tr>
109 <tr class="memdesc:ga630a9d1314c2151e7193de73a714b789"><td class="mdescLeft"> </td><td class="mdescRight">Caffe nonlinear layer type conversion. <a href="#ga630a9d1314c2151e7193de73a714b789">More...</a><br/></td></tr>
110 <tr class="separator:ga630a9d1314c2151e7193de73a714b789"><td class="memSeparator" colspan="2"> </td></tr>
111 <tr class="memitem:ga3752b452e61029bc03d4f10b95d0a861"><td class="memItemLeft" align="right" valign="top">timlCNNLayerType </td><td class="memItemRight" valign="bottom"><a class="el" href="group__appCNNInteropCaffe.html#ga3752b452e61029bc03d4f10b95d0a861">appCNNInteropCaffeLayerTypeConvert</a> (LayerParameter_LayerType type)</td></tr>
112 <tr class="memdesc:ga3752b452e61029bc03d4f10b95d0a861"><td class="mdescLeft"> </td><td class="mdescRight">Caffe to TIML CNN layer type conversion. <a href="#ga3752b452e61029bc03d4f10b95d0a861">More...</a><br/></td></tr>
113 <tr class="separator:ga3752b452e61029bc03d4f10b95d0a861"><td class="memSeparator" colspan="2"> </td></tr>
114 <tr class="memitem:ga3106ebef164cd39f0bc864c59c2c0a45"><td class="memItemLeft" align="right" valign="top">timlCNNPoolingType </td><td class="memItemRight" valign="bottom"><a class="el" href="group__appCNNInteropCaffe.html#ga3106ebef164cd39f0bc864c59c2c0a45">appCNNInteropCaffePoolingTypeConvert</a> (PoolingParameter_PoolMethod method)</td></tr>
115 <tr class="memdesc:ga3106ebef164cd39f0bc864c59c2c0a45"><td class="mdescLeft"> </td><td class="mdescRight">Caffe pooling type conversion. <a href="#ga3106ebef164cd39f0bc864c59c2c0a45">More...</a><br/></td></tr>
116 <tr class="separator:ga3106ebef164cd39f0bc864c59c2c0a45"><td class="memSeparator" colspan="2"> </td></tr>
117 <tr class="memitem:ga2ce06f0ef11d677b3087a59857797335"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct__timlConvNeuralNetwork__.html">timlConvNeuralNetwork</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__appCNNInteropCaffe.html#ga2ce06f0ef11d677b3087a59857797335">appCNNInteropCaffeConvert</a> (const char *netStructurePrototxtFileName, const char *netParamPrototxtFileName)</td></tr>
118 <tr class="memdesc:ga2ce06f0ef11d677b3087a59857797335"><td class="mdescLeft"> </td><td class="mdescRight">Convert Caffe to TIML CNN. <a href="#ga2ce06f0ef11d677b3087a59857797335">More...</a><br/></td></tr>
119 <tr class="separator:ga2ce06f0ef11d677b3087a59857797335"><td class="memSeparator" colspan="2"> </td></tr>
120 <tr class="memitem:ga17ffed596b6ee6d57574915f1eaaaf23"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__appCNNInteropCaffe.html#ga17ffed596b6ee6d57574915f1eaaaf23">appCNNInteropCaffeConvLayerConvert</a> (<a class="el" href="struct__timlConvNeuralNetwork__.html">timlConvNeuralNetwork</a> *cnn, LayerParameter layerStructure, LayerParameter layerParam)</td></tr>
121 <tr class="memdesc:ga17ffed596b6ee6d57574915f1eaaaf23"><td class="mdescLeft"> </td><td class="mdescRight">Convert Caffe conv layer. <a href="#ga17ffed596b6ee6d57574915f1eaaaf23">More...</a><br/></td></tr>
122 <tr class="separator:ga17ffed596b6ee6d57574915f1eaaaf23"><td class="memSeparator" colspan="2"> </td></tr>
123 <tr class="memitem:ga9dfa0736763aefc3d820ca27e7a19882"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__appCNNInteropCaffe.html#ga9dfa0736763aefc3d820ca27e7a19882">appCNNInteropCaffeConvLayerPermuteKernel</a> (<a class="el" href="struct__timlCNNLayer__.html">timlCNNLayer</a> *layer)</td></tr>
124 <tr class="memdesc:ga9dfa0736763aefc3d820ca27e7a19882"><td class="mdescLeft"> </td><td class="mdescRight">Change the kernel from BGR squence to RGB. <a href="#ga9dfa0736763aefc3d820ca27e7a19882">More...</a><br/></td></tr>
125 <tr class="separator:ga9dfa0736763aefc3d820ca27e7a19882"><td class="memSeparator" colspan="2"> </td></tr>
126 <tr class="memitem:gae61e927bb0b0fd6cca3dd1a45f8a1e62"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__appCNNInteropCaffe.html#gae61e927bb0b0fd6cca3dd1a45f8a1e62">appCNNInteropCaffePoolingLayerConvert</a> (<a class="el" href="struct__timlConvNeuralNetwork__.html">timlConvNeuralNetwork</a> *cnn, LayerParameter layerStructure, LayerParameter layerParam)</td></tr>
127 <tr class="memdesc:gae61e927bb0b0fd6cca3dd1a45f8a1e62"><td class="mdescLeft"> </td><td class="mdescRight">Caffe pooling layer conversion. <a href="#gae61e927bb0b0fd6cca3dd1a45f8a1e62">More...</a><br/></td></tr>
128 <tr class="separator:gae61e927bb0b0fd6cca3dd1a45f8a1e62"><td class="memSeparator" colspan="2"> </td></tr>
129 <tr class="memitem:ga7ac38ac27f861867ee84e038428d2139"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__appCNNInteropCaffe.html#ga7ac38ac27f861867ee84e038428d2139">appCNNInteropCaffeNormLayerConvert</a> (<a class="el" href="struct__timlConvNeuralNetwork__.html">timlConvNeuralNetwork</a> *cnn, LayerParameter layerStructure, LayerParameter layerParam)</td></tr>
130 <tr class="memdesc:ga7ac38ac27f861867ee84e038428d2139"><td class="mdescLeft"> </td><td class="mdescRight">Caffe norm layer conversion. <a href="#ga7ac38ac27f861867ee84e038428d2139">More...</a><br/></td></tr>
131 <tr class="separator:ga7ac38ac27f861867ee84e038428d2139"><td class="memSeparator" colspan="2"> </td></tr>
132 <tr class="memitem:ga53805074229f6d101a0b3c91dce8216b"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__appCNNInteropCaffe.html#ga53805074229f6d101a0b3c91dce8216b">appCNNInteropCaffeLinearLayerConvert</a> (<a class="el" href="struct__timlConvNeuralNetwork__.html">timlConvNeuralNetwork</a> *cnn, LayerParameter layerStructure, LayerParameter layerParam)</td></tr>
133 <tr class="memdesc:ga53805074229f6d101a0b3c91dce8216b"><td class="mdescLeft"> </td><td class="mdescRight">Caffe linear layer conversion. <a href="#ga53805074229f6d101a0b3c91dce8216b">More...</a><br/></td></tr>
134 <tr class="separator:ga53805074229f6d101a0b3c91dce8216b"><td class="memSeparator" colspan="2"> </td></tr>
135 <tr class="memitem:gab913f62c0b33ce7bc646d2877e9fb748"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__appCNNInteropCaffe.html#gab913f62c0b33ce7bc646d2877e9fb748">appCNNInteropCaffeNonlinearLayerConvert</a> (<a class="el" href="struct__timlConvNeuralNetwork__.html">timlConvNeuralNetwork</a> *cnn, LayerParameter layerStructure, LayerParameter layerParam)</td></tr>
136 <tr class="memdesc:gab913f62c0b33ce7bc646d2877e9fb748"><td class="mdescLeft"> </td><td class="mdescRight">Caffe nonlinear layer conversion. <a href="#gab913f62c0b33ce7bc646d2877e9fb748">More...</a><br/></td></tr>
137 <tr class="separator:gab913f62c0b33ce7bc646d2877e9fb748"><td class="memSeparator" colspan="2"> </td></tr>
138 <tr class="memitem:gaf982a0ff86bbbfffaa342f80b3f46cb5"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__appCNNInteropCaffe.html#gaf982a0ff86bbbfffaa342f80b3f46cb5">appCNNInteropCaffeDropoutLayerConvert</a> (<a class="el" href="struct__timlConvNeuralNetwork__.html">timlConvNeuralNetwork</a> *cnn, LayerParameter layerStructure, LayerParameter layerParam)</td></tr>
139 <tr class="memdesc:gaf982a0ff86bbbfffaa342f80b3f46cb5"><td class="mdescLeft"> </td><td class="mdescRight">Caffe dropout layer conversion. <a href="#gaf982a0ff86bbbfffaa342f80b3f46cb5">More...</a><br/></td></tr>
140 <tr class="separator:gaf982a0ff86bbbfffaa342f80b3f46cb5"><td class="memSeparator" colspan="2"> </td></tr>
141 <tr class="memitem:gab530bd6ef77e6850fb50355ce85f8ff8"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__appCNNInteropCaffe.html#gab530bd6ef77e6850fb50355ce85f8ff8">appCNNInteropCaffeReadMean</a> (<a class="el" href="struct__timlCNNLayer__.html">timlCNNLayer</a> *layer, const char *fileName)</td></tr>
142 <tr class="memdesc:gab530bd6ef77e6850fb50355ce85f8ff8"><td class="mdescLeft"> </td><td class="mdescRight">Read Caffe mean binary file. <a href="#gab530bd6ef77e6850fb50355ce85f8ff8">More...</a><br/></td></tr>
143 <tr class="separator:gab530bd6ef77e6850fb50355ce85f8ff8"><td class="memSeparator" colspan="2"> </td></tr>
144 <tr class="memitem:gaa86fc855715a800c4e27a31159c39207"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__appCNNInteropCaffe.html#gaa86fc855715a800c4e27a31159c39207">appCNNInteropCaffePermuteMean</a> (float *mean, int row, int col, int channel)</td></tr>
145 <tr class="memdesc:gaa86fc855715a800c4e27a31159c39207"><td class="mdescLeft"> </td><td class="mdescRight">Permute the mean in the input layer from BGR sequence to RGB. <a href="#gaa86fc855715a800c4e27a31159c39207">More...</a><br/></td></tr>
146 <tr class="separator:gaa86fc855715a800c4e27a31159c39207"><td class="memSeparator" colspan="2"> </td></tr>
147 </table>
148 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
149 <p>CNN Caffe interoperation applications. </p>
150 <h2 class="groupheader">Function Documentation</h2>
151 <a class="anchor" id="ga2ce06f0ef11d677b3087a59857797335"></a>
152 <div class="memitem">
153 <div class="memproto">
154 <table class="memname">
155 <tr>
156 <td class="memname"><a class="el" href="struct__timlConvNeuralNetwork__.html">timlConvNeuralNetwork</a> * appCNNInteropCaffeConvert </td>
157 <td>(</td>
158 <td class="paramtype">const char * </td>
159 <td class="paramname"><em>netStructurePrototxtFileName</em>, </td>
160 </tr>
161 <tr>
162 <td class="paramkey"></td>
163 <td></td>
164 <td class="paramtype">const char * </td>
165 <td class="paramname"><em>netParamPrototxtFileName</em> </td>
166 </tr>
167 <tr>
168 <td></td>
169 <td>)</td>
170 <td></td><td></td>
171 </tr>
172 </table>
173 </div><div class="memdoc">
175 <p>Convert Caffe to TIML CNN. </p>
176 <dl class="params"><dt>Parameters</dt><dd>
177 <table class="params">
178 <tr><td class="paramdir">[in]</td><td class="paramname">netStructurePrototxtFileName</td><td>Net structure prototxt file name </td></tr>
179 <tr><td class="paramdir">[in]</td><td class="paramname">netParamPrototxtFileName</td><td>Net params prototxt file name </td></tr>
180 </table>
181 </dd>
182 </dl>
183 <dl class="section return"><dt>Returns</dt><dd>CNN </dd></dl>
185 </div>
186 </div>
187 <a class="anchor" id="ga17ffed596b6ee6d57574915f1eaaaf23"></a>
188 <div class="memitem">
189 <div class="memproto">
190 <table class="memname">
191 <tr>
192 <td class="memname">int appCNNInteropCaffeConvLayerConvert </td>
193 <td>(</td>
194 <td class="paramtype"><a class="el" href="struct__timlConvNeuralNetwork__.html">timlConvNeuralNetwork</a> * </td>
195 <td class="paramname"><em>cnn</em>, </td>
196 </tr>
197 <tr>
198 <td class="paramkey"></td>
199 <td></td>
200 <td class="paramtype">LayerParameter </td>
201 <td class="paramname"><em>layerStructure</em>, </td>
202 </tr>
203 <tr>
204 <td class="paramkey"></td>
205 <td></td>
206 <td class="paramtype">LayerParameter </td>
207 <td class="paramname"><em>layerParam</em> </td>
208 </tr>
209 <tr>
210 <td></td>
211 <td>)</td>
212 <td></td><td></td>
213 </tr>
214 </table>
215 </div><div class="memdoc">
217 <p>Convert Caffe conv layer. </p>
218 <dl class="params"><dt>Parameters</dt><dd>
219 <table class="params">
220 <tr><td class="paramdir">[in]</td><td class="paramname">cnn</td><td>CNN </td></tr>
221 <tr><td class="paramdir">[in]</td><td class="paramname">layerStructure</td><td>Layer structure </td></tr>
222 <tr><td class="paramdir">[in]</td><td class="paramname">layerParam</td><td>Layer params </td></tr>
223 </table>
224 </dd>
225 </dl>
226 <dl class="section return"><dt>Returns</dt><dd>Error code </dd></dl>
228 </div>
229 </div>
230 <a class="anchor" id="ga9dfa0736763aefc3d820ca27e7a19882"></a>
231 <div class="memitem">
232 <div class="memproto">
233 <table class="memname">
234 <tr>
235 <td class="memname">int appCNNInteropCaffeConvLayerPermuteKernel </td>
236 <td>(</td>
237 <td class="paramtype"><a class="el" href="struct__timlCNNLayer__.html">timlCNNLayer</a> * </td>
238 <td class="paramname"><em>layer</em></td><td>)</td>
239 <td></td>
240 </tr>
241 </table>
242 </div><div class="memdoc">
244 <p>Change the kernel from BGR squence to RGB. </p>
245 <dl class="params"><dt>Parameters</dt><dd>
246 <table class="params">
247 <tr><td class="paramdir">[in]</td><td class="paramname">layer</td><td>Layer ptr </td></tr>
248 </table>
249 </dd>
250 </dl>
251 <dl class="section return"><dt>Returns</dt><dd>Error code </dd></dl>
253 </div>
254 </div>
255 <a class="anchor" id="gaf982a0ff86bbbfffaa342f80b3f46cb5"></a>
256 <div class="memitem">
257 <div class="memproto">
258 <table class="memname">
259 <tr>
260 <td class="memname">int appCNNInteropCaffeDropoutLayerConvert </td>
261 <td>(</td>
262 <td class="paramtype"><a class="el" href="struct__timlConvNeuralNetwork__.html">timlConvNeuralNetwork</a> * </td>
263 <td class="paramname"><em>cnn</em>, </td>
264 </tr>
265 <tr>
266 <td class="paramkey"></td>
267 <td></td>
268 <td class="paramtype">LayerParameter </td>
269 <td class="paramname"><em>layerStructure</em>, </td>
270 </tr>
271 <tr>
272 <td class="paramkey"></td>
273 <td></td>
274 <td class="paramtype">LayerParameter </td>
275 <td class="paramname"><em>layerParam</em> </td>
276 </tr>
277 <tr>
278 <td></td>
279 <td>)</td>
280 <td></td><td></td>
281 </tr>
282 </table>
283 </div><div class="memdoc">
285 <p>Caffe dropout layer conversion. </p>
286 <dl class="params"><dt>Parameters</dt><dd>
287 <table class="params">
288 <tr><td class="paramdir">[in]</td><td class="paramname">cnn</td><td>CNN </td></tr>
289 <tr><td class="paramdir">[in]</td><td class="paramname">layerStructure</td><td>Layer structure </td></tr>
290 <tr><td class="paramdir">[in]</td><td class="paramname">layerParam</td><td>Layer params </td></tr>
291 </table>
292 </dd>
293 </dl>
294 <dl class="section return"><dt>Returns</dt><dd>Error code </dd></dl>
296 </div>
297 </div>
298 <a class="anchor" id="ga9a4b55d7ec059ee00c3c6b6d5743f9f7"></a>
299 <div class="memitem">
300 <div class="memproto">
301 <table class="memname">
302 <tr>
303 <td class="memname">int appCNNInteropCaffeFillBlockDiagonalMatrix </td>
304 <td>(</td>
305 <td class="paramtype">float * </td>
306 <td class="paramname"><em>a</em>, </td>
307 </tr>
308 <tr>
309 <td class="paramkey"></td>
310 <td></td>
311 <td class="paramtype">int </td>
312 <td class="paramname"><em>M</em>, </td>
313 </tr>
314 <tr>
315 <td class="paramkey"></td>
316 <td></td>
317 <td class="paramtype">int </td>
318 <td class="paramname"><em>N</em>, </td>
319 </tr>
320 <tr>
321 <td class="paramkey"></td>
322 <td></td>
323 <td class="paramtype">int </td>
324 <td class="paramname"><em>group</em>, </td>
325 </tr>
326 <tr>
327 <td class="paramkey"></td>
328 <td></td>
329 <td class="paramtype">float * </td>
330 <td class="paramname"><em>b</em> </td>
331 </tr>
332 <tr>
333 <td></td>
334 <td>)</td>
335 <td></td><td></td>
336 </tr>
337 </table>
338 </div><div class="memdoc">
340 <p>Fill a block diagonal matrix. </p>
341 <dl class="params"><dt>Parameters</dt><dd>
342 <table class="params">
343 <tr><td class="paramdir">[out]</td><td class="paramname">a</td><td>Block diagonal matrix </td></tr>
344 <tr><td class="paramdir">[in]</td><td class="paramname">M</td><td>Rows of a </td></tr>
345 <tr><td class="paramdir">[in]</td><td class="paramname">N</td><td>Cols of a </td></tr>
346 <tr><td class="paramdir">[in]</td><td class="paramname">group</td><td>Number of groups </td></tr>
347 <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Diagonal blocks </td></tr>
348 </table>
349 </dd>
350 </dl>
351 <dl class="section return"><dt>Returns</dt><dd>Error code </dd></dl>
353 </div>
354 </div>
355 <a class="anchor" id="ga4d2f15bd3e322f77cbc47edf00f9ef36"></a>
356 <div class="memitem">
357 <div class="memproto">
358 <table class="memname">
359 <tr>
360 <td class="memname">int appCNNInteropCaffeFlipKernelMatrix </td>
361 <td>(</td>
362 <td class="paramtype">float * </td>
363 <td class="paramname"><em>kernel</em>, </td>
364 </tr>
365 <tr>
366 <td class="paramkey"></td>
367 <td></td>
368 <td class="paramtype">int </td>
369 <td class="paramname"><em>kernelRow</em>, </td>
370 </tr>
371 <tr>
372 <td class="paramkey"></td>
373 <td></td>
374 <td class="paramtype">int </td>
375 <td class="paramname"><em>kernelCol</em>, </td>
376 </tr>
377 <tr>
378 <td class="paramkey"></td>
379 <td></td>
380 <td class="paramtype">int </td>
381 <td class="paramname"><em>inputChannel</em>, </td>
382 </tr>
383 <tr>
384 <td class="paramkey"></td>
385 <td></td>
386 <td class="paramtype">int </td>
387 <td class="paramname"><em>outputChannel</em> </td>
388 </tr>
389 <tr>
390 <td></td>
391 <td>)</td>
392 <td></td><td></td>
393 </tr>
394 </table>
395 </div><div class="memdoc">
397 <p>Flip the kernels. </p>
398 <dl class="params"><dt>Parameters</dt><dd>
399 <table class="params">
400 <tr><td class="paramdir">[in,out]</td><td class="paramname">kernel</td><td>Kernel matrix </td></tr>
401 <tr><td class="paramdir">[in]</td><td class="paramname">kernelRow</td><td>Kernel rows </td></tr>
402 <tr><td class="paramdir">[in]</td><td class="paramname">kernelCol</td><td>Kernel cols </td></tr>
403 <tr><td class="paramdir">[in]</td><td class="paramname">inputChannel</td><td>Input feature map channels </td></tr>
404 <tr><td class="paramdir">[in]</td><td class="paramname">outputChannel</td><td>Output feature map channels </td></tr>
405 </table>
406 </dd>
407 </dl>
408 <dl class="section return"><dt>Returns</dt><dd>Error code </dd></dl>
410 </div>
411 </div>
412 <a class="anchor" id="ga335d05efc7a9d315db56be13fc0af111"></a>
413 <div class="memitem">
414 <div class="memproto">
415 <table class="memname">
416 <tr>
417 <td class="memname">int appCNNInteropCaffeFlipMatrixFloat </td>
418 <td>(</td>
419 <td class="paramtype">float * </td>
420 <td class="paramname"><em>a</em>, </td>
421 </tr>
422 <tr>
423 <td class="paramkey"></td>
424 <td></td>
425 <td class="paramtype">int </td>
426 <td class="paramname"><em>m</em>, </td>
427 </tr>
428 <tr>
429 <td class="paramkey"></td>
430 <td></td>
431 <td class="paramtype">int </td>
432 <td class="paramname"><em>n</em> </td>
433 </tr>
434 <tr>
435 <td></td>
436 <td>)</td>
437 <td></td><td></td>
438 </tr>
439 </table>
440 </div><div class="memdoc">
442 <p>Flip a matrix. </p>
443 <dl class="params"><dt>Parameters</dt><dd>
444 <table class="params">
445 <tr><td class="paramdir">[in,out]</td><td class="paramname">a</td><td>Matrix </td></tr>
446 <tr><td class="paramdir">[in]</td><td class="paramname">m</td><td>Rows </td></tr>
447 <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>Cols </td></tr>
448 </table>
449 </dd>
450 </dl>
451 <dl class="section return"><dt>Returns</dt><dd>Error code </dd></dl>
453 </div>
454 </div>
455 <a class="anchor" id="ga3752b452e61029bc03d4f10b95d0a861"></a>
456 <div class="memitem">
457 <div class="memproto">
458 <table class="memname">
459 <tr>
460 <td class="memname">timlCNNLayerType appCNNInteropCaffeLayerTypeConvert </td>
461 <td>(</td>
462 <td class="paramtype">LayerParameter_LayerType </td>
463 <td class="paramname"><em>type</em></td><td>)</td>
464 <td></td>
465 </tr>
466 </table>
467 </div><div class="memdoc">
469 <p>Caffe to TIML CNN layer type conversion. </p>
470 <dl class="params"><dt>Parameters</dt><dd>
471 <table class="params">
472 <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Caffe layer type </td></tr>
473 </table>
474 </dd>
475 </dl>
476 <dl class="section return"><dt>Returns</dt><dd>TIML CNN layer type </dd></dl>
478 </div>
479 </div>
480 <a class="anchor" id="ga53805074229f6d101a0b3c91dce8216b"></a>
481 <div class="memitem">
482 <div class="memproto">
483 <table class="memname">
484 <tr>
485 <td class="memname">int appCNNInteropCaffeLinearLayerConvert </td>
486 <td>(</td>
487 <td class="paramtype"><a class="el" href="struct__timlConvNeuralNetwork__.html">timlConvNeuralNetwork</a> * </td>
488 <td class="paramname"><em>cnn</em>, </td>
489 </tr>
490 <tr>
491 <td class="paramkey"></td>
492 <td></td>
493 <td class="paramtype">LayerParameter </td>
494 <td class="paramname"><em>layerStructure</em>, </td>
495 </tr>
496 <tr>
497 <td class="paramkey"></td>
498 <td></td>
499 <td class="paramtype">LayerParameter </td>
500 <td class="paramname"><em>layerParam</em> </td>
501 </tr>
502 <tr>
503 <td></td>
504 <td>)</td>
505 <td></td><td></td>
506 </tr>
507 </table>
508 </div><div class="memdoc">
510 <p>Caffe linear layer conversion. </p>
511 <dl class="params"><dt>Parameters</dt><dd>
512 <table class="params">
513 <tr><td class="paramdir">[in]</td><td class="paramname">cnn</td><td>CNN </td></tr>
514 <tr><td class="paramdir">[in]</td><td class="paramname">layerStructure</td><td>Layer structure </td></tr>
515 <tr><td class="paramdir">[in]</td><td class="paramname">layerParam</td><td>Layer param </td></tr>
516 </table>
517 </dd>
518 </dl>
519 <dl class="section return"><dt>Returns</dt><dd>Error code </dd></dl>
521 </div>
522 </div>
523 <a class="anchor" id="gab913f62c0b33ce7bc646d2877e9fb748"></a>
524 <div class="memitem">
525 <div class="memproto">
526 <table class="memname">
527 <tr>
528 <td class="memname">int appCNNInteropCaffeNonlinearLayerConvert </td>
529 <td>(</td>
530 <td class="paramtype"><a class="el" href="struct__timlConvNeuralNetwork__.html">timlConvNeuralNetwork</a> * </td>
531 <td class="paramname"><em>cnn</em>, </td>
532 </tr>
533 <tr>
534 <td class="paramkey"></td>
535 <td></td>
536 <td class="paramtype">LayerParameter </td>
537 <td class="paramname"><em>layerStructure</em>, </td>
538 </tr>
539 <tr>
540 <td class="paramkey"></td>
541 <td></td>
542 <td class="paramtype">LayerParameter </td>
543 <td class="paramname"><em>layerParam</em> </td>
544 </tr>
545 <tr>
546 <td></td>
547 <td>)</td>
548 <td></td><td></td>
549 </tr>
550 </table>
551 </div><div class="memdoc">
553 <p>Caffe nonlinear layer conversion. </p>
554 <dl class="params"><dt>Parameters</dt><dd>
555 <table class="params">
556 <tr><td class="paramdir">[in]</td><td class="paramname">cnn</td><td>CNN </td></tr>
557 <tr><td class="paramdir">[in]</td><td class="paramname">layerStructure</td><td>Layer structure </td></tr>
558 <tr><td class="paramdir">[in]</td><td class="paramname">layerParam</td><td>Layer param </td></tr>
559 </table>
560 </dd>
561 </dl>
562 <dl class="section return"><dt>Returns</dt><dd>Error code </dd></dl>
564 </div>
565 </div>
566 <a class="anchor" id="ga630a9d1314c2151e7193de73a714b789"></a>
567 <div class="memitem">
568 <div class="memproto">
569 <table class="memname">
570 <tr>
571 <td class="memname">timlUtilActivationType appCNNInteropCaffeNonlinearTypeConvert </td>
572 <td>(</td>
573 <td class="paramtype">LayerParameter_LayerType </td>
574 <td class="paramname"><em>type</em></td><td>)</td>
575 <td></td>
576 </tr>
577 </table>
578 </div><div class="memdoc">
580 <p>Caffe nonlinear layer type conversion. </p>
581 <dl class="params"><dt>Parameters</dt><dd>
582 <table class="params">
583 <tr><td class="paramdir">[in]</td><td class="paramname">cnn</td><td>CNN </td></tr>
584 <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Caffe layer type </td></tr>
585 </table>
586 </dd>
587 </dl>
588 <dl class="section return"><dt>Returns</dt><dd>TIML CNN nonlinear layer type </dd></dl>
590 </div>
591 </div>
592 <a class="anchor" id="ga7ac38ac27f861867ee84e038428d2139"></a>
593 <div class="memitem">
594 <div class="memproto">
595 <table class="memname">
596 <tr>
597 <td class="memname">int appCNNInteropCaffeNormLayerConvert </td>
598 <td>(</td>
599 <td class="paramtype"><a class="el" href="struct__timlConvNeuralNetwork__.html">timlConvNeuralNetwork</a> * </td>
600 <td class="paramname"><em>cnn</em>, </td>
601 </tr>
602 <tr>
603 <td class="paramkey"></td>
604 <td></td>
605 <td class="paramtype">LayerParameter </td>
606 <td class="paramname"><em>layerStructure</em>, </td>
607 </tr>
608 <tr>
609 <td class="paramkey"></td>
610 <td></td>
611 <td class="paramtype">LayerParameter </td>
612 <td class="paramname"><em>layerParam</em> </td>
613 </tr>
614 <tr>
615 <td></td>
616 <td>)</td>
617 <td></td><td></td>
618 </tr>
619 </table>
620 </div><div class="memdoc">
622 <p>Caffe norm layer conversion. </p>
623 <dl class="params"><dt>Parameters</dt><dd>
624 <table class="params">
625 <tr><td class="paramdir">[in]</td><td class="paramname">cnn</td><td>CNN </td></tr>
626 <tr><td class="paramdir">[in]</td><td class="paramname">layerStructure</td><td>Layer structure </td></tr>
627 <tr><td class="paramdir">[in]</td><td class="paramname">layerParam</td><td>Layer params </td></tr>
628 </table>
629 </dd>
630 </dl>
631 <dl class="section return"><dt>Returns</dt><dd>Error code </dd></dl>
633 </div>
634 </div>
635 <a class="anchor" id="gaa86fc855715a800c4e27a31159c39207"></a>
636 <div class="memitem">
637 <div class="memproto">
638 <table class="memname">
639 <tr>
640 <td class="memname">int appCNNInteropCaffePermuteMean </td>
641 <td>(</td>
642 <td class="paramtype">float * </td>
643 <td class="paramname"><em>mean</em>, </td>
644 </tr>
645 <tr>
646 <td class="paramkey"></td>
647 <td></td>
648 <td class="paramtype">int </td>
649 <td class="paramname"><em>row</em>, </td>
650 </tr>
651 <tr>
652 <td class="paramkey"></td>
653 <td></td>
654 <td class="paramtype">int </td>
655 <td class="paramname"><em>col</em>, </td>
656 </tr>
657 <tr>
658 <td class="paramkey"></td>
659 <td></td>
660 <td class="paramtype">int </td>
661 <td class="paramname"><em>channel</em> </td>
662 </tr>
663 <tr>
664 <td></td>
665 <td>)</td>
666 <td></td><td></td>
667 </tr>
668 </table>
669 </div><div class="memdoc">
671 <p>Permute the mean in the input layer from BGR sequence to RGB. </p>
672 <dl class="params"><dt>Parameters</dt><dd>
673 <table class="params">
674 <tr><td class="paramdir">[in]</td><td class="paramname">mean</td><td>Mean matrix </td></tr>
675 <tr><td class="paramdir">[in]</td><td class="paramname">row</td><td>Rows </td></tr>
676 <tr><td class="paramdir">[in]</td><td class="paramname">col</td><td>Cols </td></tr>
677 <tr><td class="paramdir">[in]</td><td class="paramname">channel</td><td>Channels </td></tr>
678 </table>
679 </dd>
680 </dl>
681 <dl class="section return"><dt>Returns</dt><dd>Error code </dd></dl>
683 </div>
684 </div>
685 <a class="anchor" id="gae61e927bb0b0fd6cca3dd1a45f8a1e62"></a>
686 <div class="memitem">
687 <div class="memproto">
688 <table class="memname">
689 <tr>
690 <td class="memname">int appCNNInteropCaffePoolingLayerConvert </td>
691 <td>(</td>
692 <td class="paramtype"><a class="el" href="struct__timlConvNeuralNetwork__.html">timlConvNeuralNetwork</a> * </td>
693 <td class="paramname"><em>cnn</em>, </td>
694 </tr>
695 <tr>
696 <td class="paramkey"></td>
697 <td></td>
698 <td class="paramtype">LayerParameter </td>
699 <td class="paramname"><em>layerStructure</em>, </td>
700 </tr>
701 <tr>
702 <td class="paramkey"></td>
703 <td></td>
704 <td class="paramtype">LayerParameter </td>
705 <td class="paramname"><em>layerParam</em> </td>
706 </tr>
707 <tr>
708 <td></td>
709 <td>)</td>
710 <td></td><td></td>
711 </tr>
712 </table>
713 </div><div class="memdoc">
715 <p>Caffe pooling layer conversion. </p>
716 <dl class="params"><dt>Parameters</dt><dd>
717 <table class="params">
718 <tr><td class="paramdir">[in]</td><td class="paramname">cnn</td><td>CNN </td></tr>
719 <tr><td class="paramdir">[in]</td><td class="paramname">layerStructure</td><td>Layer structure </td></tr>
720 <tr><td class="paramdir">[in]</td><td class="paramname">layerParam</td><td>Layer params </td></tr>
721 </table>
722 </dd>
723 </dl>
724 <dl class="section return"><dt>Returns</dt><dd>Error code </dd></dl>
726 </div>
727 </div>
728 <a class="anchor" id="ga3106ebef164cd39f0bc864c59c2c0a45"></a>
729 <div class="memitem">
730 <div class="memproto">
731 <table class="memname">
732 <tr>
733 <td class="memname">timlCNNPoolingType appCNNInteropCaffePoolingTypeConvert </td>
734 <td>(</td>
735 <td class="paramtype">PoolingParameter_PoolMethod </td>
736 <td class="paramname"><em>method</em></td><td>)</td>
737 <td></td>
738 </tr>
739 </table>
740 </div><div class="memdoc">
742 <p>Caffe pooling type conversion. </p>
743 <dl class="params"><dt>Parameters</dt><dd>
744 <table class="params">
745 <tr><td class="paramdir">[in]</td><td class="paramname">method</td><td>Caffe pooling method </td></tr>
746 </table>
747 </dd>
748 </dl>
749 <dl class="section return"><dt>Returns</dt><dd>TIML CNN pooling type </dd></dl>
751 </div>
752 </div>
753 <a class="anchor" id="gab530bd6ef77e6850fb50355ce85f8ff8"></a>
754 <div class="memitem">
755 <div class="memproto">
756 <table class="memname">
757 <tr>
758 <td class="memname">int appCNNInteropCaffeReadMean </td>
759 <td>(</td>
760 <td class="paramtype"><a class="el" href="struct__timlCNNLayer__.html">timlCNNLayer</a> * </td>
761 <td class="paramname"><em>layer</em>, </td>
762 </tr>
763 <tr>
764 <td class="paramkey"></td>
765 <td></td>
766 <td class="paramtype">const char * </td>
767 <td class="paramname"><em>fileName</em> </td>
768 </tr>
769 <tr>
770 <td></td>
771 <td>)</td>
772 <td></td><td></td>
773 </tr>
774 </table>
775 </div><div class="memdoc">
777 <p>Read Caffe mean binary file. </p>
778 <dl class="params"><dt>Parameters</dt><dd>
779 <table class="params">
780 <tr><td class="paramdir">[in]</td><td class="paramname">layer</td><td>Input layer ptr </td></tr>
781 <tr><td class="paramdir">[in]</td><td class="paramname">fileName</td><td>File name </td></tr>
782 </table>
783 </dd>
784 </dl>
785 <dl class="section return"><dt>Returns</dt><dd>Error code </dd></dl>
787 </div>
788 </div>
789 <a class="anchor" id="ga622145415a86ef826c3e8017fb478db6"></a>
790 <div class="memitem">
791 <div class="memproto">
792 <table class="memname">
793 <tr>
794 <td class="memname">bool appCNNInteropCaffeReadProtoFromBinaryFile </td>
795 <td>(</td>
796 <td class="paramtype">const char * </td>
797 <td class="paramname"><em>fileName</em>, </td>
798 </tr>
799 <tr>
800 <td class="paramkey"></td>
801 <td></td>
802 <td class="paramtype">Message * </td>
803 <td class="paramname"><em>proto</em> </td>
804 </tr>
805 <tr>
806 <td></td>
807 <td>)</td>
808 <td></td><td></td>
809 </tr>
810 </table>
811 </div><div class="memdoc">
813 <p>Caffe read proto from binary file. </p>
814 <dl class="params"><dt>Parameters</dt><dd>
815 <table class="params">
816 <tr><td class="paramdir">[in]</td><td class="paramname">fileName</td><td>File name </td></tr>
817 <tr><td class="paramdir">[in]</td><td class="paramname">proto</td><td>Proto </td></tr>
818 </table>
819 </dd>
820 </dl>
821 <dl class="section return"><dt>Returns</dt><dd>Status </dd></dl>
823 </div>
824 </div>
825 <a class="anchor" id="ga7052f4eb157d65957ad3fd2332438522"></a>
826 <div class="memitem">
827 <div class="memproto">
828 <table class="memname">
829 <tr>
830 <td class="memname">bool appCNNInteropCaffeReadProtoFromTextFile </td>
831 <td>(</td>
832 <td class="paramtype">const char * </td>
833 <td class="paramname"><em>fileName</em>, </td>
834 </tr>
835 <tr>
836 <td class="paramkey"></td>
837 <td></td>
838 <td class="paramtype">Message * </td>
839 <td class="paramname"><em>proto</em> </td>
840 </tr>
841 <tr>
842 <td></td>
843 <td>)</td>
844 <td></td><td></td>
845 </tr>
846 </table>
847 </div><div class="memdoc">
849 <p>Caffe read proto from text file. </p>
850 <dl class="params"><dt>Parameters</dt><dd>
851 <table class="params">
852 <tr><td class="paramdir">[in]</td><td class="paramname">fileName</td><td>File name </td></tr>
853 <tr><td class="paramdir">[in]</td><td class="paramname">proto</td><td>Proto </td></tr>
854 </table>
855 </dd>
856 </dl>
857 <dl class="section return"><dt>Returns</dt><dd>Status </dd></dl>
859 </div>
860 </div>
861 <a class="anchor" id="ga0ddf1224851353fc92bfbff6f499fa97"></a>
862 <div class="memitem">
863 <div class="memproto">
864 <table class="memname">
865 <tr>
866 <td class="memname">int main </td>
867 <td>(</td>
868 <td class="paramtype">int </td>
869 <td class="paramname"><em>argc</em>, </td>
870 </tr>
871 <tr>
872 <td class="paramkey"></td>
873 <td></td>
874 <td class="paramtype">char * </td>
875 <td class="paramname"><em>argv</em>[] </td>
876 </tr>
877 <tr>
878 <td></td>
879 <td>)</td>
880 <td></td><td></td>
881 </tr>
882 </table>
883 </div><div class="memdoc">
885 <p>Caffe to TIML CNN model converter. </p>
886 <p>argv[0] = program name argv[1] = saved timl CNN model file name argv[2] = Caffe model text file name argv[3] = Caffe model binary file name argv[4] = Caffe mean binary file name (optional) </p>
887 <dl class="section return"><dt>Returns</dt><dd>Error code </dd></dl>
889 </div>
890 </div>
891 </div><!-- contents -->
892 <!-- start footer part -->
893 <hr class="footer"/><address class="footer"><small>
894 Generated on Fri Mar 20 2015 11:26:08 for TIML by  <a href="http://www.doxygen.org/index.html">
895 <img class="footer" src="doxygen.png" alt="doxygen"/>
896 </a> 1.8.6
897 </small></address>
898 </body>
899 </html>