From 035863d94fb41b48ccd0babf7055c6bb719bbf8f Mon Sep 17 00:00:00 2001 From: soumith Date: Fri, 19 Dec 2014 23:30:08 -0800 Subject: lint fixes (80 columns) --- VolumetricConvolution.lua | 58 ++++++++++++++++++++++++++++++----------------- 1 file changed, 37 insertions(+), 21 deletions(-) (limited to 'VolumetricConvolution.lua') diff --git a/VolumetricConvolution.lua b/VolumetricConvolution.lua index 05a08d4..74857e2 100644 --- a/VolumetricConvolution.lua +++ b/VolumetricConvolution.lua @@ -1,8 +1,12 @@ -local VolumetricConvolution, parent = torch.class('cudnn.VolumetricConvolution', 'nn.VolumetricConvolution') +local VolumetricConvolution, parent + = torch.class('cudnn.VolumetricConvolution', 'nn.VolumetricConvolution') local ffi = require 'ffi' local errcheck = cudnn.errcheck -function VolumetricConvolution:__init(nInputPlane, nOutputPlane, kT, kW, kH, dT, dW, dH, padT, padW, padH) +function VolumetricConvolution:__init(nInputPlane, nOutputPlane, + kT, kW, kH, + dT, dW, dH, + padT, padW, padH) parent.__init(self, nInputPlane, nOutputPlane, kT, kW, kH, dT, dW, dH) self.padT = padT or 0 self.padW = padW or 0 @@ -13,12 +17,15 @@ end -- if you change the configuration of the module manually, call this function VolumetricConvolution:resetWeightDescriptors() - assert(torch.typename(self.weight) == 'torch.CudaTensor', 'Only Cuda supported duh!') - assert(torch.typename(self.bias) == 'torch.CudaTensor', 'Only Cuda supported duh!') + assert(torch.typename(self.weight) == 'torch.CudaTensor', + 'Only Cuda supported duh!') + assert(torch.typename(self.bias) == 'torch.CudaTensor', + 'Only Cuda supported duh!') -- create filterDescriptor for weight self.weightDesc = ffi.new('struct cudnnFilterStruct*[1]') errcheck('cudnnCreateFilterDescriptor', self.weightDesc) - local desc = torch.IntTensor({self.nOutputPlane, self.nInputPlane, self.kT, self.kH, self.kW}) + local desc = torch.IntTensor({self.nOutputPlane, self.nInputPlane, + self.kT, self.kH, self.kW}) errcheck('cudnnSetFilterNdDescriptor', self.weightDesc[0], 'CUDNN_DATA_FLOAT', 5, desc:data()); @@ -28,13 +35,15 @@ function VolumetricConvolution:resetWeightDescriptors() ffi.gc(self.weightDesc, destroyWDesc) -- create descriptor for bias - self.biasDesc = cudnn.toDescriptor(self.bias:view(1, self.nOutputPlane, 1, 1)) + self.biasDesc = cudnn.toDescriptor(self.bias:view(1, self.nOutputPlane, + 1, 1)) end function VolumetricConvolution:createIODescriptors(input) local batch = true if input:dim() == 4 then - input = input:view(1, input:size(1), input:size(2), input:size(3), input:size(4)) + input = input:view(1, input:size(1), input:size(2), + input:size(3), input:size(4)) batch = false end assert(input:dim() == 5 and input:isContiguous()); @@ -53,7 +62,8 @@ function VolumetricConvolution:createIODescriptors(input) local pad = torch.IntTensor({self.padT, self.padH, self.padW}) local stride = torch.IntTensor({self.dT, self.dH, self.dW}) local upscale = torch.IntTensor({1,1,1}) - errcheck('cudnnSetConvolutionNdDescriptor', self.convDesc[0], 3, pad:data(), + errcheck('cudnnSetConvolutionNdDescriptor', self.convDesc[0], + 3, pad:data(), stride:data(), upscale:data(), 'CUDNN_CROSS_CORRELATION'); local function destroyConvDesc(d) errcheck('cudnnDestroyConvolutionDescriptor', d[0]); @@ -63,28 +73,31 @@ function VolumetricConvolution:createIODescriptors(input) -- create output descriptor and resize output local oSize = torch.IntTensor(5) local oSizeD = oSize:data() - errcheck('cudnnGetConvolutionNdForwardOutputDim', self.convDesc[0], self.iDesc[0], + errcheck('cudnnGetConvolutionNdForwardOutputDim', + self.convDesc[0], self.iDesc[0], self.weightDesc[0], 5, oSizeD) self.output:resize(oSize:long():storage()) -- create descriptor for output self.oDesc = cudnn.toDescriptor(self.output) - self.oDescBias = cudnn.toDescriptor(self.output:view(self.output:size(1), - self.output:size(2), - self.output:size(3) - *self.output:size(4), - self.output:size(5))) + self.oDescBias = cudnn.toDescriptor( + self.output:view(self.output:size(1), + self.output:size(2), + self.output:size(3)*self.output:size(4), + self.output:size(5))) -- create forwardAlgorithm descriptors for local algType = ffi.new("cudnnConvolutionFwdAlgo_t[?]", 1) errcheck('cudnnGetConvolutionForwardAlgorithm', cudnn.handle[cutorch.getDevice()-1], - self.iDesc[0], self.weightDesc[0], self.convDesc[0], self.oDesc[0], - 'CUDNN_CONVOLUTION_FWD_PREFER_FASTEST', -1, algType) + self.iDesc[0], self.weightDesc[0], self.convDesc[0], + self.oDesc[0], 'CUDNN_CONVOLUTION_FWD_PREFER_FASTEST', + -1, algType) self.algType = algType local bufSize = torch.LongTensor(1) errcheck('cudnnGetConvolutionForwardWorkspaceSize', cudnn.handle[cutorch.getDevice()-1], - self.iDesc[0], self.weightDesc[0], self.convDesc[0], self.oDesc[0], + self.iDesc[0], self.weightDesc[0], + self.convDesc[0], self.oDesc[0], algType[0], bufSize:data()) self.extraBuffer = self.extraBuffer or input.new(1) if bufSize[1] ~= 0 then self.extraBuffer:resize(bufSize[1]) end @@ -116,8 +129,9 @@ function VolumetricConvolution:updateOutput(input) self.extraBuffer:data(), self.extraBuffer:nElement(), zero:data(), self.oDesc[0], self.output:data()); - errcheck('cudnnAddTensor', cudnn.handle[cutorch.getDevice()-1], 'CUDNN_ADD_SAME_C', - one:data(), self.biasDesc[0], self.bias:data(), one:data(), + errcheck('cudnnAddTensor', cudnn.handle[cutorch.getDevice()-1], + 'CUDNN_ADD_SAME_C', one:data(), + self.biasDesc[0], self.bias:data(), one:data(), self.oDescBias[0], self.output:data()); return self.output end @@ -140,7 +154,8 @@ end function VolumetricConvolution:accGradParameters(input, gradOutput, scale) self.scaleT = self.scaleT or torch.FloatTensor(1):fill(1.0) - self.scaleT = self.scaleT:float() -- this line forces this member to always be on CPU (needed for cudnn) + -- this line forces this member to always be on CPU (needed for cudnn) + self.scaleT = self.scaleT:float() scale = scale or 1.0 self.scaleT[1] = scale @@ -155,7 +170,8 @@ function VolumetricConvolution:accGradParameters(input, gradOutput, scale) one:data(), self.biasDesc[0], self.gradBias:data()); -- gradWeight - errcheck('cudnnConvolutionBackwardFilter', cudnn.handle[cutorch.getDevice()-1], + errcheck('cudnnConvolutionBackwardFilter', + cudnn.handle[cutorch.getDevice()-1], self.scaleT:data(), self.iDesc[0], input:data(), self.oDesc[0], gradOutput:data(), -- cgit v1.2.3