pub enum DispatchAutodiffContext {
Disabled,
Enabled(GradientCheckpointingStrategy),
}Expand description
The autodiff backend associated with a dispatch tensor.
This is backend metadata, not a statement that a float tensor requires gradients. Enabled float tensors may be tracked or untracked by autodiff.
Tensor inputs to one backend operation merge their autodiff contexts. A disabled context is compatible with an enabled one and is treated as a constant for that operation. Two enabled contexts must use the same gradient-checkpointing strategy.
Variants§
Disabled
Route the tensor through its concrete backend.
Enabled(GradientCheckpointingStrategy)
Associate the tensor with an autodiff backend using the given strategy.
Trait Implementations§
Source§impl Clone for DispatchAutodiffContext
impl Clone for DispatchAutodiffContext
impl Copy for DispatchAutodiffContext
Source§impl Debug for DispatchAutodiffContext
impl Debug for DispatchAutodiffContext
Source§impl Default for DispatchAutodiffContext
impl Default for DispatchAutodiffContext
impl Eq for DispatchAutodiffContext
Source§impl PartialEq for DispatchAutodiffContext
impl PartialEq for DispatchAutodiffContext
impl StructuralPartialEq for DispatchAutodiffContext
Auto Trait Implementations§
impl Freeze for DispatchAutodiffContext
impl RefUnwindSafe for DispatchAutodiffContext
impl Send for DispatchAutodiffContext
impl Sync for DispatchAutodiffContext
impl Unpin for DispatchAutodiffContext
impl UnsafeUnpin for DispatchAutodiffContext
impl UnwindSafe for DispatchAutodiffContext
Blanket Implementations§
impl<T> Boilerplate for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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