[−][src]Struct radiate::models::neat::layers::gru::GRU
Fields
input_size: u32
memory_size: u32
output_size: u32
current_memory: Vec<f32>
current_output: Vec<f32>
f_gate: Dense
e_gate: Dense
o_gate: Dense
Methods
impl GRU
[src]
implement a simple GRU layer that can be added to the neat network
Trait Implementations
impl Clone for GRU
[src]
Implement clone for the neat neural network in order to facilitate proper crossover and mutation for the network
fn clone(&self) -> Self
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for GRU
[src]
impl<'de> Deserialize<'de> for GRU
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl Display for GRU
[src]
implement display for the GRU layer of the network
impl Genome<GRU, NeatEnvironment> for GRU where
GRU: Layer,
[src]
GRU: Layer,
in order for the GRU 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 GRU layers
fn crossover(
child: &GRU,
parent_two: &GRU,
env: &Arc<RwLock<NeatEnvironment>>,
crossover_rate: f32
) -> Option<GRU>
[src]
child: &GRU,
parent_two: &GRU,
env: &Arc<RwLock<NeatEnvironment>>,
crossover_rate: f32
) -> Option<GRU>
implement how to crossover two GRU layers
fn distance(one: &GRU, two: &GRU, env: &Arc<RwLock<NeatEnvironment>>) -> f32
[src]
get the distance between two GRU layers of the network
fn base(_: &mut E) -> T where
T: Sized,
[src]
T: Sized,
impl Layer for GRU
[src]
implement the layer trait for the GRU so it can be stored in the neat network
fn forward(&mut self, inputs: &Vec<f32>) -> Option<Vec<f32>>
[src]
implement the propagation function for the GRU layer
fn backward(
&mut self,
errors: &Vec<f32>,
learning_rate: f32
) -> Option<Vec<f32>>
[src]
&mut self,
errors: &Vec<f32>,
learning_rate: f32
) -> Option<Vec<f32>>
fn as_ref_any(&self) -> &dyn Any where
Self: Sized + 'static,
[src]
Self: Sized + 'static,
fn as_mut_any(&mut self) -> &mut dyn Any where
Self: Sized + 'static,
[src]
Self: Sized + 'static,
fn shape(&self) -> (usize, usize)
[src]
fn reset(&mut self)
[src]
fn add_tracer(&mut self)
[src]
fn remove_tracer(&mut self)
[src]
impl Send for GRU
[src]
These must be implemneted for the network or any type to be used within seperate threads. Because implementing the functions themselves is dangerious and unsafe and i'm not smart enough to do that from scratch, these "implmenetaions" will get rid of the error and realistically they don't need to be implemneted for the program to work
impl Serialize for GRU
[src]
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
impl Sync for GRU
[src]
Auto Trait Implementations
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: for<'de> Deserialize<'de>,
[src]
T: for<'de> 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<L> LayerClone for L where
L: 'static + Layer + Clone,
[src]
L: 'static + Layer + Clone,
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> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
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>,