I am trying to begin with simple example,but, when i compile with optimisations (-march=native -mtune=natve -mavx2)(processor supports avx2) such program, in runtime it outputs:
double free or corruption (out)
Aborted (core dumped)
Without optimisations, all is ok. Is it compiler bug, or library needs some configurations on cmake build?
I am trying to begin with simple example,but, when i compile with optimisations (-march=native -mtune=natve -mavx2)(processor supports avx2) such program, in runtime it outputs: double free or corruption (out) Aborted (core dumped) Without optimisations, all is ok. Is it compiler bug, or library needs some configurations on cmake build?
include
include
include
include
include
include
include <opennn/opennn.h>
define inn 3
define hdn 6
define onn 1
using namespace std;using namespace opennn; int main(){srand(static_cast(time(nullptr)));
DataSet DS("data.csv",' ',false);
NeuralNetwork NN(NeuralNetwork::ProjectType::Classification, {inn,hdn,onn});
TrainingStrategy TS(&NN,&DS);
TS.set_loss_method(TrainingStrategy::LossMethod::MEAN_SQUARED_ERROR);
TS.set_optimization_method(TrainingStrategy::OptimizationMethod::QUASI_NEWTON_METHOD);
TS.perform_training();
const TestingAnalysis TA(&NN, &DS);
const Tensor<Index, 2>confusion = TA.calculate_confusion();
Tensor<type, 2>inputs(4,NN.get_inputs_number());
Tensor<type, 2>outputs(4,NN.get_outputs_number());
Tensor<Index, 1>inputs_dimensions=get_dimensions(inputs);
Tensor<Index,1>outputs_dimensions=get_dimensions(outputs);
inputs.setValues({{type(5.1),type(3.5),type(1.4)},{type(6.4),type(5.2),type(4.5)},{type(1.3),type(2.7),type(4.9)},{type(3.5),type(5.0),type(6.0)}});
outputs = NN.calculate_outputs(inputs.data(),inputs_dimensions);
cout << "\nInputs:\n" << inputs << endl;
cout << "\nOutputs:\n" << outputs << endl;
cout << "\nConfusion matrix:\n" << confusion << endl;
return 0;
}