Struct tract_tensorflow::tfpb::tensorflow::GraphDef [−][src]
pub struct GraphDef { pub node: Vec<NodeDef>, pub versions: Option<VersionDef>, pub version: i32, pub library: Option<FunctionDefLibrary>, }
Expand description
Represents the graph of operations
Fields
node: Vec<NodeDef>
versions: Option<VersionDef>
Compatibility versions of the graph. See core/public/version.h for version history. The GraphDef version is distinct from the TensorFlow version, and each release of TensorFlow will support a range of GraphDef versions.
version: i32
Deprecated single version field; use versions above instead. Since all GraphDef changes before “versions” was introduced were forward compatible, this field is entirely ignored.
library: Option<FunctionDefLibrary>
EXPERIMENTAL. DO NOT USE OR DEPEND ON THIS YET.
“library” provides user-defined functions.
Naming:
- library.function.name are in a flat namespace. NOTE: We may need to change it to be hierarchical to support different orgs. E.g., { “/google/nn”, { … }}, { “/google/vision”, { … }} { “/org_foo/module_bar”, { … }} map<string, FunctionDefLib> named_lib;
- If node[i].op is the name of one function in “library”, node[i] is deemed as a function call. Otherwise, node[i].op must be a primitive operation supported by the runtime.
Function call semantics:
-
The callee may start execution as soon as some of its inputs are ready. The caller may want to use Tuple() mechanism to ensure all inputs are ready in the same time.
-
The consumer of return values may start executing as soon as the return values the consumer depends on are ready. The consumer may want to use Tuple() mechanism to ensure the consumer does not start until all return values of the callee function are ready.
Implementations
impl GraphDef
[src]
impl GraphDef
[src]pub fn node(self, n: NodeDef) -> Self
[src]
pub fn write_to_bytes(&self) -> TractResult<Vec<u8>>
[src]
pub fn save_to<P: AsRef<Path>>(self, p: P) -> TractResult<()>
[src]
Trait Implementations
impl Framework<GraphDef, Graph<InferenceFact, Box<dyn InferenceOp + 'static, Global>>> for Tensorflow
[src]
impl Framework<GraphDef, Graph<InferenceFact, Box<dyn InferenceOp + 'static, Global>>> for Tensorflow
[src]fn proto_model_for_path(&self, r: impl AsRef<Path>) -> TractResult<GraphDef>
[src]
fn proto_model_for_path(&self, r: impl AsRef<Path>) -> TractResult<GraphDef>
[src]This method will try to read as frozen model, then as a saved model.
fn proto_model_for_read(&self, r: &mut dyn Read) -> TractResult<GraphDef>
[src]
fn proto_model_for_read(&self, r: &mut dyn Read) -> TractResult<GraphDef>
[src]This method expects a frozen model, use open_saved_model for TF2 saved model format.
fn model_for_proto_model(&self, graph: &GraphDef) -> TractResult<InferenceModel>
[src]
fn model_for_proto_model(&self, graph: &GraphDef) -> TractResult<InferenceModel>
[src]Translate a proto model into a model.
fn model_for_read(&self, r: &mut dyn Read) -> Result<Model, Error>
fn model_for_read(&self, r: &mut dyn Read) -> Result<Model, Error>
Read a model from a reader
fn model_for_path(&self, p: impl AsRef<Path>) -> Result<Model, Error>
fn model_for_path(&self, p: impl AsRef<Path>) -> Result<Model, Error>
Build a model from a filename.
impl Message for GraphDef
[src]
impl Message for GraphDef
[src]fn encode_raw<B>(&self, buf: &mut B) where
B: BufMut,
[src]
B: BufMut,
fn merge_field<B>(
&mut self,
tag: u32,
wire_type: WireType,
buf: &mut B,
ctx: DecodeContext
) -> Result<(), DecodeError> where
B: Buf,
[src]
&mut self,
tag: u32,
wire_type: WireType,
buf: &mut B,
ctx: DecodeContext
) -> Result<(), DecodeError> where
B: Buf,
fn encoded_len(&self) -> usize
[src]
fn encoded_len(&self) -> usize
[src]Returns the encoded length of the message without a length delimiter.
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError> where
B: BufMut,
[src]
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError> where
B: BufMut,
[src]Encodes the message to a buffer. Read more
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError> where
B: BufMut,
[src]
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError> where
B: BufMut,
[src]Encodes the message with a length-delimiter to a buffer. Read more
fn decode<B>(buf: B) -> Result<Self, DecodeError> where
Self: Default,
B: Buf,
[src]
fn decode<B>(buf: B) -> Result<Self, DecodeError> where
Self: Default,
B: Buf,
[src]Decodes an instance of the message from a buffer. Read more
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError> where
Self: Default,
B: Buf,
[src]
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError> where
Self: Default,
B: Buf,
[src]Decodes a length-delimited instance of the message from the buffer.
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError> where
B: Buf,
[src]
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError> where
B: Buf,
[src]Decodes an instance of the message from a buffer, and merges it into self
. Read more
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError> where
B: Buf,
[src]
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError> where
B: Buf,
[src]Decodes a length-delimited instance of the message from buffer, and
merges it into self
. Read more
impl StructuralPartialEq for GraphDef
[src]
Auto Trait Implementations
impl RefUnwindSafe for GraphDef
impl Send for GraphDef
impl Sync for GraphDef
impl Unpin for GraphDef
impl UnwindSafe for GraphDef
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<R, Global>
impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<R, Global>
impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn as_any(&self) -> &(dyn Any + 'static)
pub fn as_any(&self) -> &(dyn Any + 'static)
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more