mlpack
Functions
feedforward_network_test.cpp File Reference
#include <mlpack/core.hpp>
#include <mlpack/methods/ann/layer/layer.hpp>
#include <mlpack/methods/ann/loss_functions/mean_squared_error.hpp>
#include <mlpack/methods/ann/ffn.hpp>
#include <ensmallen.hpp>
#include "catch.hpp"
#include "serialization.hpp"
#include "custom_layer.hpp"
Include dependency graph for feedforward_network_test.cpp:

Functions

template<typename MatType = arma::mat, typename ModelType >
void TestNetwork (ModelType &model, MatType &trainData, MatType &trainLabels, MatType &testData, MatType &testLabels, const size_t maxEpochs, const double classificationErrorThreshold)
 Train and evaluate a model with the specified structure.
 
template<typename MatType = arma::mat, typename ModelType >
void CheckCopyFunction (ModelType *network1, MatType &trainData, MatType &trainLabels, const size_t maxEpochs)
 
template<typename MatType = arma::mat, typename ModelType >
void CheckMoveFunction (ModelType *network1, MatType &trainData, MatType &trainLabels, const size_t maxEpochs)
 
 TEST_CASE ("CheckCopyMovingVanillaNetworkTest", "[FeedForwardNetworkTest]")
 Check whether copying and moving Vanila network is working or not.
 
 TEST_CASE ("CheckCopyMovingReparametrizationNetworkTest", "[FeedForwardNetworkTest]")
 Check whether copying and moving network with Reparametrization is working or not.
 
 TEST_CASE ("CheckCopyMovingLinear3DNetworkTest", "[FeedForwardNetworkTest]")
 Check whether copying and moving network with linear3d is working or not.
 
 TEST_CASE ("CheckCopyMovingNoisyLinearTest", "[FeedForwardNetworkTest]")
 Check whether copying and moving of Noisy Linear layer is working or not.
 
 TEST_CASE ("CheckCopyMovingConcatenateTest", "[FeedForwardNetworkTest]")
 Check whether copying and moving of concatenate layer is working or not.
 
 TEST_CASE ("CheckCopyMovingDropoutNetworkTest", "[FeedForwardNetworkTest]")
 Check whether copying and moving of Dropout network is working or not.
 
 TEST_CASE ("FFVanillaNetworkTest", "[FeedForwardNetworkTest]")
 Train the vanilla network on a larger dataset.
 
 TEST_CASE ("ForwardBackwardTest", "[FeedForwardNetworkTest]")
 
 TEST_CASE ("DropoutNetworkTest", "[FeedForwardNetworkTest]")
 Train the dropout network on a larger dataset.
 
 TEST_CASE ("HighwayNetworkTest", "[FeedForwardNetworkTest]")
 Train the highway network on a larger dataset.
 
 TEST_CASE ("DropConnectNetworkTest", "[FeedForwardNetworkTest]")
 Train the DropConnect network on a larger dataset.
 
 TEST_CASE ("FFNMiscTest", "[FeedForwardNetworkTest]")
 Test miscellaneous things of FFN, e.g. More...
 
 TEST_CASE ("FFSerializationTest", "[FeedForwardNetworkTest]")
 Test that serialization works ok.
 
 TEST_CASE ("CustomLayerTest", "[FeedForwardNetworkTest]")
 Test if the custom layers work. More...
 
 TEST_CASE ("PartialForwardTest", "[FeedForwardNetworkTest]")
 Test the overload of Forward function which allows partial forward pass.
 
 TEST_CASE ("FFNTrainReturnObjective", "[FeedForwardNetworkTest]")
 Test that FFN::Train() returns finite objective value.
 
 TEST_CASE ("FFNReturnModel", "[FeedForwardNetworkTest]")
 Test that FFN::Model() allows us to access the instantiated network.
 
 TEST_CASE ("OptimizerTest", "[FeedForwardNetworkTest]")
 Test to see if the FFN code compiles when the Optimizer doesn't have the MaxIterations() method.
 
 TEST_CASE ("FFNCheckInputShapeTest", "[FeedForwardNetworkTest]")
 Test to see if an exception is thrown when input with wrong shape is provided to a FFN.
 

Detailed Description

Author
Marcus Edel
Palash Ahuja

Tests the feed forward network.

mlpack is free software; you may redistribute it and/or modify it under the terms of the 3-clause BSD license. You should have received a copy of the 3-clause BSD license along with mlpack. If not, see http://www.opensource.org/licenses/BSD-3-Clause for more information.

Function Documentation

◆ TEST_CASE() [1/2]

TEST_CASE ( "FFNMiscTest"  ,
""  [FeedForwardNetworkTest] 
)

Test miscellaneous things of FFN, e.g.

copy/move constructor, assignment operator.

◆ TEST_CASE() [2/2]

TEST_CASE ( "CustomLayerTest"  ,
""  [FeedForwardNetworkTest] 
)

Test if the custom layers work.

The target is to see if the code compiles when the Train and Prediction are called.