[−][src]Struct radiate::models::neat::neatenv::NeatEnvironment
Configuation settings for the NeatAlgorithm
weight_mutate_rate: the probability of uniformly perturbing a connection weight or assigning a new random value weight_perturb: the uniform range to perturb a weight by will go from negative num to pos (if you enter 5, it will pertub a weight randomly between -5 and 5) new_node_rate: the probability of adding a new node to the network new_edge_rate: the probability of adding a new edge to the network edit_weights: the probability of weights in the network being edited or just left alone reactivate: the probability of reactivating a connection between two neurons
Fields
weight_mutate_rate: Option<f32>
weight_perturb: Option<f32>
new_node_rate: Option<f32>
new_edge_rate: Option<f32>
edit_weights: Option<f32>
reactivate: Option<f32>
input_size: Option<u32>
output_size: Option<u32>
activation_functions: Vec<Activation>
Methods
impl NeatEnvironment
[src]
pub fn new() -> Self
[src]
pub fn set_weight_mutate_rate(self, num: f32) -> Self
[src]
pub fn set_weight_perturb(self, num: f32) -> Self
[src]
pub fn set_new_node_rate(self, num: f32) -> Self
[src]
pub fn set_new_edge_rate(self, num: f32) -> Self
[src]
pub fn set_edit_weights(self, num: f32) -> Self
[src]
pub fn set_reactivate(self, num: f32) -> Self
[src]
pub fn set_input_size(self, num: u32) -> Self
[src]
pub fn set_output_size(self, num: u32) -> Self
[src]
pub fn set_activation_functions(self, funcs: Vec<Activation>) -> Self
[src]
Trait Implementations
impl Clone for NeatEnvironment
[src]
fn clone(&self) -> NeatEnvironment
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for NeatEnvironment
[src]
impl Default for NeatEnvironment
[src]
impl<'de> Deserialize<'de> for NeatEnvironment
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl Envionment for NeatEnvironment
[src]
impl Genome<Dense, NeatEnvironment> for Dense where
Dense: Layer,
[src]
Dense: Layer,
fn crossover(
child: &Dense,
parent_two: &Dense,
env: &Arc<RwLock<NeatEnvironment>>,
crossover_rate: f32
) -> Option<Dense>
[src]
child: &Dense,
parent_two: &Dense,
env: &Arc<RwLock<NeatEnvironment>>,
crossover_rate: f32
) -> Option<Dense>
fn distance(one: &Dense, two: &Dense, _: &Arc<RwLock<NeatEnvironment>>) -> f32
[src]
fn base(_: &mut E) -> T where
T: Sized,
[src]
T: Sized,
impl Genome<LSTM, NeatEnvironment> for LSTM where
LSTM: Layer,
[src]
LSTM: Layer,
in order for the lstm layer to be evolved along with the rest of the network, Genome must be implemented so that the layer can be crossed over and measured along with other lstm layers
fn crossover(
child: &LSTM,
parent_two: &LSTM,
env: &Arc<RwLock<NeatEnvironment>>,
crossover_rate: f32
) -> Option<LSTM>
[src]
child: &LSTM,
parent_two: &LSTM,
env: &Arc<RwLock<NeatEnvironment>>,
crossover_rate: f32
) -> Option<LSTM>
implement how to crossover two LSTM layers
fn distance(one: &LSTM, two: &LSTM, env: &Arc<RwLock<NeatEnvironment>>) -> f32
[src]
get the distance between two LSTM layers of the network
fn base(_: &mut E) -> T where
T: Sized,
[src]
T: Sized,
impl Genome<Neat, NeatEnvironment> for Neat
[src]
iplement genome for a neat network
fn crossover(
one: &Neat,
two: &Neat,
env: &Arc<RwLock<NeatEnvironment>>,
crossover_rate: f32
) -> Option<Neat>
[src]
one: &Neat,
two: &Neat,
env: &Arc<RwLock<NeatEnvironment>>,
crossover_rate: f32
) -> Option<Neat>
fn base(env: &mut NeatEnvironment) -> Neat
[src]
fn distance(one: &Neat, two: &Neat, env: &Arc<RwLock<NeatEnvironment>>) -> f32
[src]
impl Send for NeatEnvironment
[src]
impl Serialize for NeatEnvironment
[src]
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
impl Sync for NeatEnvironment
[src]
Auto Trait Implementations
impl RefUnwindSafe for NeatEnvironment
impl Unpin for NeatEnvironment
impl UnwindSafe for NeatEnvironment
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: Deserialize<'de>,
[src]
T: Deserialize<'de>,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Serialize for T where
T: Serialize + ?Sized,
[src]
T: Serialize + ?Sized,
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<Ok, Error>
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,