summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'debian/ti-timl/usr/share/ti/examples/timl/app/cnn/interop/caffe/appCNNInteropCaffeReadMean.cpp')
-rw-r--r--debian/ti-timl/usr/share/ti/examples/timl/app/cnn/interop/caffe/appCNNInteropCaffeReadMean.cpp83
1 files changed, 83 insertions, 0 deletions
diff --git a/debian/ti-timl/usr/share/ti/examples/timl/app/cnn/interop/caffe/appCNNInteropCaffeReadMean.cpp b/debian/ti-timl/usr/share/ti/examples/timl/app/cnn/interop/caffe/appCNNInteropCaffeReadMean.cpp
new file mode 100644
index 0000000..73624b0
--- /dev/null
+++ b/debian/ti-timl/usr/share/ti/examples/timl/app/cnn/interop/caffe/appCNNInteropCaffeReadMean.cpp
@@ -0,0 +1,83 @@
1/******************************************************************************/
2/*!
3 * \file appCNNInteropCaffeReadMean.cpp
4 */
5/* Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 *
11 * Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer.
13 *
14 * Redistributions in binary form must reproduce the above copyright
15 * notice, this list of conditions and the following disclaimer in the
16 * documentation and/or other materials provided with the
17 * distribution.
18 *
19 * Neither the name of Texas Instruments Incorporated nor the names of
20 * its contributors may be used to endorse or promote products derived
21 * from this software without specific prior written permission.
22 *
23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
26 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
27 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
28 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
29 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
30 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
31 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRIC * \param[in] m Rows
32 * \param[in] n ColsT LIABILITY, OR TORT
33 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35 *
36 ******************************************************************************/
37
38
39/*******************************************************************************
40 *
41 * INCLUDES
42 *
43 ******************************************************************************/
44
45#include "appCNNInteropCaffe.hpp"
46
47
48/******************************************************************************/
49/*!
50 * \ingroup appCNNInteropCaffe
51 * \brief Read Caffe mean binary file
52 * \param[in] layer Input layer ptr
53 * \param[in] fileName File name
54 * \return Error code
55 */
56/******************************************************************************/
57
58int appCNNInteropCaffeReadMean(timlCNNLayer *layer, const char *fileName)
59{
60 BlobProto blob;
61 int i;
62 int row;
63 int col;
64 int channel;
65
66 appCNNInteropCaffeReadProtoFromBinaryFile(fileName, &blob);
67 channel = blob.channels();
68 row = blob.height();
69 col = blob.width();
70
71 timlUtilFree(layer->inputParams.mean);
72 timlUtilMalloc((void**)&(layer->inputParams.mean), sizeof(float)*row*col*channel);
73 layer->inputParams.row = row;
74 layer->inputParams.col = col;
75 layer->inputParams.channel = channel;
76
77 for (i = 0; i < channel*col*row; i++) {
78 layer->inputParams.mean[i] = blob.data(i);
79 }
80 appCNNInteropCaffePermuteMean(layer->inputParams.mean, row, col, channel);
81
82 return 0;
83}