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§
source§impl Clone for FunctionDef
impl Clone for FunctionDef
source§fn clone(&self) -> FunctionDef
fn clone(&self) -> FunctionDef
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for FunctionDef
impl Debug for FunctionDef
source§impl Default for FunctionDef
impl Default for FunctionDef
source§impl<'de> Deserialize<'de> for FunctionDef
impl<'de> Deserialize<'de> for FunctionDef
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>,
source§impl Message for FunctionDef
impl Message for FunctionDef
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>where
B: BufMut,
Self: Sized,
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>where B: BufMut, Self: Sized,
source§fn encode_to_vec(&self) -> Vec<u8, Global>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8, Global>where Self: Sized,
source§fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>where
B: BufMut,
Self: Sized,
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>where B: BufMut, Self: Sized,
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8, Global>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8, Global>where Self: Sized,
source§fn 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,
source§fn 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,
source§fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>where
B: Buf,
Self: Sized,
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>where B: Buf, Self: Sized,
self
. Read moresource§fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>where
B: Buf,
Self: Sized,
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>where B: Buf, Self: Sized,
self
.source§impl PartialEq<FunctionDef> for FunctionDef
impl PartialEq<FunctionDef> for FunctionDef
source§fn eq(&self, other: &FunctionDef) -> bool
fn eq(&self, other: &FunctionDef) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl 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§
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
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<R, P> ReadPrimitive<R> for Pwhere
R: Read + ReadEndian<P>,
P: Default,
impl<R, P> ReadPrimitive<R> for Pwhere R: Read + ReadEndian<P>, P: Default,
source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian()
.