10 std::cout <<
"Vanilla AutoEncoder Training:\n";
11 std::vector<std::vector<double>> ae_training_data = {{1, 0, 0},
14 ae.train(ae_training_data, 1000);
17 std::cout <<
"\nTesting Vanilla AutoEncoder:\n";
18 std::vector<double> test_input = {1, 1, 0};
19 std::vector<double> output = ae.forward(test_input);
20 std::cout <<
"Autoencoder Output:\n";
21 for (
double val : output) {
22 std::cout << val <<
" ";
28 std::cout <<
"\n\nSparse AutoEncoder Training:\n";
29 std::vector<std::vector<double>> ae_training_data_sparse = {{1, 0, 0},
32 sparse_ae.train(ae_training_data_sparse, 1000);
38 std::cout <<
"\nDenoising AutoEncoder Training:\n";
39 denoise_ae.train(ae_training_data, 1000);
45 std::cout <<
"\nContractive AutoEncoder Training:\n";
46 contractive_ae.train(ae_training_data, 1000);
47 contractive_ae.display();
52 std::cout <<
"\nRecurrent AutoEncoder Training:\n";
53 std::vector<std::vector<double>> recurrent_ae_training_data = {{1, 0, 0},
56 recurrent_ae.train(recurrent_ae_training_data, 1000);
57 recurrent_ae.display();
A simple implementation of a vanilla autoencoder.
ContractiveAutoEncoder class, a derived class from AutoEncoder.
DenoisingAutoEncoder class, a derived class from AutoEncoder.
RecurrentAutoEncoder class, a derived class from AutoEncoder.
SparseAutoEncoder class, a derived class from AutoEncoder.