1syntax = "proto3"; 2 3package tensorflow; 4 5import "function.proto"; 6import "node_def.proto"; 7import "versions.proto"; 8 9option cc_enable_arenas = true; 10option java_outer_classname = "GraphProtos"; 11option java_multiple_files = true; 12option java_package = "org.tensorflow.framework"; 13option go_package = "github.com/tensorflow/tensorflow/tensorflow/go/core/framework/graph_go_proto"; 14 15// Represents the graph of operations 16message GraphDef { 17 repeated NodeDef node = 1; 18 19 // Compatibility versions of the graph. See core/public/version.h for version 20 // history. The GraphDef version is distinct from the TensorFlow version, and 21 // each release of TensorFlow will support a range of GraphDef versions. 22 VersionDef versions = 4; 23 24 // Deprecated single version field; use versions above instead. Since all 25 // GraphDef changes before "versions" was introduced were forward 26 // compatible, this field is entirely ignored. 27 int32 version = 3 [deprecated = true]; 28 29 // EXPERIMENTAL. DO NOT USE OR DEPEND ON THIS YET. 30 // 31 // "library" provides user-defined functions. 32 // 33 // Naming: 34 // * library.function.name are in a flat namespace. 35 // NOTE: We may need to change it to be hierarchical to support 36 // different orgs. E.g., 37 // { "/google/nn", { ... }}, 38 // { "/google/vision", { ... }} 39 // { "/org_foo/module_bar", { ... }} 40 // map<string, FunctionDefLib> named_lib; 41 // * If node[i].op is the name of one function in "library", 42 // node[i] is deemed as a function call. Otherwise, node[i].op 43 // must be a primitive operation supported by the runtime. 44 // 45 // 46 // Function call semantics: 47 // 48 // * The callee may start execution as soon as some of its inputs 49 // are ready. The caller may want to use Tuple() mechanism to 50 // ensure all inputs are ready in the same time. 51 // 52 // * The consumer of return values may start executing as soon as 53 // the return values the consumer depends on are ready. The 54 // consumer may want to use Tuple() mechanism to ensure the 55 // consumer does not start until all return values of the callee 56 // function are ready. 57 FunctionDefLibrary library = 2; 58} 59