pub struct CollectionDef {
pub kind: Option<Kind>,
}
Expand description
CollectionDef should cover most collections. To add a user-defined collection, do one of the following:
-
For simple data types, such as string, int, float: tf.add_to_collection(“your_collection_name”, your_simple_value) strings will be stored as bytes_list.
-
For Protobuf types, there are three ways to add them:
-
tf.add_to_collection(“your_collection_name”, your_proto.SerializeToString())
collection_def { key: “user_defined_bytes_collection” value { bytes_list { value: “queue_name: "test_queue"\n” } } }
-
or
-
tf.add_to_collection(“your_collection_name”, str(your_proto))
collection_def { key: “user_defined_string_collection” value { bytes_list { value: “\n\ntest_queue” } } }
or
-
any_buf = any_pb2.Any() tf.add_to_collection(“your_collection_name”, any_buf.Pack(your_proto))
collection_def { key: “user_defined_any_collection” value { any_list { value { type_url: “type.googleapis.com/tensorflow.QueueRunnerDef” value: “\n\ntest_queue” } } } }
- For Python objects, implement to_proto() and from_proto(), and register them in the following manner: ops.register_proto_function(“your_collection_name”, proto_type, to_proto=YourPythonObject.to_proto, from_proto=YourPythonObject.from_proto) These functions will be invoked to serialize and de-serialize the collection. For example, ops.register_proto_function(ops.GraphKeys.GLOBAL_VARIABLES, proto_type=variable_pb2.VariableDef, to_proto=Variable.to_proto, from_proto=Variable.from_proto)
Fields§
§kind: Option<Kind>
Trait Implementations§
Source§impl Clone for CollectionDef
impl Clone for CollectionDef
Source§fn clone(&self) -> CollectionDef
fn clone(&self) -> CollectionDef
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for CollectionDef
impl Debug for CollectionDef
Source§impl Default for CollectionDef
impl Default for CollectionDef
Source§impl Message for CollectionDef
impl Message for CollectionDef
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
Source§fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
Source§fn decode<B>(buf: B) -> Result<Self, DecodeError>
fn decode<B>(buf: B) -> Result<Self, DecodeError>
Source§fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
Source§fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
self
. Read moreSource§fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
self
.