/
init.c
198 lines (156 loc) · 5.51 KB
/
init.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
#include "TH.h"
#include "luaT.h"
#define torch_(NAME) TH_CONCAT_3(torch_, Real, NAME)
#define torch_Tensor TH_CONCAT_STRING_3(torch.,Real,Tensor)
#define nn_(NAME) TH_CONCAT_3(nn_, Real, NAME)
#include "generic/Square.c"
#include "THGenerateFloatTypes.h"
#include "generic/Sqrt.c"
#include "THGenerateFloatTypes.h"
#include "generic/Sigmoid.c"
#include "THGenerateFloatTypes.h"
#include "generic/SoftPlus.c"
#include "THGenerateFloatTypes.h"
#include "generic/Tanh.c"
#include "THGenerateFloatTypes.h"
#include "generic/SoftShrink.c"
#include "THGenerateFloatTypes.h"
#include "generic/Threshold.c"
#include "THGenerateFloatTypes.h"
#include "generic/PReLU.c"
#include "THGenerateFloatTypes.h"
#include "generic/RReLU.c"
#include "THGenerateFloatTypes.h"
#include "generic/SoftMax.c"
#include "THGenerateFloatTypes.h"
#include "generic/MSECriterion.c"
#include "THGenerateFloatTypes.h"
#include "generic/SmoothL1Criterion.c"
#include "THGenerateFloatTypes.h"
#include "generic/MarginCriterion.c"
#include "THGenerateFloatTypes.h"
#include "generic/SparseLinear.c"
#include "THGenerateFloatTypes.h"
#include "generic/TemporalConvolution.c"
#include "THGenerateFloatTypes.h"
#include "generic/TemporalSubSampling.c"
#include "THGenerateFloatTypes.h"
#include "generic/TemporalMaxPooling.c"
#include "THGenerateFloatTypes.h"
#include "generic/SpatialBatchNormalization.c"
#include "THGenerateFloatTypes.h"
#include "generic/unfold.c"
#include "THGenerateFloatTypes.h"
#include "generic/SpatialConvolution.c"
#include "THGenerateFloatTypes.h"
#include "generic/SpatialConvolutionLocal.c"
#include "THGenerateFloatTypes.h"
#include "generic/SpatialFullConvolution.c"
#include "THGenerateFloatTypes.h"
#include "generic/SpatialFullConvolutionMap.c"
#include "THGenerateFloatTypes.h"
#include "generic/SpatialConvolutionMap.c"
#include "THGenerateFloatTypes.h"
#include "generic/SpatialSubSampling.c"
#include "THGenerateFloatTypes.h"
#include "generic/SpatialMaxUnpooling.c"
#include "THGenerateFloatTypes.h"
#include "generic/SpatialFractionalMaxPooling.c"
#include "THGenerateFloatTypes.h"
#include "generic/VolumetricConvolution.c"
#include "THGenerateFloatTypes.h"
#include "generic/VolumetricConvolutionMM.c"
#include "THGenerateFloatTypes.h"
#include "generic/VolumetricFullConvolution.c"
#include "THGenerateFloatTypes.h"
#include "generic/VolumetricMaxPooling.c"
#include "THGenerateFloatTypes.h"
#include "generic/VolumetricMaxUnpooling.c"
#include "THGenerateFloatTypes.h"
#include "generic/VolumetricAveragePooling.c"
#include "THGenerateFloatTypes.h"
#include "generic/MultiMarginCriterion.c"
#include "THGenerateFloatTypes.h"
#include "generic/MultiLabelMarginCriterion.c"
#include "THGenerateFloatTypes.h"
#include "generic/SpatialUpSamplingNearest.c"
#include "THGenerateFloatTypes.h"
LUA_EXTERNC DLL_EXPORT int luaopen_libnn(lua_State *L);
int luaopen_libnn(lua_State *L)
{
lua_newtable(L);
lua_pushvalue(L, -1);
lua_setglobal(L, "nn");
nn_FloatSqrt_init(L);
nn_FloatSquare_init(L);
nn_FloatMSECriterion_init(L);
nn_FloatSmoothL1Criterion_init(L);
nn_FloatMarginCriterion_init(L);
nn_FloatSigmoid_init(L);
nn_FloatSoftMax_init(L);
nn_FloatSoftPlus_init(L);
nn_FloatTanh_init(L);
nn_FloatSoftShrink_init(L);
nn_FloatThreshold_init(L);
nn_FloatPReLU_init(L);
nn_FloatRReLU_init(L);
nn_FloatSparseLinear_init(L);
nn_FloatTemporalConvolution_init(L);
nn_FloatTemporalSubSampling_init(L);
nn_FloatTemporalMaxPooling_init(L);
nn_FloatSpatialBatchNormalization_init(L);
nn_FloatSpatialConvolution_init(L);
nn_FloatSpatialConvolutionLocal_init(L);
nn_FloatSpatialFullConvolution_init(L);
nn_FloatSpatialFullConvolutionMap_init(L);
nn_FloatSpatialConvolutionMap_init(L);
nn_FloatSpatialSubSampling_init(L);
nn_FloatSpatialMaxUnpooling_init(L);
nn_FloatSpatialFractionalMaxPooling_init(L);
nn_FloatVolumetricConvolution_init(L);
nn_FloatVolumetricConvolutionMM_init(L);
nn_FloatVolumetricFullConvolution_init(L);
nn_FloatVolumetricMaxPooling_init(L);
nn_FloatVolumetricMaxUnpooling_init(L);
nn_FloatVolumetricAveragePooling_init(L);
nn_FloatMultiMarginCriterion_init(L);
nn_FloatMultiLabelMarginCriterion_init(L);
nn_FloatSpatialUpSamplingNearest_init(L);
nn_DoubleSqrt_init(L);
nn_DoubleSquare_init(L);
nn_DoubleMSECriterion_init(L);
nn_DoubleSmoothL1Criterion_init(L);
nn_DoubleMarginCriterion_init(L);
nn_DoubleSigmoid_init(L);
nn_DoubleSoftMax_init(L);
nn_DoubleSoftPlus_init(L);
nn_DoubleTanh_init(L);
nn_DoubleSoftShrink_init(L);
nn_DoubleThreshold_init(L);
nn_DoublePReLU_init(L);
nn_DoubleRReLU_init(L);
nn_DoubleSparseLinear_init(L);
nn_DoubleTemporalConvolution_init(L);
nn_DoubleTemporalSubSampling_init(L);
nn_DoubleTemporalMaxPooling_init(L);
nn_DoubleSpatialBatchNormalization_init(L);
nn_DoubleSpatialMaxUnpooling_init(L);
nn_DoubleSpatialConvolution_init(L);
nn_DoubleSpatialConvolutionLocal_init(L);
nn_DoubleSpatialFullConvolution_init(L);
nn_DoubleSpatialFullConvolutionMap_init(L);
nn_DoubleSpatialFullConvolution_init(L);
nn_DoubleSpatialConvolutionMap_init(L);
nn_DoubleSpatialSubSampling_init(L);
nn_DoubleSpatialFractionalMaxPooling_init(L);
nn_DoubleVolumetricConvolution_init(L);
nn_DoubleVolumetricConvolutionMM_init(L);
nn_DoubleVolumetricFullConvolution_init(L);
nn_DoubleVolumetricMaxPooling_init(L);
nn_DoubleVolumetricMaxUnpooling_init(L);
nn_DoubleVolumetricAveragePooling_init(L);
nn_DoubleMultiMarginCriterion_init(L);
nn_DoubleMultiLabelMarginCriterion_init(L);
nn_DoubleSpatialUpSamplingNearest_init(L);
return 1;
}