% Deep Learning Functions
%
% Training for Deep Learning
%   augmentedImageDatastore         - Generate batches of augmented image data
%   imageDataAugmenter              - Configure image data augmentation
%   dag2dlnetwork                   - Convert DAG/SeriesNetwork to dlnetwork
%   dlnetwork                       - Deep learning neural network
%   trainnet                        - Train a neural network
%   trainingOptions                 - Options for training a neural network
%
% Layers for Deep Learning
%   adaptiveAveragePooling2dLayer   - 2-D adaptive average pooling layer
%   additionLayer                   - Addition layer
%   attentionLayer                  - Attention layer
%   averagePooling1dLayer           - 1-D average pooling layer
%   averagePooling2dLayer           - 2-D average pooling layer
%   averagePooling3dLayer           - 3-D average pooling layer
%   batchNormalizationLayer         - Batch normalization layer
%   bilstmLayer                     - Bidirectional long short-term memory (biLSTM) layer
%   clippedReluLayer                - Clipped rectified linear unit (ReLU) layer
%   concatenationLayer              - Concatenation layer
%   convolution1dLayer              - 1-D convolution layer
%   convolution2dLayer              - 2-D convolution layer
%   convolution3dLayer              - 3-D convolution layer
%   crop2dLayer                     - 2-D crop layer 
%   crop3dLayer                     - 3-D crop layer 
%   crossChannelNormalizationLayer  - Local response normalization along channels
%   depthConcatenationLayer         - Depth concatenation layer
%   dropoutLayer                    - Dropout layer
%   eluLayer                        - Exponential linear unit (ELU) layer
%   embeddingConcatenationLayer     - Embedding concatenation layer
%   featureInputLayer               - Feature input layer
%   flattenLayer                    - Flatten layer
%   fullyConnectedLayer             - Fully connected layer
%   functionLayer                   - Function layer
%   geluLayer                       - Gaussian error linear unit (GELU) layer
%   globalAveragePooling1dLayer     - 1-D global average pooling layer
%   globalAveragePooling2dLayer     - 2-D global average pooling layer
%   globalAveragePooling3dLayer     - 3-D global average pooling layer
%   globalMaxPooling1dLayer         - 1-D global max pooling layer
%   globalMaxPooling2dLayer         - 2-D global max pooling layer
%   globalMaxPooling3dLayer         - 3-D global max pooling layer
%   groupedConvolution2dLayer       - 2-D grouped convolution layer
%   groupNormalizationLayer         - Group normalization layer
%   gruLayer                        - Gated recurrent unit (GRU) layer
%   gruProjectedLayer               - Gated recurrent unit (GRU) projected layer
%   imageInputLayer                 - Image input layer
%   image3dInputLayer               - 3-D image input layer
%   indexing1dLayer                 - 1-D indexing layer
%   inputLayer                      - Generic input layer
%   instanceNormalizationLayer      - Instance normalization layer
%   layerNormalizationLayer         - Layer normalization layer
%   leakyReluLayer                  - Leaky rectified linear unit (ReLU) layer
%   lstmLayer                       - Long short-term memory (LSTM) layer
%   lstmProjectedLayer              - Long short-term memory (LSTM) projected layer
%   maxPooling1dLayer               - 1-D max pooling layer
%   maxPooling2dLayer               - 2-D max pooling layer
%   maxPooling3dLayer               - 3-D max pooling layer
%   maxUnpooling2dLayer             - Max unpooling layer
%   multiplicationLayer             - Element-wise Multiplication layer
%   networkLayer                    - Network layer
%   neuralODELayer                  - Neural ODE Layer
%   positionEmbeddingLayer          - Position embedding layer
%   preluLayer                      - PReLU layer
%   reluLayer                       - Rectified linear unit (ReLU) layer
%   selfAttentionLayer              - Self attention layer
%   sequenceInputLayer              - Sequence input layer
%   sigmoidLayer                    - Sigmoid layer
%   sinusoidalPositionEncodingLayer - Sinusoidal position encoding layer
%   softmaxLayer                    - Softmax layer
%   spatialDropoutLayer             - Spatial dropout layer
%   swishLayer                      - Swish layer
%   tanhLayer                       - Hyperbolic tangent layer
%   transposedConv1dLayer           - 1-D transposed convolution layer
%   transposedConv2dLayer           - 2-D transposed convolution layer
%   transposedConv3dLayer           - 3-D transposed convolution layer
%
% Custom Layers for Deep Learning
%   checkLayer                          - Check layer validity
%   findPlaceholderLayers               - Find placeholder layers in a layer graph or layer array
%
% Network Architectures for Deep Learning
%   resnetNetwork                       - Create a 2-D residual network
%   resnet3dNetwork                     - Create a 3-D residual network
%
% Apps for Deep Learning
%   analyzeNetwork                      - Analyze deep learning networks
%   deepNetworkDesigner                 - Design and edit deep learning networks
%   experimentManager                   - Design and run experiments to train and compare deep learning networks
%   deepNetworkQuantizer                - Quantize deep learning networks for deployment
%
% Extract and Visualize Features, Predict Outcomes for Deep Learning
%   minibatchpredict                    - Compute minibatches of network outputs and concatenate the result
%   scores2label                        - Convert class scores to label
%   deepDreamImage                      - Visualize network features using Deep Dream
%   occlusionSensitivity                - Explain network predictions by occluding the inputs
%   imageLIME                           - Explain network predictions using LIME
%   gradCAM                             - Explain network predictions using Grad-CAM
%   confusionmat                        - Confusion matrix for classification algorithms
%   confusionchart                      - Plot a confusion matrix
%
% Using Pretrained Networks for Deep Learning
%   imagePretrainedNetwork              - Pretrained neural network for image classification or regression
%   importONNXFunction                  - Import neural network function from ONNX Format
%   importNetworkFromONNX               - Import pretrained networks from ONNX Format
%   exportONNXNetwork                   - Export neural networks to ONNX Format
%   importNetworkFromTensorFlow         - Import pretrained networks from TensorFlow 
%   exportNetworkToTensorFlow           - Export neural networks to TensorFlow
%   importNetworkFromPyTorch            - Import pretrained networks from PyTorch
%
% Compression for Deep Learning
%   taylorPrunableNetwork               - Prunable network based on first-order Taylor approximation
%   compressNetworkUsingProjection      - Compress deep learning network using projection
%   deepNetworkQuantizer                - Quantize deep learning networks for deployment
%   equalizeLayers                      - Equalize layer parameters of a network
%   quantizationDetails                 - Quantization details for a network
%   estimateNetworkMetrics              - Layer-wise metrics for a deep learning network
%
% Verification for Deep Learning
%   estimateNetworkOutputBounds         - Estimate network output bounds
%   isInNetworkDistribution             - Determine if data is within the distribution of the network
%   networkDistributionDiscriminator    - Deep learning distribution discriminator
%   verifyNetworkRobustness             - Verify adversarial robustness of a network
%
% Discouraged Functions
%   trainNetwork                        - Train a neural network
%   assembleNetwork                     - Assemble a neural network from pretrained layers
%   resnetLayers                        - Create a 2-D residual layerGraph
%   resnet3dLayers                      - Create a 3-D residual layerGraph
%   layerGraph                          - Create a layer graph
%   classificationLayer                 - Classification output layer for a neural network
%   regressionLayer                     - Regression output layer for a neural network
%   sequenceFoldingLayer                - Sequence folding layer
%   sequenceUnfoldingLayer              - Sequence unfolding layer
%   alexnet                             - Pretrained AlexNet convolutional neural network
%   darknet19                           - Pretrained DarkNet-19 convolutional neural network
%   darknet53                           - Pretrained DarkNet-53 convolutional neural network
%   densenet201                         - Pretrained DenseNet-201 convolutional neural network
%   googlenet                           - Pretrained GoogLeNet convolutional neural network
%   inceptionv3                         - Pretrained Inception-v3 convolutional neural network
%   inceptionresnetv2                   - Pretrained Inception-ResNet-v2 convolutional neural network
%   mobilenetv2                         - Pretrained MobileNetV2 convolutional neural network
%   nasnetmobile                        - Pretrained NASNet-Mobile convolutional neural network
%   nasnetlarge                         - Pretrained NASNet-Large convolutional neural network
%   resnet18                            - Pretrained ResNet-18 convolutional neural network
%   resnet50                            - Pretrained ResNet-50 convolutional neural network
%   resnet101                           - Pretrained ResNet-101 convolutional neural network
%   squeezenet                          - Pretrained SqueezeNet convolutional neural network
%   shufflenet                          - Pretrained ShuffleNet convolutional neural network
%   vgg16                               - Pretrained VGG-16 convolutional neural network
%   vgg19                               - Pretrained VGG-19 convolutional neural network
%   xception                            - Pretrained Xception convolutional neural network
%   importKerasLayers                   - Import neural network layers from Keras
%   importKerasNetwork                  - Import neural network models from Keras
%   importCaffeLayers                   - Import convolutional neural network layers from Caffe
%   importCaffeNetwork                  - Import convolutional neural network models from Caffe
%   importONNXLayers                    - Import neural network layers from ONNX Format
%   importONNXNetwork                   - Import neural network models from ONNX Format
%   importTensorFlowLayers              - Import neural network layers from TensorFlow 
%   importTensorFlowNetwork             - Import neural network models from TensorFlow

% Copyright 2015-2023 The MathWorks, Inc.
