diff --git a/src/examples/CMakeLists.txt b/src/examples/CMakeLists.txt index 141fcb458c5409c1f76e7f9c0518d7fca25e0c54..36be7ddec6020e572ee56f404211baa3f184d251 100644 --- a/src/examples/CMakeLists.txt +++ b/src/examples/CMakeLists.txt @@ -32,6 +32,8 @@ target_link_libraries(test_harmonic_oscilator PUBLIC lib4neuro) add_executable(simulator simulator.cpp) target_link_libraries(simulator PUBLIC lib4neuro) +add_executable(x2_fitting x2_fitting.cpp) +target_link_libraries(x2_fitting PUBLIC lib4neuro) set_target_properties( test_cases @@ -44,6 +46,7 @@ set_target_properties( test_harmonic_oscilator seminar simulator + x2_fitting PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib/" @@ -110,4 +113,10 @@ target_include_directories( simulator PRIVATE ${ROOT_DIR}/include +) + +target_include_directories( + x2_fitting + PRIVATE + ${ROOT_DIR}/include ) \ No newline at end of file diff --git a/src/examples/x2_fitting.cpp b/src/examples/x2_fitting.cpp index eb90e39be4b52d3db06fae29ed8ddef1181f9a7a..739aefb5297a080461668f11972db6cfb1ed0ecb 100644 --- a/src/examples/x2_fitting.cpp +++ b/src/examples/x2_fitting.cpp @@ -2,3 +2,31 @@ // Created by martin on 17.1.19. // +#include <iostream> + +#include "4neuro.h" + +int main() { + + l4n::CSVReader reader("/home/martin/4Neuro/src/examples/x2_data.txt", "\t", true); + reader.read(); + + std::vector<unsigned int> input_ind = {0}; + std::vector<unsigned int> output_ind = {1}; + l4n::DataSet ds = reader.get_data_set(&input_ind, &output_ind); + + std::vector<unsigned int> neuron_numbers_in_layers = {1, 15, 1}; + std::vector<l4n::NEURON_TYPE> hidden_type_v = {l4n::NEURON_TYPE::LOGISTIC}; + l4n::FullyConnectedFFN net(&neuron_numbers_in_layers, &hidden_type_v); + + l4n::MSE mse(&net, &ds); + + l4n::GradientDescent gs(1e-5, 20, 200); + + net.randomize_parameters(); + gs.optimize(mse); + + mse.eval_on_data_set(&ds); + + return 0; +} \ No newline at end of file