37 lines
1.0 KiB
Matlab
37 lines
1.0 KiB
Matlab
classdef PhaseSplit < dagnn.Filter
|
|
% Construct PhaseSplit in a way similar to Pooling, mightbe we could
|
|
% do it in a better and clean way.
|
|
properties
|
|
poolSize = [1 1]
|
|
end
|
|
|
|
methods
|
|
function outputs = forward(self, inputs, params)
|
|
outputs{1} = vl_nnphasesplit( inputs{1} ) ;
|
|
end
|
|
|
|
function [derInputs, derParams] = backward(self, inputs, params, derOutputs)
|
|
derInputs{1} = vl_nnphasesplit( inputs{1}, derOutputs{1} ) ;
|
|
derParams = {} ;
|
|
end
|
|
|
|
function kernelSize = getKernelSize(obj)
|
|
kernelSize = obj.poolSize ;
|
|
end
|
|
|
|
function outputSizes = getOutputSizes(obj, inputSizes)
|
|
%outputSizes = getOutputSizes@dagnn.Filter(obj, inputSizes) ;
|
|
outputSizes{1}(1) = inputSizes{1}(1)/8 ;
|
|
outputSizes{1}(2) = inputSizes{1}(2)/8;
|
|
outputSizes{1}(3) = inputSizes{1}(3)*64;
|
|
outputSizes{1}(4) = inputSizes{1}(4);
|
|
end
|
|
|
|
function obj = PhaseSplit(varargin)
|
|
%obj.load(varargin) ;
|
|
obj.pad = [0 0 0 0];
|
|
obj.stride = [8 8];
|
|
end
|
|
end
|
|
end
|