function layer = globalMaxPooling3dLayer( NameValueArgs )
% globalMaxPooling3dLayer   3-D global max pooling layer
%
%   layer = globalMaxPooling3dLayer creates a global max pooling
%   layer that outputs the maximum value over the height, width, and depth 
%   dimensions of the 3-D input.
%
%   layer = globalMaxPooling3dLayer('Name', name) additionally
%   specifies the layer name.
%
%   Example:
%       % Create a 3-D global max pooling layer.
%
%       layer = globalMaxPooling3dLayer;
%
%   See also nnet.cnn.layer.GlobalMaxPooling3DLayer,
%   maxPooling3dLayer, averagePooling3dLayer, globalMaxPooling2dLayer.
%
%   <a href="matlab:helpview('deeplearning','list_of_layers')">List of Deep Learning Layers</a>

%   Copyright 2019-2021 The MathWorks, Inc.

arguments
    NameValueArgs.Name {iAssertValidLayerName} = ''
end

layer = nnet.cnn.layer.GlobalMaxPooling3DLayer(...
    nnet.internal.cnn.layer.GlobalMaxPooling3D(char(NameValueArgs.Name)));
end

function iAssertValidLayerName(name)
nnet.internal.cnn.layer.paramvalidation.validateLayerName(name);
end
