]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - ti-machine-learning/ti-machine-learning.git/blobdiff - src/common/cnn/timlCNNFreePoolingLayer.c
1. Enable network state write/read
[ti-machine-learning/ti-machine-learning.git] / src / common / cnn / timlCNNFreePoolingLayer.c
diff --git a/src/common/cnn/timlCNNFreePoolingLayer.c b/src/common/cnn/timlCNNFreePoolingLayer.c
new file mode 100644 (file)
index 0000000..2a58fbc
--- /dev/null
@@ -0,0 +1,74 @@
+/******************************************************************************/\r
+/*!\r
+ * \file timlCNNFreePoolingLayer.c\r
+ */\r
+/* Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ *\r
+ *    Redistributions of source code must retain the above copyright\r
+ *    notice, this list of conditions and the following disclaimer.\r
+ *\r
+ *    Redistributions in binary form must reproduce the above copyright\r
+ *    notice, this list of conditions and the following disclaimer in the\r
+ *    documentation and/or other materials provided with the\r
+ *    distribution.\r
+ *\r
+ *    Neither the name of Texas Instruments Incorporated nor the names of\r
+ *    its contributors may be used to endorse or promote products derived\r
+ *    from this software without specific prior written permission.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\r
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\r
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\r
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\r
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\r
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\r
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\r
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\r
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\r
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\r
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+ *\r
+ ******************************************************************************/\r
+\r
+\r
+/*******************************************************************************\r
+ *\r
+ * INCLUDES\r
+ *\r
+ ******************************************************************************/\r
+\r
+#include "../api/timl.h"\r
+\r
+\r
+/******************************************************************************/\r
+/*!\r
+ * \ingroup       cnn\r
+ * \brief         Free pooling layer\r
+ * \param[in]     layer Layer ptr\r
+ * \return        Error code\r
+ */\r
+/******************************************************************************/\r
+\r
+int timlCNNFreePoolingLayer(timlCNNLayer *layer)\r
+{\r
+   if (layer->allocatorLevel != Util_AllocatorLevel3) {\r
+      if (layer->featureMap != NULL) {\r
+         timlUtilFreeAcc(layer->featureMap);\r
+         layer->featureMap = NULL;\r
+      }\r
+      if (layer->delta != NULL) {\r
+         timlUtilFreeAcc(layer->delta);\r
+         layer->delta = NULL;\r
+      }\r
+      if (layer->poolingParams.maxIndex != NULL) {\r
+         timlUtilFreeAcc(layer->poolingParams.maxIndex);\r
+         layer->poolingParams.maxIndex = NULL;\r
+      }\r
+   }\r
+\r
+   return 0;\r
+}\r