pub struct ComputationNode {
pub id: String,
pub op: String,
pub input_cids: Vec<String>,
pub output_cid: Option<String>,
pub gradient_cid: Option<String>,
pub metadata: HashMap<String, String>,
}Expand description
A single node in the gradient computation graph.
Each node represents one tensor operation and holds CIDs that link it to the content-addressed blocks produced and consumed during that operation. This makes the full backward-pass auditable via IPLD provenance.
Fields§
§id: StringUnique stable identifier for this node (UUID-v4 string)
op: StringOperation name, e.g. "matmul", "relu", "softmax"
input_cids: Vec<String>CIDs of the input tensor blocks consumed by this operation
output_cid: Option<String>CID of the output tensor block produced (None until the forward pass runs)
gradient_cid: Option<String>CID of the gradient tensor block (None until the backward pass runs)
metadata: HashMap<String, String>Arbitrary string key/value annotations (shape, dtype, device, …)
Implementations§
Trait Implementations§
Source§impl Clone for ComputationNode
impl Clone for ComputationNode
Source§fn clone(&self) -> ComputationNode
fn clone(&self) -> ComputationNode
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ComputationNode
impl Debug for ComputationNode
Source§impl<'de> Deserialize<'de> for ComputationNode
impl<'de> Deserialize<'de> for ComputationNode
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ComputationNode
impl RefUnwindSafe for ComputationNode
impl Send for ComputationNode
impl Sync for ComputationNode
impl Unpin for ComputationNode
impl UnsafeUnpin for ComputationNode
impl UnwindSafe for ComputationNode
Blanket Implementations§
impl<T> Allocation 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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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