Type Alias fann_sys::fann_callback_type
source · pub type fann_callback_type = Option<extern "C" fn(ann: *mut fann, train: *mut fann_train_data, max_epochs: c_uint, epochs_between_reports: c_uint, desired_error: c_float, epochs: c_uint) -> c_int>;
Expand description
This callback function can be called during training when using fann_train_on_data
,
fann_train_on_file
or fann_cascadetrain_on_data
.
The callback can be set by using fann_set_callback
and is very useful for doing custom
things during training. It is recommended to use this function when implementing custom
training procedures, or when visualizing the training in a GUI etc. The parameters which the
callback function takes are the parameters given to fann_train_on_data
, plus an epochs
parameter which tells how many epochs the training has taken so far.
The callback function should return an integer, if the callback function returns -1, the training will terminate.
Example of a callback function:
extern crate libc;
extern crate fann_sys;
use libc::*;
use fann_sys::*;
extern "C" fn cb(ann: *mut fann,
train: *mut fann_train_data,
max_epochs: c_uint,
epochs_between_reports: c_uint,
desired_error: c_float,
epochs: c_uint) -> c_int {
let mut mse = unsafe { fann_get_MSE(ann) };
println!("Epochs: {}. MSE: {}. Desired MSE: {}", epochs, mse, desired_error);
0
}
fn main() {
let test_callback: fann_callback_type = Some(cb);
}
Aliased Type§
enum fann_callback_type {
None,
Some(extern "C" fn(_: *mut fann, _: *mut fann_train_data, _: u32, _: u32, _: f32, _: u32) -> i32),
}