Struct nncombinator::device::DeviceCpu
source · pub struct DeviceCpu<U>where
U: UnitValue<U>,{ /* private fields */ }
Expand description
Implementation of Device to be computed by CPU
Implementations§
Trait Implementations§
source§impl<U, const N: usize> Activation<U, Arr<U, N>, Arr<U, N>, DeviceCpu<U>> for Identity<U, DeviceCpu<U>>where
U: UnitValue<U>,
impl<U, const N: usize> Activation<U, Arr<U, N>, Arr<U, N>, DeviceCpu<U>> for Identity<U, DeviceCpu<U>>where
U: UnitValue<U>,
source§fn apply(
&self,
_: &DeviceCpu<U>,
input: &Arr<U, N>
) -> Result<Arr<U, N>, EvaluateError>
fn apply(
&self,
_: &DeviceCpu<U>,
input: &Arr<U, N>
) -> Result<Arr<U, N>, EvaluateError>
Apply the activation function Read more
source§fn derive(
&self,
_: &DeviceCpu<U>,
_: &Arr<U, N>,
loss: &Arr<U, N>,
_: &Arr<U, N>
) -> Result<Arr<U, N>, TrainingError>
fn derive(
&self,
_: &DeviceCpu<U>,
_: &Arr<U, N>,
loss: &Arr<U, N>,
_: &Arr<U, N>
) -> Result<Arr<U, N>, TrainingError>
Apply derivatives of the activation function Read more
source§fn is_canonical_link<L: LossFunction<U>>(&self, l: &L) -> bool
fn is_canonical_link<L: LossFunction<U>>(&self, l: &L) -> bool
Returns whether or not the canonical linkage function can be used. Read more
source§impl<U, const N: usize> Activation<U, Arr<U, N>, Arr<U, N>, DeviceCpu<U>> for ReLu<U, DeviceCpu<U>>where
U: UnitValue<U>,
impl<U, const N: usize> Activation<U, Arr<U, N>, Arr<U, N>, DeviceCpu<U>> for ReLu<U, DeviceCpu<U>>where
U: UnitValue<U>,
source§fn apply(
&self,
device: &DeviceCpu<U>,
input: &Arr<U, N>
) -> Result<Arr<U, N>, EvaluateError>
fn apply(
&self,
device: &DeviceCpu<U>,
input: &Arr<U, N>
) -> Result<Arr<U, N>, EvaluateError>
Apply the activation function Read more
source§fn derive(
&self,
device: &DeviceCpu<U>,
o: &Arr<U, N>,
loss: &Arr<U, N>,
u: &Arr<U, N>
) -> Result<Arr<U, N>, TrainingError>
fn derive(
&self,
device: &DeviceCpu<U>,
o: &Arr<U, N>,
loss: &Arr<U, N>,
u: &Arr<U, N>
) -> Result<Arr<U, N>, TrainingError>
Apply derivatives of the activation function Read more
source§fn is_canonical_link<L: LossFunction<U>>(&self, _: &L) -> bool
fn is_canonical_link<L: LossFunction<U>>(&self, _: &L) -> bool
Returns whether or not the canonical linkage function can be used. Read more
source§impl<U, const N: usize> Activation<U, Arr<U, N>, Arr<U, N>, DeviceCpu<U>> for Sigmoid<U, DeviceCpu<U>>where
U: UnitValue<U>,
impl<U, const N: usize> Activation<U, Arr<U, N>, Arr<U, N>, DeviceCpu<U>> for Sigmoid<U, DeviceCpu<U>>where
U: UnitValue<U>,
source§fn apply(
&self,
device: &DeviceCpu<U>,
input: &Arr<U, N>
) -> Result<Arr<U, N>, EvaluateError>
fn apply(
&self,
device: &DeviceCpu<U>,
input: &Arr<U, N>
) -> Result<Arr<U, N>, EvaluateError>
Apply the activation function Read more
source§fn derive(
&self,
device: &DeviceCpu<U>,
o: &Arr<U, N>,
loss: &Arr<U, N>,
u: &Arr<U, N>
) -> Result<Arr<U, N>, TrainingError>
fn derive(
&self,
device: &DeviceCpu<U>,
o: &Arr<U, N>,
loss: &Arr<U, N>,
u: &Arr<U, N>
) -> Result<Arr<U, N>, TrainingError>
Apply derivatives of the activation function Read more
source§fn is_canonical_link<L: LossFunction<U>>(&self, l: &L) -> bool
fn is_canonical_link<L: LossFunction<U>>(&self, l: &L) -> bool
Returns whether or not the canonical linkage function can be used. Read more
source§impl<U, const N: usize> Activation<U, Arr<U, N>, Arr<U, N>, DeviceCpu<U>> for SoftMax<U, DeviceCpu<U>>where
U: UnitValue<U>,
impl<U, const N: usize> Activation<U, Arr<U, N>, Arr<U, N>, DeviceCpu<U>> for SoftMax<U, DeviceCpu<U>>where
U: UnitValue<U>,
source§fn apply(
&self,
device: &DeviceCpu<U>,
input: &Arr<U, N>
) -> Result<Arr<U, N>, EvaluateError>
fn apply(
&self,
device: &DeviceCpu<U>,
input: &Arr<U, N>
) -> Result<Arr<U, N>, EvaluateError>
Apply the activation function Read more
source§fn derive(
&self,
device: &DeviceCpu<U>,
o: &Arr<U, N>,
loss: &Arr<U, N>,
u: &Arr<U, N>
) -> Result<Arr<U, N>, TrainingError>
fn derive(
&self,
device: &DeviceCpu<U>,
o: &Arr<U, N>,
loss: &Arr<U, N>,
u: &Arr<U, N>
) -> Result<Arr<U, N>, TrainingError>
Apply derivatives of the activation function Read more
source§fn is_canonical_link<L: LossFunction<U>>(&self, l: &L) -> bool
fn is_canonical_link<L: LossFunction<U>>(&self, l: &L) -> bool
Returns whether or not the canonical linkage function can be used. Read more
source§impl<U, const N: usize> Activation<U, Arr<U, N>, Arr<U, N>, DeviceCpu<U>> for Swish<U, DeviceCpu<U>>where
U: UnitValue<U>,
impl<U, const N: usize> Activation<U, Arr<U, N>, Arr<U, N>, DeviceCpu<U>> for Swish<U, DeviceCpu<U>>where
U: UnitValue<U>,
source§fn apply(
&self,
device: &DeviceCpu<U>,
input: &Arr<U, N>
) -> Result<Arr<U, N>, EvaluateError>
fn apply(
&self,
device: &DeviceCpu<U>,
input: &Arr<U, N>
) -> Result<Arr<U, N>, EvaluateError>
Apply the activation function Read more
source§fn derive(
&self,
device: &DeviceCpu<U>,
o: &Arr<U, N>,
loss: &Arr<U, N>,
u: &Arr<U, N>
) -> Result<Arr<U, N>, TrainingError>
fn derive(
&self,
device: &DeviceCpu<U>,
o: &Arr<U, N>,
loss: &Arr<U, N>,
u: &Arr<U, N>
) -> Result<Arr<U, N>, TrainingError>
Apply derivatives of the activation function Read more
source§fn is_canonical_link<L: LossFunction<U>>(&self, _: &L) -> bool
fn is_canonical_link<L: LossFunction<U>>(&self, _: &L) -> bool
Returns whether or not the canonical linkage function can be used. Read more
source§impl<U, const N: usize> Activation<U, Arr<U, N>, Arr<U, N>, DeviceCpu<U>> for Tanh<U, DeviceCpu<U>>where
U: UnitValue<U>,
impl<U, const N: usize> Activation<U, Arr<U, N>, Arr<U, N>, DeviceCpu<U>> for Tanh<U, DeviceCpu<U>>where
U: UnitValue<U>,
source§fn apply(
&self,
device: &DeviceCpu<U>,
input: &Arr<U, N>
) -> Result<Arr<U, N>, EvaluateError>
fn apply(
&self,
device: &DeviceCpu<U>,
input: &Arr<U, N>
) -> Result<Arr<U, N>, EvaluateError>
Apply the activation function Read more
source§fn derive(
&self,
device: &DeviceCpu<U>,
o: &Arr<U, N>,
loss: &Arr<U, N>,
u: &Arr<U, N>
) -> Result<Arr<U, N>, TrainingError>
fn derive(
&self,
device: &DeviceCpu<U>,
o: &Arr<U, N>,
loss: &Arr<U, N>,
u: &Arr<U, N>
) -> Result<Arr<U, N>, TrainingError>
Apply derivatives of the activation function Read more
source§fn is_canonical_link<L: LossFunction<U>>(&self, _: &L) -> bool
fn is_canonical_link<L: LossFunction<U>>(&self, _: &L) -> bool
Returns whether or not the canonical linkage function can be used. Read more
source§impl<U, I, const N: usize> Activation<U, I, Arr<U, N>, DeviceCpu<U>> for Identity<U, DeviceCpu<U>>where
U: UnitValue<U>,
I: IndexedParallelIterator<Item = U> + IntoParallelIterator + Clone,
impl<U, I, const N: usize> Activation<U, I, Arr<U, N>, DeviceCpu<U>> for Identity<U, DeviceCpu<U>>where
U: UnitValue<U>,
I: IndexedParallelIterator<Item = U> + IntoParallelIterator + Clone,
source§fn apply(&self, _: &DeviceCpu<U>, input: &I) -> Result<Arr<U, N>, EvaluateError>
fn apply(&self, _: &DeviceCpu<U>, input: &I) -> Result<Arr<U, N>, EvaluateError>
Apply the activation function Read more
source§fn derive(
&self,
_: &DeviceCpu<U>,
_: &I,
loss: &I,
_: &I
) -> Result<Arr<U, N>, TrainingError>
fn derive(
&self,
_: &DeviceCpu<U>,
_: &I,
loss: &I,
_: &I
) -> Result<Arr<U, N>, TrainingError>
Apply derivatives of the activation function Read more
source§fn is_canonical_link<L: LossFunction<U>>(&self, l: &L) -> bool
fn is_canonical_link<L: LossFunction<U>>(&self, l: &L) -> bool
Returns whether or not the canonical linkage function can be used. Read more
source§impl<U, I, const N: usize> Activation<U, I, Arr<U, N>, DeviceCpu<U>> for ReLu<U, DeviceCpu<U>>where
U: UnitValue<U>,
I: IndexedParallelIterator<Item = U> + Clone,
<I as IntoParallelIterator>::Iter: IndexedParallelIterator<Item = U>,
impl<U, I, const N: usize> Activation<U, I, Arr<U, N>, DeviceCpu<U>> for ReLu<U, DeviceCpu<U>>where
U: UnitValue<U>,
I: IndexedParallelIterator<Item = U> + Clone,
<I as IntoParallelIterator>::Iter: IndexedParallelIterator<Item = U>,
source§fn apply(&self, _: &DeviceCpu<U>, input: &I) -> Result<Arr<U, N>, EvaluateError>
fn apply(&self, _: &DeviceCpu<U>, input: &I) -> Result<Arr<U, N>, EvaluateError>
Apply the activation function Read more
source§fn derive(
&self,
_: &DeviceCpu<U>,
_: &I,
loss: &I,
u: &I
) -> Result<Arr<U, N>, TrainingError>
fn derive(
&self,
_: &DeviceCpu<U>,
_: &I,
loss: &I,
u: &I
) -> Result<Arr<U, N>, TrainingError>
Apply derivatives of the activation function Read more
source§fn is_canonical_link<L: LossFunction<U>>(&self, _: &L) -> bool
fn is_canonical_link<L: LossFunction<U>>(&self, _: &L) -> bool
Returns whether or not the canonical linkage function can be used. Read more
source§impl<U, I, const N: usize> Activation<U, I, Arr<U, N>, DeviceCpu<U>> for Sigmoid<U, DeviceCpu<U>>where
U: UnitValue<U>,
I: IndexedParallelIterator<Item = U> + Clone,
<I as IntoParallelIterator>::Iter: IndexedParallelIterator<Item = U>,
impl<U, I, const N: usize> Activation<U, I, Arr<U, N>, DeviceCpu<U>> for Sigmoid<U, DeviceCpu<U>>where
U: UnitValue<U>,
I: IndexedParallelIterator<Item = U> + Clone,
<I as IntoParallelIterator>::Iter: IndexedParallelIterator<Item = U>,
source§fn apply(&self, _: &DeviceCpu<U>, input: &I) -> Result<Arr<U, N>, EvaluateError>
fn apply(&self, _: &DeviceCpu<U>, input: &I) -> Result<Arr<U, N>, EvaluateError>
Apply the activation function Read more
source§fn derive(
&self,
_: &DeviceCpu<U>,
o: &I,
loss: &I,
_: &I
) -> Result<Arr<U, N>, TrainingError>
fn derive(
&self,
_: &DeviceCpu<U>,
o: &I,
loss: &I,
_: &I
) -> Result<Arr<U, N>, TrainingError>
Apply derivatives of the activation function Read more
source§fn is_canonical_link<L: LossFunction<U>>(&self, l: &L) -> bool
fn is_canonical_link<L: LossFunction<U>>(&self, l: &L) -> bool
Returns whether or not the canonical linkage function can be used. Read more
source§impl<U, I, const N: usize> Activation<U, I, Arr<U, N>, DeviceCpu<U>> for SoftMax<U, DeviceCpu<U>>where
U: UnitValue<U>,
I: IndexedParallelIterator<Item = U> + Clone,
<I as IntoParallelIterator>::Iter: IndexedParallelIterator<Item = U>,
impl<U, I, const N: usize> Activation<U, I, Arr<U, N>, DeviceCpu<U>> for SoftMax<U, DeviceCpu<U>>where
U: UnitValue<U>,
I: IndexedParallelIterator<Item = U> + Clone,
<I as IntoParallelIterator>::Iter: IndexedParallelIterator<Item = U>,
source§fn apply(&self, _: &DeviceCpu<U>, input: &I) -> Result<Arr<U, N>, EvaluateError>
fn apply(&self, _: &DeviceCpu<U>, input: &I) -> Result<Arr<U, N>, EvaluateError>
Apply the activation function Read more
source§fn derive(
&self,
_: &DeviceCpu<U>,
o: &I,
loss: &I,
_: &I
) -> Result<Arr<U, N>, TrainingError>
fn derive(
&self,
_: &DeviceCpu<U>,
o: &I,
loss: &I,
_: &I
) -> Result<Arr<U, N>, TrainingError>
Apply derivatives of the activation function Read more
source§fn is_canonical_link<L: LossFunction<U>>(&self, l: &L) -> bool
fn is_canonical_link<L: LossFunction<U>>(&self, l: &L) -> bool
Returns whether or not the canonical linkage function can be used. Read more
source§impl<U, I, const N: usize> Activation<U, I, Arr<U, N>, DeviceCpu<U>> for Swish<U, DeviceCpu<U>>where
U: UnitValue<U>,
I: IndexedParallelIterator<Item = U> + Clone,
<I as IntoParallelIterator>::Iter: IndexedParallelIterator<Item = U>,
impl<U, I, const N: usize> Activation<U, I, Arr<U, N>, DeviceCpu<U>> for Swish<U, DeviceCpu<U>>where
U: UnitValue<U>,
I: IndexedParallelIterator<Item = U> + Clone,
<I as IntoParallelIterator>::Iter: IndexedParallelIterator<Item = U>,
source§fn apply(&self, _: &DeviceCpu<U>, input: &I) -> Result<Arr<U, N>, EvaluateError>
fn apply(&self, _: &DeviceCpu<U>, input: &I) -> Result<Arr<U, N>, EvaluateError>
Apply the activation function Read more
source§fn derive(
&self,
_: &DeviceCpu<U>,
o: &I,
loss: &I,
u: &I
) -> Result<Arr<U, N>, TrainingError>
fn derive(
&self,
_: &DeviceCpu<U>,
o: &I,
loss: &I,
u: &I
) -> Result<Arr<U, N>, TrainingError>
Apply derivatives of the activation function Read more
source§fn is_canonical_link<L: LossFunction<U>>(&self, _: &L) -> bool
fn is_canonical_link<L: LossFunction<U>>(&self, _: &L) -> bool
Returns whether or not the canonical linkage function can be used. Read more
source§impl<U, I, const N: usize> Activation<U, I, Arr<U, N>, DeviceCpu<U>> for Tanh<U, DeviceCpu<U>>where
U: UnitValue<U>,
I: IndexedParallelIterator<Item = U> + Clone,
<I as IntoParallelIterator>::Iter: IndexedParallelIterator<Item = U>,
impl<U, I, const N: usize> Activation<U, I, Arr<U, N>, DeviceCpu<U>> for Tanh<U, DeviceCpu<U>>where
U: UnitValue<U>,
I: IndexedParallelIterator<Item = U> + Clone,
<I as IntoParallelIterator>::Iter: IndexedParallelIterator<Item = U>,
source§fn apply(&self, _: &DeviceCpu<U>, input: &I) -> Result<Arr<U, N>, EvaluateError>
fn apply(&self, _: &DeviceCpu<U>, input: &I) -> Result<Arr<U, N>, EvaluateError>
Apply the activation function Read more
source§fn derive(
&self,
_: &DeviceCpu<U>,
o: &I,
loss: &I,
_: &I
) -> Result<Arr<U, N>, TrainingError>
fn derive(
&self,
_: &DeviceCpu<U>,
o: &I,
loss: &I,
_: &I
) -> Result<Arr<U, N>, TrainingError>
Apply derivatives of the activation function Read more
source§fn is_canonical_link<L: LossFunction<U>>(&self, _: &L) -> bool
fn is_canonical_link<L: LossFunction<U>>(&self, _: &L) -> bool
Returns whether or not the canonical linkage function can be used. Read more
source§impl<U, const N: usize> BatchActivation<U, Arr<U, N>, Arr<U, N>, DeviceCpu<U>> for Identity<U, DeviceCpu<U>>where
U: UnitValue<U>,
Vec<Arr<U, N>>: FromParallelIterator<Arr<U, N>>,
impl<U, const N: usize> BatchActivation<U, Arr<U, N>, Arr<U, N>, DeviceCpu<U>> for Identity<U, DeviceCpu<U>>where
U: UnitValue<U>,
Vec<Arr<U, N>>: FromParallelIterator<Arr<U, N>>,
source§impl<U, const N: usize> BatchActivation<U, Arr<U, N>, Arr<U, N>, DeviceCpu<U>> for ReLu<U, DeviceCpu<U>>where
U: UnitValue<U>,
Vec<Arr<U, N>>: FromParallelIterator<Arr<U, N>>,
impl<U, const N: usize> BatchActivation<U, Arr<U, N>, Arr<U, N>, DeviceCpu<U>> for ReLu<U, DeviceCpu<U>>where
U: UnitValue<U>,
Vec<Arr<U, N>>: FromParallelIterator<Arr<U, N>>,
source§impl<U, const N: usize> BatchActivation<U, Arr<U, N>, Arr<U, N>, DeviceCpu<U>> for Sigmoid<U, DeviceCpu<U>>where
U: UnitValue<U>,
Vec<Arr<U, N>>: FromParallelIterator<Arr<U, N>>,
impl<U, const N: usize> BatchActivation<U, Arr<U, N>, Arr<U, N>, DeviceCpu<U>> for Sigmoid<U, DeviceCpu<U>>where
U: UnitValue<U>,
Vec<Arr<U, N>>: FromParallelIterator<Arr<U, N>>,
source§impl<U, const N: usize> BatchActivation<U, Arr<U, N>, Arr<U, N>, DeviceCpu<U>> for SoftMax<U, DeviceCpu<U>>where
U: UnitValue<U>,
Vec<Arr<U, N>>: FromParallelIterator<Arr<U, N>>,
impl<U, const N: usize> BatchActivation<U, Arr<U, N>, Arr<U, N>, DeviceCpu<U>> for SoftMax<U, DeviceCpu<U>>where
U: UnitValue<U>,
Vec<Arr<U, N>>: FromParallelIterator<Arr<U, N>>,
source§impl<U, const N: usize> BatchActivation<U, Arr<U, N>, Arr<U, N>, DeviceCpu<U>> for Swish<U, DeviceCpu<U>>where
U: UnitValue<U>,
Vec<Arr<U, N>>: FromParallelIterator<Arr<U, N>>,
impl<U, const N: usize> BatchActivation<U, Arr<U, N>, Arr<U, N>, DeviceCpu<U>> for Swish<U, DeviceCpu<U>>where
U: UnitValue<U>,
Vec<Arr<U, N>>: FromParallelIterator<Arr<U, N>>,
source§impl<U, const N: usize> BatchActivation<U, Arr<U, N>, Arr<U, N>, DeviceCpu<U>> for Tanh<U, DeviceCpu<U>>where
U: UnitValue<U>,
Vec<Arr<U, N>>: FromParallelIterator<Arr<U, N>>,
impl<U, const N: usize> BatchActivation<U, Arr<U, N>, Arr<U, N>, DeviceCpu<U>> for Tanh<U, DeviceCpu<U>>where
U: UnitValue<U>,
Vec<Arr<U, N>>: FromParallelIterator<Arr<U, N>>,
source§impl<U> BatchLossFunction<U, DeviceCpu<U>> for CrossEntropy<U>where
U: Clone + Copy + UnitValue<U>,
impl<U> BatchLossFunction<U, DeviceCpu<U>> for CrossEntropy<U>where
U: Clone + Copy + UnitValue<U>,
source§impl<U> BatchLossFunction<U, DeviceCpu<U>> for CrossEntropyMulticlass<U>where
U: Clone + Copy + UnitValue<U>,
impl<U> BatchLossFunction<U, DeviceCpu<U>> for CrossEntropyMulticlass<U>where
U: Clone + Copy + UnitValue<U>,
source§impl<U> Device<U> for DeviceCpu<U>where
U: UnitValue<U>,
impl<U> Device<U> for DeviceCpu<U>where
U: UnitValue<U>,
source§fn loss_linear<L, const N: usize>(
&self,
expected: &Arr<U, N>,
actual: &Arr<U, N>,
lossf: &L
) -> Arr<U, N>where
L: LossFunction<U>,
fn loss_linear<L, const N: usize>(
&self,
expected: &Arr<U, N>,
actual: &Arr<U, N>,
lossf: &L
) -> Arr<U, N>where
L: LossFunction<U>,
Calculation of Losses Read more
source§fn loss_linear_by_canonical_link<const N: usize>(
&self,
expected: &Arr<U, N>,
actual: &Arr<U, N>
) -> Arr<U, N>
fn loss_linear_by_canonical_link<const N: usize>(
&self,
expected: &Arr<U, N>,
actual: &Arr<U, N>
) -> Arr<U, N>
Calculation of Losses by canonical link Read more
source§fn loss_linear_total<L: LossFunction<U>, const N: usize>(
&self,
exptected: &Arr<U, N>,
actual: &Arr<U, N>,
lossf: &L
) -> U
fn loss_linear_total<L: LossFunction<U>, const N: usize>(
&self,
exptected: &Arr<U, N>,
actual: &Arr<U, N>,
lossf: &L
) -> U
Calculation of total Losses Read more
source§fn loss_linear_batch_by_canonical_link<const N: usize>(
&self,
expected: &VecArr<U, Arr<U, N>>,
actual: &VecArr<U, Arr<U, N>>
) -> Result<VecArr<U, Arr<U, N>>, TrainingError>where
f64: From<U>,
fn loss_linear_batch_by_canonical_link<const N: usize>(
&self,
expected: &VecArr<U, Arr<U, N>>,
actual: &VecArr<U, Arr<U, N>>
) -> Result<VecArr<U, Arr<U, N>>, TrainingError>where
f64: From<U>,
Calculation of loss during batch execution by canonical link Read more
source§fn batch_linear_reduce<const N: usize>(
&self,
loss: &VecArr<U, Arr<U, N>>
) -> Result<Arr<U, N>, TrainingError>
fn batch_linear_reduce<const N: usize>(
&self,
loss: &VecArr<U, Arr<U, N>>
) -> Result<Arr<U, N>, TrainingError>
convolutional calculation Read more
source§impl<U, const NI: usize, const NO: usize> DeviceLinear<U, Arr2<U, NI, NO>, NI, NO> for DeviceCpu<U>where
U: UnitValue<U>,
impl<U, const NI: usize, const NO: usize> DeviceLinear<U, Arr2<U, NI, NO>, NI, NO> for DeviceCpu<U>where
U: UnitValue<U>,
source§fn forward_linear(
&self,
bias: &Arr<U, NO>,
units: &Arr2<U, NI, NO>,
input: &Arr<U, NI>
) -> Result<Arr<U, NO>, EvaluateError>
fn forward_linear(
&self,
bias: &Arr<U, NO>,
units: &Arr2<U, NI, NO>,
input: &Arr<U, NI>
) -> Result<Arr<U, NO>, EvaluateError>
Forward propagation calculation Read more
source§fn backward_linear(
&self,
units: &Arr2<U, NI, NO>,
input: &Arr<U, NO>
) -> Result<Arr<U, NI>, TrainingError>
fn backward_linear(
&self,
units: &Arr2<U, NI, NO>,
input: &Arr<U, NO>
) -> Result<Arr<U, NI>, TrainingError>
Error back propagation calculation Read more
source§fn backward_weight_gradient(
&self,
o: &Arr<U, NI>,
loss: &Arr<U, NO>
) -> Result<Arr2<U, NI, NO>, TrainingError>
fn backward_weight_gradient(
&self,
o: &Arr<U, NI>,
loss: &Arr<U, NO>
) -> Result<Arr2<U, NI, NO>, TrainingError>
Calculate the gradient of the weights Read more
source§fn batch_backward_linear(
&self,
units: &Arr2<U, NI, NO>,
input: &VecArr<U, Arr<U, NO>>
) -> Result<VecArr<U, Arr<U, NI>>, TrainingError>
fn batch_backward_linear(
&self,
units: &Arr2<U, NI, NO>,
input: &VecArr<U, Arr<U, NO>>
) -> Result<VecArr<U, Arr<U, NI>>, TrainingError>
Error back propagation in batch Read more