Steganalysis/PhaseAwareNet_SRC/MatConvNet/matconvnet-1.0-beta20/matlab/+dagnn/PhaseSplit.m

37 lines
1.0 KiB
Mathematica
Raw Normal View History

2021-12-30 11:48:37 +00:00
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