1 /*\r
2 * timlCNNSetBatchSize.c\r
3 *\r
4 * Created on: Apr 9, 2015\r
5 * Author: a0282871\r
6 */\r
7 \r
8 \r
9 #include "../api/timl.h"\r
10 \r
11 \r
12 /******************************************************************************/\r
13 /*!\r
14 * \ingroup cnn\r
15 * \brief Reset the parameters of the CNN\r
16 * \param[in,out] cnn CNN\r
17 * \return Error code\r
18 */\r
19 /******************************************************************************/\r
20 \r
21 int timlCNNSetBatchSize(timlConvNeuralNetwork *cnn, int batchSize)\r
22 {\r
23 if (cnn == NULL) {\r
24 return ERROR_CNN_NULL_PTR;\r
25 }\r
26 cnn->params.batchSize = batchSize;\r
27 timlCNNLayer *layer = cnn->head;\r
28 \r
29 while (layer != NULL) {\r
30 switch (layer->type) {\r
31 case CNN_Input:\r
32 layer->batchSize = batchSize;\r
33 break;\r
34 case CNN_Dropout:\r
35 layer->batchSize = layer->prev->batchSize;\r
36 break;\r
37 case CNN_Conv:\r
38 layer->batchSize = layer->prev->batchSize;\r
39 break;\r
40 case CNN_Norm:\r
41 layer->batchSize = layer->prev->batchSize;\r
42 break;\r
43 case CNN_Pooling:\r
44 layer->batchSize = layer->prev->batchSize;\r
45 break;\r
46 case CNN_Linear:\r
47 layer->batchSize = layer->prev->batchSize;\r
48 break;\r
49 case CNN_Nonlinear:\r
50 layer->batchSize = layer->prev->batchSize;\r
51 break;\r
52 case CNN_Accuracy:\r
53 layer->batchSize = layer->prev->batchSize;\r
54 break;\r
55 case CNN_SoftmaxCost:\r
56 layer->batchSize = layer->prev->batchSize;\r
57 break;\r
58 default:\r
59 break;\r
60 }\r
61 layer = layer->next;\r
62 }\r
63 \r
64 return 0;\r
65 }\r