pub struct GraphCodex<T>{
pub input_size: usize,
pub output_size: usize,
pub factory: Rc<RefCell<NodeFactory<T>>>,
pub nodes: Vec<Node<T>>,
}Fields§
§input_size: usize§output_size: usize§factory: Rc<RefCell<NodeFactory<T>>>§nodes: Vec<Node<T>>Implementations§
Source§impl<T> GraphCodex<T>
impl<T> GraphCodex<T>
pub fn from_factory(factory: &NodeFactory<T>) -> Self
pub fn from_shape( input_size: usize, output_size: usize, factory: &NodeFactory<T>, ) -> Self
pub fn from_nodes(nodes: Vec<Node<T>>, factory: &NodeFactory<T>) -> Self
pub fn set_nodes<F>(self, node_fn: F) -> Self
pub fn set_factory(self, factory: &NodeFactory<T>) -> Self
pub fn set_gates(self, gates: Vec<Ops<T>>) -> Self
pub fn set_weights(self, weights: Vec<Ops<T>>) -> Self
pub fn set_aggregates(self, aggregates: Vec<Ops<T>>) -> Self
pub fn set_inputs(self, inputs: Vec<Ops<T>>) -> Self
pub fn set_outputs(self, outputs: Vec<Ops<T>>) -> Self
Source§impl GraphCodex<f32>
impl GraphCodex<f32>
pub fn regression(input_size: usize, output_size: usize) -> Self
Trait Implementations§
Source§impl<T> Codex<NodeChromosome<T>, Graph<T>> for GraphCodex<T>
impl<T> Codex<NodeChromosome<T>, Graph<T>> for GraphCodex<T>
fn encode(&self) -> Genotype<NodeChromosome<T>>
fn decode(&self, genotype: &Genotype<NodeChromosome<T>>) -> Graph<T>
Source§fn spawn(&self, num: usize) -> Vec<T>
fn spawn(&self, num: usize) -> Vec<T>
Spawn a new instance of
T from the Codex. This will encode num new Genotypes and then
decode it to a new instance of T.Source§fn spawn_genotypes(&self, num: usize) -> Vec<Genotype<C>>
fn spawn_genotypes(&self, num: usize) -> Vec<Genotype<C>>
Spawn a new instance of
Genotype<G, A> from the Codex. This will encode num a new Genotypes.Source§fn spawn_population(&self, num: usize) -> Population<C>
fn spawn_population(&self, num: usize) -> Population<C>
Spawn a new instance of
Population<G, A> from the Codex. This will encode num a new GenotypesAuto Trait Implementations§
impl<T> Freeze for GraphCodex<T>
impl<T> !RefUnwindSafe for GraphCodex<T>
impl<T> !Send for GraphCodex<T>
impl<T> !Sync for GraphCodex<T>
impl<T> Unpin for GraphCodex<T>where
T: Unpin,
impl<T> !UnwindSafe for GraphCodex<T>
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
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more