diff options
Diffstat (limited to 'init.c')
-rw-r--r-- | init.c | 163 |
1 files changed, 163 insertions, 0 deletions
@@ -0,0 +1,163 @@ +#include "TH.h" +#include "luaT.h" + +#define torch_(NAME) TH_CONCAT_3(torch_, Real, NAME) +#define torch_string_(NAME) TH_CONCAT_STRING_3(torch., Real, NAME) +#define nn_(NAME) TH_CONCAT_3(nn_, Real, NAME) + +static const void* torch_FloatTensor_id = NULL; +static const void* torch_DoubleTensor_id = NULL; + +#include "generic/Square.c" +#include "THGenerateFloatTypes.h" + +#include "generic/Sqrt.c" +#include "THGenerateFloatTypes.h" + +#include "generic/HardTanh.c" +#include "THGenerateFloatTypes.h" + +#include "generic/Exp.c" +#include "THGenerateFloatTypes.h" + +#include "generic/LogSigmoid.c" +#include "THGenerateFloatTypes.h" + +#include "generic/LogSoftMax.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/Abs.c" +#include "THGenerateFloatTypes.h" + +#include "generic/HardShrink.c" +#include "THGenerateFloatTypes.h" + +#include "generic/SoftShrink.c" +#include "THGenerateFloatTypes.h" + +#include "generic/Threshold.c" +#include "THGenerateFloatTypes.h" + +#include "generic/SoftMax.c" +#include "THGenerateFloatTypes.h" + +#include "generic/Max.c" +#include "THGenerateFloatTypes.h" + +#include "generic/Min.c" +#include "THGenerateFloatTypes.h" + +#include "generic/MSECriterion.c" +#include "THGenerateFloatTypes.h" + +#include "generic/AbsCriterion.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/SpatialConvolution.c" +#include "THGenerateFloatTypes.h" + +#include "generic/SpatialConvolutionMap.c" +#include "THGenerateFloatTypes.h" + +#include "generic/SpatialSubSampling.c" +#include "THGenerateFloatTypes.h" + +#include "generic/SpatialMaxPooling.c" +#include "THGenerateFloatTypes.h" + +#include "generic/VolumetricConvolution.c" +#include "THGenerateFloatTypes.h" + +#include "generic/MultiMarginCriterion.c" +#include "THGenerateFloatTypes.h" + +#include "generic/MultiLabelMarginCriterion.c" +#include "THGenerateFloatTypes.h" + +DLL_EXPORT int luaopen_libnn(lua_State *L) +{ + torch_FloatTensor_id = luaT_checktypename2id(L, "torch.FloatTensor"); + torch_DoubleTensor_id = luaT_checktypename2id(L, "torch.DoubleTensor"); + + lua_newtable(L); + lua_pushvalue(L, -1); + lua_setfield(L, LUA_GLOBALSINDEX, "nn"); + + nn_FloatMin_init(L); + nn_FloatMax_init(L); + nn_FloatExp_init(L); + nn_FloatSqrt_init(L); + nn_FloatSquare_init(L); + nn_FloatHardTanh_init(L); + nn_FloatLogSoftMax_init(L); + nn_FloatMSECriterion_init(L); + nn_FloatAbsCriterion_init(L); + nn_FloatLogSigmoid_init(L); + nn_FloatSigmoid_init(L); + nn_FloatSoftMax_init(L); + nn_FloatSoftPlus_init(L); + nn_FloatTanh_init(L); + nn_FloatAbs_init(L); + nn_FloatHardShrink_init(L); + nn_FloatSoftShrink_init(L); + nn_FloatThreshold_init(L); + nn_FloatSparseLinear_init(L); + nn_FloatTemporalConvolution_init(L); + nn_FloatTemporalSubSampling_init(L); + nn_FloatSpatialConvolution_init(L); + nn_FloatSpatialConvolutionMap_init(L); + nn_FloatSpatialSubSampling_init(L); + nn_FloatSpatialMaxPooling_init(L); + nn_FloatVolumetricConvolution_init(L); + nn_FloatMultiMarginCriterion_init(L); + nn_FloatMultiLabelMarginCriterion_init(L); + + nn_DoubleMin_init(L); + nn_DoubleMax_init(L); + nn_DoubleExp_init(L); + nn_DoubleSqrt_init(L); + nn_DoubleSquare_init(L); + nn_DoubleHardTanh_init(L); + nn_DoubleLogSoftMax_init(L); + nn_DoubleMSECriterion_init(L); + nn_DoubleAbsCriterion_init(L); + nn_DoubleLogSigmoid_init(L); + nn_DoubleSigmoid_init(L); + nn_DoubleSoftMax_init(L); + nn_DoubleSoftPlus_init(L); + nn_DoubleTanh_init(L); + nn_DoubleAbs_init(L); + nn_DoubleHardShrink_init(L); + nn_DoubleSoftShrink_init(L); + nn_DoubleThreshold_init(L); + nn_DoubleSparseLinear_init(L); + nn_DoubleTemporalConvolution_init(L); + nn_DoubleTemporalSubSampling_init(L); + nn_DoubleSpatialConvolution_init(L); + nn_DoubleSpatialConvolutionMap_init(L); + nn_DoubleSpatialSubSampling_init(L); + nn_DoubleSpatialMaxPooling_init(L); + nn_DoubleVolumetricConvolution_init(L); + nn_DoubleMultiMarginCriterion_init(L); + nn_DoubleMultiLabelMarginCriterion_init(L); + + return 1; +} |