Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/clementfarabet/lua---nnx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClement Farabet <clement.farabet@gmail.com>2011-07-11 01:37:08 +0400
committerClement Farabet <clement.farabet@gmail.com>2011-07-11 01:37:08 +0400
commitd27f41fbb8fe401d5bdd30ae7f550dedfd7be69b (patch)
treefa54ed6ce2a0863c6f15277e045b3c018fdf5913
parent2cd92a9591e849dfd3330dfb13abf7fe9977b597 (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.c6
-rw-r--r--init.lua2
-rw-r--r--nnx-1.0-1.rockspec2
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);
}
diff --git a/init.c b/init.c
index 51123f6..89f387d 100644
--- a/init.c
+++ b/init.c
@@ -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);
diff --git a/init.lua b/init.lua
index 0161ba5..ae4f350 100644
--- a/init.lua
+++ b/init.lua
@@ -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)