[mlpack-git] [mlpack/mlpack] Error compiling test program (#562)
Abhinav Gupta
notifications at github.com
Sat Apr 2 15:01:16 EDT 2016
Hii @rcurtin , @zoq ,
I'm trying to compile the test cases as independent programs with
`g++ -std=c++11 -l mlpack -l armadillo -l boost_serialization -l boost_program_options Neural_network_using_mlpack.cpp`
where Neural_network_using_mlpack.cpp is:
`#include <mlpack/core.hpp>
#include <mlpack/methods/ann/activation_functions/logistic_function.hpp>
#include <mlpack/methods/ann/activation_functions/tanh_function.hpp>
#include <mlpack/methods/ann/init_rules/random_init.hpp>
#include <mlpack/methods/ann/layer/bias_layer.hpp>
#include <mlpack/methods/ann/layer/linear_layer.hpp>
#include <mlpack/methods/ann/layer/base_layer.hpp>
#include <mlpack/methods/ann/layer/dropout_layer.hpp>
#include <mlpack/methods/ann/layer/binary_classification_layer.hpp>
#include <mlpack/methods/ann/ffn.hpp>
#include <mlpack/methods/ann/performance_functions/mse_function.hpp>
#include <mlpack/core/optimizers/rmsprop/rmsprop.hpp>
using namespace mlpack;
using namespace mlpack::ann;
using namespace mlpack::optimization;
template<
typename PerformanceFunction,
typename OutputLayerType,
typename PerformanceFunctionType,
typename MatType = arma::mat
>
void BuildNetwork(MatType& trainData,
MatType& trainLabels,
MatType& testData,
MatType& testLabels,
const size_t hiddenLayerSize,
const size_t maxEpochs,
const double classificationErrorThreshold)
{
LinearLayer<> inputLayer(trainData.n_rows, hiddenLayerSize);
BiasLayer<> inputBiasLayer(hiddenLayerSize);
BaseLayer<PerformanceFunction> inputBaseLayer;
LinearLayer<> hiddenLayer1(hiddenLayerSize, trainLabels.n_rows);
BiasLayer<> hiddenBiasLayer1(trainLabels.n_rows);
BaseLayer<PerformanceFunction> outputLayer;
OutputLayerType classOutputLayer;
auto modules = std::tie(inputLayer, inputBiasLayer, inputBaseLayer,
hiddenLayer1, hiddenBiasLayer1, outputLayer);
FFN<decltype(modules), decltype(classOutputLayer), RandomInitialization,
PerformanceFunctionType> net(modules, classOutputLayer);
RMSprop<decltype(net)> opt(net, 0.01, 0.88, 1e-8,
maxEpochs * trainData.n_cols, 1e-18);
std::cout<<"Success"<<std::endl;
net.Train(trainData, trainLabels, opt);
MatType prediction;
net.Predict(testData, prediction);
size_t error = 0;
for (size_t i = 0; i < testData.n_cols; i++)
{
if (arma::sum(arma::sum(
arma::abs(prediction.col(i) - testLabels.col(i)))) == 0)
{
error++;
}
}
double classificationError = 1 - double(error) / testData.n_cols;
}
int main()
{
arma::mat dataset;
data::Load("thyroid_train.csv", dataset, true);
arma::mat trainData = dataset.submat(0, 0, dataset.n_rows - 4,
dataset.n_cols - 1);
arma::mat trainLabels = dataset.submat(dataset.n_rows - 3, 0,
dataset.n_rows - 1, dataset.n_cols - 1);
data::Load("thyroid_test.csv", dataset, true);
arma::mat testData = dataset.submat(0, 0, dataset.n_rows - 4,
dataset.n_cols - 1);
arma::mat testLabels = dataset.submat(dataset.n_rows - 3, 0,
dataset.n_rows - 1, dataset.n_cols - 1);
BuildNetwork<LogisticFunction,
BinaryClassificationLayer,
MeanSquaredErrorFunction>
(trainData, trainLabels, testData, testLabels, 8, 200, 0.1);
return 0;
}`
I'm getting a somewhat similar error as is mentioned by tpBull in his first comment in this thread.
I'hv installed mlpack on my system. Please can you guide me a little on this.
---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/mlpack/mlpack/issues/562#issuecomment-204782112
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.cc.gatech.edu/pipermail/mlpack-git/attachments/20160402/cd19895f/attachment.html>
More information about the mlpack-git
mailing list