Struct tfrecord::protobuf::FunctionDef
source · [−]pub struct FunctionDef {
pub signature: Option<OpDef>,
pub attr: HashMap<String, AttrValue>,
pub arg_attr: HashMap<u32, ArgAttrs>,
pub resource_arg_unique_id: HashMap<u32, u32>,
pub node_def: Vec<NodeDef>,
pub ret: HashMap<String, String>,
pub control_ret: HashMap<String, String>,
}
Expand description
A function can be instantiated when the runtime can bind every attr with a value. When a GraphDef has a call to a function, it must have binding for every attr defined in the signature.
TODO(zhifengc):
- device spec, etc.
Fields
signature: Option<OpDef>
The definition of the function’s name, arguments, return values, attrs etc.
attr: HashMap<String, AttrValue>
Attributes specific to this function definition.
arg_attr: HashMap<u32, ArgAttrs>
resource_arg_unique_id: HashMap<u32, u32>
Unique IDs for each resource argument, used to track aliasing resources. If Argument A and Argument B alias each other, then resource_arg_unique_ids[A.index] == resource_arg_unique_ids[B.index].
If this field is empty, none of the arguments could alias; otherwise, every resource argument should have an entry in this field.
When instantiated, the unique IDs will be attached to the _Arg nodes’ “_resource_arg_unique_id” attribute.
node_def: Vec<NodeDef>
By convention, “op” in node_def is resolved by consulting with a user-defined library first. If not resolved, “func” is assumed to be a builtin op.
ret: HashMap<String, String>
A mapping from the output arg names from signature
to the
outputs from node_def
that should be returned by the function.
control_ret: HashMap<String, String>
A mapping from control output names from signature
to node names in
node_def
which should be control outputs of this function.
Trait Implementations
sourceimpl Clone for FunctionDef
impl Clone for FunctionDef
sourcefn clone(&self) -> FunctionDef
fn clone(&self) -> FunctionDef
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for FunctionDef
impl Debug for FunctionDef
sourceimpl Default for FunctionDef
impl Default for FunctionDef
sourceimpl<'de> Deserialize<'de> for FunctionDef
impl<'de> Deserialize<'de> for FunctionDef
sourcefn 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
sourceimpl Message for FunctionDef
impl Message for FunctionDef
sourcefn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Returns the encoded length of the message without a length delimiter.
sourcefn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError> where
B: BufMut,
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError> where
B: BufMut,
Encodes the message to a buffer. Read more
sourcefn encode_to_vec(&self) -> Vec<u8, Global>
fn encode_to_vec(&self) -> Vec<u8, Global>
Encodes the message to a newly allocated buffer.
sourcefn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError> where
B: BufMut,
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError> where
B: BufMut,
Encodes the message with a length-delimiter to a buffer. Read more
sourcefn encode_length_delimited_to_vec(&self) -> Vec<u8, Global>
fn encode_length_delimited_to_vec(&self) -> Vec<u8, Global>
Encodes the message with a length-delimiter to a newly allocated buffer.
sourcefn decode<B>(buf: B) -> Result<Self, DecodeError> where
B: Buf,
Self: Default,
fn decode<B>(buf: B) -> Result<Self, DecodeError> where
B: Buf,
Self: Default,
Decodes an instance of the message from a buffer. Read more
sourcefn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError> where
B: Buf,
Self: Default,
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError> where
B: Buf,
Self: Default,
Decodes a length-delimited instance of the message from the buffer.
sourcefn merge<B>(&mut self, buf: B) -> Result<(), DecodeError> where
B: Buf,
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError> where
B: Buf,
Decodes an instance of the message from a buffer, and merges it into self
. Read more
sourcefn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError> where
B: Buf,
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError> where
B: Buf,
Decodes a length-delimited instance of the message from buffer, and
merges it into self
. Read more
sourceimpl PartialEq<FunctionDef> for FunctionDef
impl PartialEq<FunctionDef> for FunctionDef
sourcefn eq(&self, other: &FunctionDef) -> bool
fn eq(&self, other: &FunctionDef) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &FunctionDef) -> bool
fn ne(&self, other: &FunctionDef) -> bool
This method tests for !=
.
sourceimpl Serialize for FunctionDef
impl Serialize for FunctionDef
impl StructuralPartialEq for FunctionDef
Auto Trait Implementations
impl RefUnwindSafe for FunctionDef
impl Send for FunctionDef
impl Sync for FunctionDef
impl Unpin for FunctionDef
impl UnwindSafe for FunctionDef
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Pointable for T
impl<T> Pointable for T
sourceimpl<R, P> ReadPrimitive<R> for P where
R: Read + ReadEndian<P>,
P: Default,
impl<R, P> ReadPrimitive<R> for P where
R: Read + ReadEndian<P>,
P: Default,
sourcefn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as ReadEndian::read_from_little_endian()
.
sourcefn read_from_big_endian(read: &mut R) -> Result<Self, Error>
fn read_from_big_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as ReadEndian::read_from_big_endian()
.
sourcefn read_from_native_endian(read: &mut R) -> Result<Self, Error>
fn read_from_native_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as ReadEndian::read_from_native_endian()
.
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more