pub struct ANN_MLP { /* private fields */ }Expand description
Artificial Neural Networks - Multi-Layer Perceptrons.
Unlike many other models in ML that are constructed and trained at once, in the MLP model these steps are separated. First, a network with the specified topology is created using the non-default constructor or the method ANN_MLP::create. All the weights are set to zeros. Then, the network is trained using a set of input and output vectors. The training procedure can be repeated more than once, that is, the weights can be adjusted based on the new training data.
Additional flags for StatModel::train are available: ANN_MLP::TrainFlags.
§See also
[ml_intro_ann]
Implementations§
Source§impl ANN_MLP
impl ANN_MLP
Sourcepub fn create() -> Result<Ptr<ANN_MLP>>
pub fn create() -> Result<Ptr<ANN_MLP>>
Creates empty model
Use StatModel::train to train the model, Algorithm::load<ANN_MLP>(filename) to load the pre-trained model. Note that the train method has optional flags: ANN_MLP::TrainFlags.
Sourcepub fn load(filepath: impl AsRef<OsStr>) -> Result<Ptr<ANN_MLP>>
pub fn load(filepath: impl AsRef<OsStr>) -> Result<Ptr<ANN_MLP>>
Loads and creates a serialized ANN from a file
Use ANN::save to serialize and store an ANN to disk. Load the ANN from this file again, by calling this function with the path to the file.
§Parameters
- filepath: path to serialized ANN
Trait Implementations§
Source§impl ANN_MLPTrait for ANN_MLP
impl ANN_MLPTrait for ANN_MLP
fn as_raw_mut_ANN_MLP(&mut self) -> *mut c_void
Source§fn set_train_method(
&mut self,
method: i32,
param1: f64,
param2: f64,
) -> Result<()>
fn set_train_method( &mut self, method: i32, param1: f64, param2: f64, ) -> Result<()>
Source§fn set_train_method_def(&mut self, method: i32) -> Result<()>
fn set_train_method_def(&mut self, method: i32) -> Result<()>
Source§fn set_activation_function(
&mut self,
typ: i32,
param1: f64,
param2: f64,
) -> Result<()>
fn set_activation_function( &mut self, typ: i32, param1: f64, param2: f64, ) -> Result<()>
Source§fn set_activation_function_def(&mut self, typ: i32) -> Result<()>
fn set_activation_function_def(&mut self, typ: i32) -> Result<()>
Source§fn set_layer_sizes(&mut self, _layer_sizes: &impl ToInputArray) -> Result<()>
fn set_layer_sizes(&mut self, _layer_sizes: &impl ToInputArray) -> Result<()>
Source§fn set_term_criteria(&mut self, val: TermCriteria) -> Result<()>
fn set_term_criteria(&mut self, val: TermCriteria) -> Result<()>
Source§fn set_backprop_weight_scale(&mut self, val: f64) -> Result<()>
fn set_backprop_weight_scale(&mut self, val: f64) -> Result<()>
Source§fn set_backprop_momentum_scale(&mut self, val: f64) -> Result<()>
fn set_backprop_momentum_scale(&mut self, val: f64) -> Result<()>
Source§fn set_rprop_dw0(&mut self, val: f64) -> Result<()>
fn set_rprop_dw0(&mut self, val: f64) -> Result<()>
Source§fn set_rprop_dw_plus(&mut self, val: f64) -> Result<()>
fn set_rprop_dw_plus(&mut self, val: f64) -> Result<()>
Source§fn set_rprop_dw_minus(&mut self, val: f64) -> Result<()>
fn set_rprop_dw_minus(&mut self, val: f64) -> Result<()>
Source§fn set_rprop_dw_min(&mut self, val: f64) -> Result<()>
fn set_rprop_dw_min(&mut self, val: f64) -> Result<()>
Source§fn set_rprop_dw_max(&mut self, val: f64) -> Result<()>
fn set_rprop_dw_max(&mut self, val: f64) -> Result<()>
Source§fn set_anneal_initial_t(&mut self, val: f64) -> Result<()>
fn set_anneal_initial_t(&mut self, val: f64) -> Result<()>
Source§fn set_anneal_final_t(&mut self, val: f64) -> Result<()>
fn set_anneal_final_t(&mut self, val: f64) -> Result<()>
Source§fn set_anneal_cooling_ratio(&mut self, val: f64) -> Result<()>
fn set_anneal_cooling_ratio(&mut self, val: f64) -> Result<()>
Source§fn set_anneal_ite_per_step(&mut self, val: i32) -> Result<()>
fn set_anneal_ite_per_step(&mut self, val: i32) -> Result<()>
Source§fn set_anneal_energy_rng(&mut self, rng: &impl RNGTraitConst) -> Result<()>
fn set_anneal_energy_rng(&mut self, rng: &impl RNGTraitConst) -> Result<()>
Source§impl ANN_MLPTraitConst for ANN_MLP
impl ANN_MLPTraitConst for ANN_MLP
fn as_raw_ANN_MLP(&self) -> *const c_void
Source§fn get_train_method(&self) -> Result<i32>
fn get_train_method(&self) -> Result<i32>
Source§fn get_layer_sizes(&self) -> Result<Mat>
fn get_layer_sizes(&self) -> Result<Mat>
Source§fn get_term_criteria(&self) -> Result<TermCriteria>
fn get_term_criteria(&self) -> Result<TermCriteria>
Source§fn get_backprop_weight_scale(&self) -> Result<f64>
fn get_backprop_weight_scale(&self) -> Result<f64>
Source§fn get_backprop_momentum_scale(&self) -> Result<f64>
fn get_backprop_momentum_scale(&self) -> Result<f64>
Source§fn get_rprop_dw0(&self) -> Result<f64>
fn get_rprop_dw0(&self) -> Result<f64>
Source§fn get_rprop_dw_plus(&self) -> Result<f64>
fn get_rprop_dw_plus(&self) -> Result<f64>
Source§fn get_rprop_dw_minus(&self) -> Result<f64>
fn get_rprop_dw_minus(&self) -> Result<f64>
Source§fn get_rprop_dw_min(&self) -> Result<f64>
fn get_rprop_dw_min(&self) -> Result<f64>
Source§fn get_rprop_dw_max(&self) -> Result<f64>
fn get_rprop_dw_max(&self) -> Result<f64>
Source§fn get_anneal_initial_t(&self) -> Result<f64>
fn get_anneal_initial_t(&self) -> Result<f64>
Source§fn get_anneal_final_t(&self) -> Result<f64>
fn get_anneal_final_t(&self) -> Result<f64>
Source§fn get_anneal_cooling_ratio(&self) -> Result<f64>
fn get_anneal_cooling_ratio(&self) -> Result<f64>
Source§fn get_anneal_ite_per_step(&self) -> Result<i32>
fn get_anneal_ite_per_step(&self) -> Result<i32>
fn get_weights(&self, layer_idx: i32) -> Result<Mat>
Source§impl AlgorithmTrait for ANN_MLP
impl AlgorithmTrait for ANN_MLP
Source§impl AlgorithmTraitConst for ANN_MLP
impl AlgorithmTraitConst for ANN_MLP
fn as_raw_Algorithm(&self) -> *const c_void
Source§fn write(&self, fs: &mut impl FileStorageTrait) -> Result<()>
fn write(&self, fs: &mut impl FileStorageTrait) -> Result<()>
Source§fn write_1(&self, fs: &mut impl FileStorageTrait, name: &str) -> Result<()>
fn write_1(&self, fs: &mut impl FileStorageTrait, name: &str) -> Result<()>
Source§fn empty(&self) -> Result<bool>
fn empty(&self) -> Result<bool>
Source§fn save(&self, filename: impl AsRef<OsStr>) -> Result<()>
fn save(&self, filename: impl AsRef<OsStr>) -> Result<()>
Source§fn get_default_name(&self) -> Result<String>
fn get_default_name(&self) -> Result<String>
Source§impl Boxed for ANN_MLP
impl Boxed for ANN_MLP
Source§unsafe fn from_raw(ptr: <ANN_MLP as OpenCVFromExtern>::ExternReceive) -> Self
unsafe fn from_raw(ptr: <ANN_MLP as OpenCVFromExtern>::ExternReceive) -> Self
Source§fn into_raw(self) -> <ANN_MLP as OpenCVTypeExternContainer>::ExternSendMut
fn into_raw(self) -> <ANN_MLP as OpenCVTypeExternContainer>::ExternSendMut
Source§fn as_raw(&self) -> <ANN_MLP as OpenCVTypeExternContainer>::ExternSend
fn as_raw(&self) -> <ANN_MLP as OpenCVTypeExternContainer>::ExternSend
Source§fn as_raw_mut(
&mut self,
) -> <ANN_MLP as OpenCVTypeExternContainer>::ExternSendMut
fn as_raw_mut( &mut self, ) -> <ANN_MLP as OpenCVTypeExternContainer>::ExternSendMut
impl Send for ANN_MLP
Source§impl StatModelTrait for ANN_MLP
impl StatModelTrait for ANN_MLP
fn as_raw_mut_StatModel(&mut self) -> *mut c_void
Source§fn train_with_data(
&mut self,
train_data: &Ptr<TrainData>,
flags: i32,
) -> Result<bool>
fn train_with_data( &mut self, train_data: &Ptr<TrainData>, flags: i32, ) -> Result<bool>
Source§fn train_with_data_def(&mut self, train_data: &Ptr<TrainData>) -> Result<bool>
fn train_with_data_def(&mut self, train_data: &Ptr<TrainData>) -> Result<bool>
Source§fn train(
&mut self,
samples: &impl ToInputArray,
layout: i32,
responses: &impl ToInputArray,
) -> Result<bool>
fn train( &mut self, samples: &impl ToInputArray, layout: i32, responses: &impl ToInputArray, ) -> Result<bool>
Source§impl StatModelTraitConst for ANN_MLP
impl StatModelTraitConst for ANN_MLP
fn as_raw_StatModel(&self) -> *const c_void
Source§fn get_var_count(&self) -> Result<i32>
fn get_var_count(&self) -> Result<i32>
fn empty(&self) -> Result<bool>
Source§fn is_trained(&self) -> Result<bool>
fn is_trained(&self) -> Result<bool>
Source§fn is_classifier(&self) -> Result<bool>
fn is_classifier(&self) -> Result<bool>
Source§fn calc_error(
&self,
data: &Ptr<TrainData>,
test: bool,
resp: &mut impl ToOutputArray,
) -> Result<f32>
fn calc_error( &self, data: &Ptr<TrainData>, test: bool, resp: &mut impl ToOutputArray, ) -> Result<f32>
Source§fn predict(
&self,
samples: &impl ToInputArray,
results: &mut impl ToOutputArray,
flags: i32,
) -> Result<f32>
fn predict( &self, samples: &impl ToInputArray, results: &mut impl ToOutputArray, flags: i32, ) -> Result<f32>
Source§fn predict_def(&self, samples: &impl ToInputArray) -> Result<f32>
fn predict_def(&self, samples: &impl ToInputArray) -> Result<f32>
Auto Trait Implementations§
impl !Sync for ANN_MLP
impl Freeze for ANN_MLP
impl RefUnwindSafe for ANN_MLP
impl Unpin for ANN_MLP
impl UnsafeUnpin for ANN_MLP
impl UnwindSafe for ANN_MLP
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<Mat> ModifyInplace for Matwhere
Mat: Boxed,
impl<Mat> ModifyInplace for Matwhere
Mat: Boxed,
Source§unsafe fn modify_inplace<Res>(
&mut self,
f: impl FnOnce(&Mat, &mut Mat) -> Res,
) -> Res
unsafe fn modify_inplace<Res>( &mut self, f: impl FnOnce(&Mat, &mut Mat) -> Res, ) -> Res
Mat or another similar object. By passing
a mutable reference to the Mat to this function your closure will get called with the read reference and a write references
to the same Mat. This is unsafe in a general case as it leads to having non-exclusive mutable access to the internal data,
but it can be useful for some performance sensitive operations. One example of an OpenCV function that allows such in-place
modification is imgproc::threshold. Read more