3 releases (breaking)
0.3.0 | Jan 11, 2021 |
---|---|
0.2.0 | Aug 8, 2020 |
0.1.0 | Aug 8, 2020 |
#1408 in Encoding
251 downloads per month
140KB
177 lines
tensorflow_proto
tensorflow_proto
is a crate that uses prost-build
to generate Rust
struct
s to be used in serialization/deserialization of protocol buffers
wherever Tensorflow uses them.
In particular, this is useful in the
tensorflow/rust
library when calling
SessionOptions::set_config
to configure Tensorflow.
Note: This crate is tested against tensorflow 1.15.2 and 2.0.0.
Usage
Default Features
Add
tensorflow_proto = "0.3.0"
to your Cargo.toml
.
Serde Support
Serde support can be enabled using the "serde-derive"
feature:
tensorflow_proto = { version = "0.3.0", features = ["serde-derive"] }
This will add a #[derive(serde::Serialize, serde::Deserialize)]
to every generated
struct
.
You must also depend on serde
as well.
Easy conversion to bytes
Finally, you can enable code generation for an implementation of std::convert::TryFrom
that encodes a message into a Vec<u8>
for every struct
generated by prost:
tensorflow_proto = { version = "0.3.0", features = ["convert"] }
Use custom Tensorflow *.proto
sources
To use a different version of Tensorflow protocol buffer sources, define
TENSORFLOW_PROTO_SOURCE
to be the root of a Tensorflow source tree.
Dependencies
~2–4MB
~70K SLoC