fann_sys::fann_callback_type
[−]
[src]
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>;
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); }