/* Train the CPU data set in Picat. This Picat model was created by Hakan Kjellerstrand, hakank@gmail.com See also my Picat page: http://www.hakank.org/picat/ */ import nn. import nn_hakank. main => go. go => Base = "cpu.arff", train_and_test(Base), nl. %% %% train_net(TrainFile, NetFile,NumInputs,Numoutput) %% %% This must be defined in order to train_and_test/2 to work. %% train_net/4 is called from train_and_test/2. %% train_net(TrainFile, NetFile,NumInputs,NumOutputs) => % {num_inputs, num_hidden_layers..., num_outputs} NN = new_nn({NumInputs,10,NumOutputs}), nn_set_activation_function_layer(NN,sigmoid,2), nn_set_activation_function_output(NN,linear), % NN = new_sparse_nn({NumInputs,15,NumOutputs}, 0.35), % nn_set_activation_function_hidden(NN, linear), % nn_set_activation_steepness_hidden(NN,0.9), % nn_train(NN,TrainFile,$[maxep(15_000), report(1000), derror(0.0), bfl(0.1), train_func(rprop), stop_func(stop_bit)]), nn_train(NN,TrainFile,$[maxep(5_000), report(1000), derror(0.01), train_func(rprop), scale(-1,1,-1,1)]), nn_save(NN,NetFile), nn_print(NN), nn_destroy_all.