diff options
author | Clement Farabet <clement.farabet@gmail.com> | 2011-07-11 01:37:08 +0400 |
---|---|---|
committer | Clement Farabet <clement.farabet@gmail.com> | 2011-07-11 01:37:08 +0400 |
commit | d27f41fbb8fe401d5bdd30ae7f550dedfd7be69b (patch) | |
tree | fa54ed6ce2a0863c6f15277e045b3c018fdf5913 | |
parent | 2cd92a9591e849dfd3330dfb13abf7fe9977b597 (diff) |
Renamed SpatialConvolutionTable -> SpatialConvolutionSparse
-rw-r--r-- | SpatialConvolutionSparse.lua (renamed from SpatialConvolutionTable.lua) | 29 | ||||
-rw-r--r-- | generic/SpatialConvolutionSparse.c (renamed from generic/SpatialConvolutionTable.c) | 16 | ||||
-rw-r--r-- | init.c | 6 | ||||
-rw-r--r-- | init.lua | 2 | ||||
-rw-r--r-- | nnx-1.0-1.rockspec | 2 |
5 files changed, 27 insertions, 28 deletions
diff --git a/SpatialConvolutionTable.lua b/SpatialConvolutionSparse.lua index eb15e28..5545af3 100644 --- a/SpatialConvolutionTable.lua +++ b/SpatialConvolutionSparse.lua @@ -1,4 +1,4 @@ -local SpatialConvolutionTable, parent = torch.class('nn.SpatialConvolutionTable', 'nn.Module') +local SpatialConvolutionSparse, parent = torch.class('nn.SpatialConvolutionSparse', 'nn.Module') local help_desc = [[Applies a 2D convolution over an input image composed of @@ -30,8 +30,7 @@ local help_example = [[-- create a filter bank with 8 inputs, 32 outputs, and -- random connections with a fanin of 4, filters are 9x9 stimulus = lab.randn(8,500,500) -randTable = nn.SpatialConvolutionTable:RandomTable(8,32,4) -mod = nn.SpatialConvolutionTable(randTable, 9, 9) +mod = nn.SpatialConvolutionSparse(nn.tables.random(8,32,4), 9, 9) result = mod:forward(stimulus)]] nn.tables = nn.tables or {} @@ -88,12 +87,12 @@ function nn.tables.random(nin, nout, nto) return tbl end -function SpatialConvolutionTable:__init(conMatrix, kW, kH, dW, dH) +function SpatialConvolutionSparse:__init(conMatrix, kW, kH, dW, dH) parent.__init(self) -- usage if not conMatrix or not kW or not kH or type(conMatrix) ~= 'userdata' then - error(xlua.usage('nn.SpatialConvolutionTable', help_desc, help_example, + error(xlua.usage('nn.SpatialConvolutionSparse', help_desc, help_example, {type='torch.Tensor', help='a Nx2 array, N being the number of kernels', req=true}, {type='number', help='kernel width', req=true}, @@ -121,7 +120,7 @@ function SpatialConvolutionTable:__init(conMatrix, kW, kH, dW, dH) self:reset() end -function SpatialConvolutionTable:reset(stdv) +function SpatialConvolutionSparse:reset(stdv) if stdv then stdv = stdv * math.sqrt(3) self.weight:apply(function() @@ -144,17 +143,17 @@ function SpatialConvolutionTable:reset(stdv) end end -function SpatialConvolutionTable:forward(input) - input.nn.SpatialConvolutionTable_forward(self, input) +function SpatialConvolutionSparse:forward(input) + input.nn.SpatialConvolutionSparse_forward(self, input) return self.output end -function SpatialConvolutionTable:backward(input, gradOutput) - input.nn.SpatialConvolutionTable_backward(self, input, gradOutput) +function SpatialConvolutionSparse:backward(input, gradOutput) + input.nn.SpatialConvolutionSparse_backward(self, input, gradOutput) return self.gradInput end -function SpatialConvolutionTable:zeroGradParameters(momentum) +function SpatialConvolutionSparse:zeroGradParameters(momentum) if momentum then self.gradWeight:mul(momentum) self.gradBias:mul(momentum) @@ -164,17 +163,17 @@ function SpatialConvolutionTable:zeroGradParameters(momentum) end end -function SpatialConvolutionTable:updateParameters(learningRate) +function SpatialConvolutionSparse:updateParameters(learningRate) self.weight:add(-learningRate, self.gradWeight) self.bias:add(-learningRate, self.gradBias) end -function SpatialConvolutionTable:decayParameters(decay) +function SpatialConvolutionSparse:decayParameters(decay) self.weight:add(-decay, self.weight) self.bias:add(-decay, self.bias) end -function SpatialConvolutionTable:write(file) +function SpatialConvolutionSparse:write(file) parent.write(self, file) file:writeInt(self.kW) file:writeInt(self.kH) @@ -189,7 +188,7 @@ function SpatialConvolutionTable:write(file) file:writeObject(self.connTable) end -function SpatialConvolutionTable:read(file) +function SpatialConvolutionSparse:read(file) parent.read(self, file) self.kW = file:readInt() self.kH = file:readInt() diff --git a/generic/SpatialConvolutionTable.c b/generic/SpatialConvolutionSparse.c index cda0d62..c888d11 100644 --- a/generic/SpatialConvolutionTable.c +++ b/generic/SpatialConvolutionSparse.c @@ -1,8 +1,8 @@ #ifndef TH_GENERIC_FILE -#define TH_GENERIC_FILE "generic/SpatialConvolutionTable.c" +#define TH_GENERIC_FILE "generic/SpatialConvolutionSparse.c" #else -static int nn_(SpatialConvolutionTable_forward)(lua_State *L) +static int nn_(SpatialConvolutionSparse_forward)(lua_State *L) { THTensor *input = luaT_checkudata(L, 2, torch_(Tensor_id)); int kW = luaT_getfieldcheckint(L, 1, "kW"); @@ -61,7 +61,7 @@ static int nn_(SpatialConvolutionTable_forward)(lua_State *L) return 1; } -static int nn_(SpatialConvolutionTable_backward)(lua_State *L) +static int nn_(SpatialConvolutionSparse_backward)(lua_State *L) { THTensor *input = luaT_checkudata(L, 2, torch_(Tensor_id)); THTensor *gradOutput = luaT_checkudata(L, 3, torch_(Tensor_id)); @@ -131,16 +131,16 @@ static int nn_(SpatialConvolutionTable_backward)(lua_State *L) return 1; } -static const struct luaL_Reg nn_(SpatialConvolutionTable__) [] = { - {"SpatialConvolutionTable_forward", nn_(SpatialConvolutionTable_forward)}, - {"SpatialConvolutionTable_backward", nn_(SpatialConvolutionTable_backward)}, +static const struct luaL_Reg nn_(SpatialConvolutionSparse__) [] = { + {"SpatialConvolutionSparse_forward", nn_(SpatialConvolutionSparse_forward)}, + {"SpatialConvolutionSparse_backward", nn_(SpatialConvolutionSparse_backward)}, {NULL, NULL} }; -static void nn_(SpatialConvolutionTable_init)(lua_State *L) +static void nn_(SpatialConvolutionSparse_init)(lua_State *L) { luaT_pushmetaclass(L, torch_(Tensor_id)); - luaT_registeratname(L, nn_(SpatialConvolutionTable__), "nn"); + luaT_registeratname(L, nn_(SpatialConvolutionSparse__), "nn"); lua_pop(L,1); } @@ -18,7 +18,7 @@ static const void* torch_DoubleTensor_id = NULL; #include "generic/SpatialLinear.c" #include "THGenerateFloatTypes.h" -#include "generic/SpatialConvolutionTable.c" +#include "generic/SpatialConvolutionSparse.c" #include "THGenerateFloatTypes.h" #include "generic/SpatialMaxPooling.c" @@ -63,7 +63,7 @@ DLL_EXPORT int luaopen_libnnx(lua_State *L) nn_FloatHardShrink_init(L); nn_FloatAbs_init(L); nn_FloatThreshold_init(L); - nn_FloatSpatialConvolutionTable_init(L); + nn_FloatSpatialConvolutionSparse_init(L); nn_FloatSpatialLogSoftMax_init(L); nn_FloatSpatialMaxPooling_init(L); nn_FloatSpatialUpSampling_init(L); @@ -79,7 +79,7 @@ DLL_EXPORT int luaopen_libnnx(lua_State *L) nn_DoubleHardShrink_init(L); nn_DoubleAbs_init(L); nn_DoubleThreshold_init(L); - nn_DoubleSpatialConvolutionTable_init(L); + nn_DoubleSpatialConvolutionSparse_init(L); nn_DoubleSpatialLogSoftMax_init(L); nn_DoubleSpatialMaxPooling_init(L); nn_DoubleSpatialUpSampling_init(L); @@ -72,7 +72,7 @@ torch.include('nnx', 'Replicate.lua') -- spatial (images) operators: torch.include('nnx', 'SpatialLinear.lua') torch.include('nnx', 'SpatialLogSoftMax.lua') -torch.include('nnx', 'SpatialConvolutionTable.lua') +torch.include('nnx', 'SpatialConvolutionSparse.lua') torch.include('nnx', 'SpatialMaxPooling.lua') torch.include('nnx', 'SpatialPadding.lua') torch.include('nnx', 'SpatialNormalization.lua') diff --git a/nnx-1.0-1.rockspec b/nnx-1.0-1.rockspec index 16be7c0..40aa155 100644 --- a/nnx-1.0-1.rockspec +++ b/nnx-1.0-1.rockspec @@ -65,7 +65,7 @@ build = { install_files(/lua/nnx Sqrt.lua) install_files(/lua/nnx Threshold.lua) install_files(/lua/nnx OmpModule.lua) - install_files(/lua/nnx SpatialConvolutionTable.lua) + install_files(/lua/nnx SpatialConvolutionSparse.lua) install_files(/lua/nnx SpatialLogSoftMax.lua) install_files(/lua/nnx SpatialMaxPooling.lua) install_files(/lua/nnx SpatialLinear.lua) |