Commit 91d4fa62 authored by Martin Beseda's avatar Martin Beseda

NEW: Neuron serialization example

parent d6807dde
//
// Created by martin on 7/15/18.
//
#include "ErrorFunctions.h"
//
// Created by martin on 7/15/18.
//
#ifndef INC_4NEURO_ERRORFUNCTION_H
#define INC_4NEURO_ERRORFUNCTION_H
class ErrorFunction {
};
#endif //INC_4NEURO_ERRORFUNCTION_H
//
// Created by martin on 7/15/18.
//
/**
* Test of the binary serialization
*/
#include <iostream>
#include <fstream>
#include <boost/archive/text_oarchive.hpp>
#include <boost/archive/text_iarchive.hpp>
#include "Neuron/Neuron.h"
#include "Neuron/NeuronLinear.h"
#include "Neuron/NeuronLogistic.h"
#include "Neuron/NeuronBinary.h"
#include "Neuron/NeuronTanh.h"
int main() {
NeuronLinear n(2, 3);
std::cout << n.get_potential() << " "
<< n.get_state() << " "
<< n.activation_function_get_parameter(0) << " "
<< n.activation_function_get_parameter(1) << std::endl;
std::ofstream ofs("stored_neuron.4n");
{
boost::archive::text_oarchive oa(ofs);
oa << n;
ofs.close();
}
NeuronLinear n2;
{
std::ifstream ifs("stored_neuron.4n");
boost::archive::text_iarchive ia(ifs);
ia >> n2;
ifs.close();
}
std::cout << n2.get_potential() << " "
<< n2.get_state() << " "
<< n2.activation_function_get_parameter(0) << " "
<< n2.activation_function_get_parameter(1) << std::endl;
NeuronLinear n3(0.62, 0.4);
std::cout << n3.get_potential() << " "
<< n3.get_state() << " "
<< n3.activation_function_get_parameter(0) << " "
<< n3.activation_function_get_parameter(1) << std::endl;
std::ofstream ofs2("stored_neuron2.4n");
{
boost::archive::text_oarchive oa(ofs2);
oa << n3;
ofs2.close();
}
NeuronLogistic n4;
{
std::ifstream ifs("stored_neuron2.4n");
boost::archive::text_iarchive ia(ifs);
ia >> n4;
ifs.close();
}
std::cout << n4.get_potential() << " "
<< n4.get_state() << " "
<< n4.activation_function_get_parameter(0) << " "
<< n4.activation_function_get_parameter(1) << std::endl;
NeuronTanh n5(0.5);
std::cout << n5.get_potential() << " "
<< n5.get_state() << " "
<< n5.activation_function_get_parameter(0) << std::endl;
std::ofstream ofs3("stored_neuron3.4n");
{
boost::archive::text_oarchive oa(ofs3);
oa << n5;
ofs3.close();
}
NeuronTanh n6;
{
std::ifstream ifs("stored_neuron3.4n");
boost::archive::text_iarchive ia(ifs);
ia >> n6;
ifs.close();
}
std::cout << n6.get_potential() << " "
<< n6.get_state() << " "
<< n6.activation_function_get_parameter(0) << std::endl;
NeuronBinary n7(0.71);
std::cout << n7.get_potential() << " "
<< n7.get_state() << " "
<< n7.activation_function_get_parameter(0) << std::endl;
std::ofstream ofs4("stored_neuron4.4n");
{
boost::archive::text_oarchive oa(ofs4);
oa << n7;
ofs4.close();
}
NeuronBinary n8;
{
std::ifstream ifs("stored_neuron4.4n");
boost::archive::text_iarchive ia(ifs);
ia >> n8;
ifs.close();
}
std::cout << n8.get_potential() << " "
<< n8.get_state() << " "
<< n8.activation_function_get_parameter(0) << std::endl;
return 0;
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment