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

github.com/torch/nn.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/THNN/generic/SpatialFullConvolution.c')
-rw-r--r--lib/THNN/generic/SpatialFullConvolution.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/THNN/generic/SpatialFullConvolution.c b/lib/THNN/generic/SpatialFullConvolution.c
index 94a7fc1..fd33b60 100644
--- a/lib/THNN/generic/SpatialFullConvolution.c
+++ b/lib/THNN/generic/SpatialFullConvolution.c
@@ -127,6 +127,7 @@ void THNN_(SpatialFullConvolution_updateOutput)(
int nInputPlane = THTensor_(size)(weight,0);
int nOutputPlane = THTensor_(size)(weight,1);
+ input = THTensor_(newContiguous)(input);
int batch = 1;
if (input->nDimension == 3) {
// Force batch
@@ -224,6 +225,8 @@ void THNN_(SpatialFullConvolution_updateOutput)(
THTensor_(resize3d)(output, nOutputPlane, outputHeight, outputWidth);
THTensor_(resize3d)(input, nInputPlane, inputHeight, inputWidth);
}
+
+ THTensor_(free)(input);
}
void THNN_(SpatialFullConvolution_updateGradInput)(
@@ -244,6 +247,8 @@ void THNN_(SpatialFullConvolution_updateGradInput)(
int nInputPlane = THTensor_(size)(weight,0);
int nOutputPlane = THTensor_(size)(weight,1);
+ input = THTensor_(newContiguous)(input);
+ gradOutput = THTensor_(newContiguous)(gradOutput);
int batch = 1;
if (input->nDimension == 3) {
// Force batch
@@ -316,6 +321,9 @@ void THNN_(SpatialFullConvolution_updateGradInput)(
THTensor_(resize3d)(input, nInputPlane, inputHeight, inputWidth);
THTensor_(resize3d)(gradInput, nInputPlane, inputHeight, inputWidth);
}
+
+ THTensor_(free)(input);
+ THTensor_(free)(gradOutput);
}
@@ -339,6 +347,8 @@ void THNN_(SpatialFullConvolution_accGradParameters)(
int nInputPlane = THTensor_(size)(gradWeight,0);
int nOutputPlane = THTensor_(size)(gradWeight,1);
+ input = THTensor_(newContiguous)(input);
+ gradOutput = THTensor_(newContiguous)(gradOutput);
int batch = 1;
if (input->nDimension == 3) {
// Force batch
@@ -431,6 +441,9 @@ void THNN_(SpatialFullConvolution_accGradParameters)(
THTensor_(resize3d)(gradOutput, nOutputPlane, outputHeight, outputWidth);
THTensor_(resize3d)(input, nInputPlane, inputHeight, inputWidth);
}
+
+ THTensor_(free)(input);
+ THTensor_(free)(gradOutput);
}
#endif