#! /usr/bin/env lua require("lfann") function eq(x, y) return math.abs(x - y) < 0.00001 end local net = fann.Net.create_shortcut{2, 1} net:set_callback() -- Disable logging net:set_cascade_candidate_change_fraction(0.1) assert(eq(net:get_cascade_candidate_change_fraction(), 0.1)) net:set_cascade_candidate_stagnation_epochs(5) assert(net:get_cascade_candidate_stagnation_epochs(5) == 5) net:set_cascade_output_change_fraction(0.2) assert(eq(net:get_cascade_output_change_fraction(), 0.2)) net:set_cascade_output_stagnation_epochs(10) assert(net:get_cascade_output_stagnation_epochs(10) == 10) net:set_cascade_weight_multiplier(0.359) assert(eq(net:get_cascade_weight_multiplier(), 0.359)) net:set_cascade_candidate_limit(800) assert(eq(net:get_cascade_candidate_limit(), 800)) net:set_cascade_max_cand_epochs(100) assert(net:get_cascade_max_cand_epochs() == 100) net:set_cascade_max_out_epochs(120) assert(net:get_cascade_max_out_epochs() == 120) net:set_cascade_min_out_epochs(20) assert(net:get_cascade_min_out_epochs() == 20) net:set_cascade_min_cand_epochs(30) assert(net:get_cascade_min_cand_epochs() == 30) net:set_cascade_activation_functions{fann.SIGMOID, fann.GAUSSIAN} local funcs = net:get_cascade_activation_functions() assert(funcs[1] == fann.SIGMOID) assert(funcs[2] == fann.GAUSSIAN) assert(#funcs == net:get_cascade_activation_functions_count()) net:set_cascade_num_candidate_groups(3) assert(net:get_cascade_num_candidate_groups(), 3) net:set_cascade_activation_steepnesses{0.5, 0.25, 0.75} local steps = net:get_cascade_activation_steepnesses() assert(eq(steps[1], 0.5), steps[1]) assert(eq(steps[2], 0.25)) assert(eq(steps[3], 0.75)) assert(#steps == net:get_cascade_activation_steepnesses_count()) net:cascade_train_on_file("train.data", 10, 1, 0.1) print("End.") if arg[1] == "mem" then io.read("*n") end