aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/core/framework/attr_value.proto
diff options
context:
space:
mode:
Diffstat (limited to 'tensorflow/core/framework/attr_value.proto')
-rw-r--r--tensorflow/core/framework/attr_value.proto57
1 files changed, 57 insertions, 0 deletions
diff --git a/tensorflow/core/framework/attr_value.proto b/tensorflow/core/framework/attr_value.proto
new file mode 100644
index 0000000000..c6a9940815
--- /dev/null
+++ b/tensorflow/core/framework/attr_value.proto
@@ -0,0 +1,57 @@
+syntax = "proto3";
+
+package tensorflow;
+// option cc_enable_arenas = true;
+
+import "tensorflow/core/framework/tensor.proto";
+import "tensorflow/core/framework/tensor_shape.proto";
+import "tensorflow/core/framework/types.proto";
+
+// Protocol buffer representing the value for an attr used to configure an Op.
+// Comment indicates the corresponding attr type. Only the field matching the
+// attr type may be filled.
+message AttrValue {
+ message ListValue {
+ repeated bytes s = 2; // "list(string)"
+ repeated int64 i = 3 [packed = true]; // "list(int)"
+ repeated float f = 4 [packed = true]; // "list(float)"
+ repeated bool b = 5 [packed = true]; // "list(bool)"
+ repeated DataType type = 6 [packed = true]; // "list(type)"
+ repeated TensorShapeProto shape = 7; // "list(shape)"
+ repeated TensorProto tensor = 8; // "list(tensor)"
+ // TODO(zhifengc/josh11b): implements list(func) if needed.
+ }
+
+ oneof value {
+ bytes s = 2; // "string"
+ int64 i = 3; // "int"
+ float f = 4; // "float"
+ bool b = 5; // "bool"
+ DataType type = 6; // "type"
+ TensorShapeProto shape = 7; // "shape"
+ TensorProto tensor = 8; // "tensor"
+ ListValue list = 1; // any "list(...)"
+
+ // "func" represents a function. func.name is a function's name or
+ // a primitive op's name. func.attr.first is the name of an attr
+ // defined for that function. func.attr.second is the value for
+ // that attr in the instantiation.
+ NameAttrList func = 10;
+
+ // This is a placeholder only used in nodes defined inside a
+ // function. It indicates the attr value will be supplied when
+ // the function is instantiated. For example, let us suppose a
+ // node "N" in function "FN". "N" has an attr "A" with value
+ // placeholder = "foo". When FN is instantiated with attr "foo"
+ // set to "bar", the instantiated node N's attr A will have been
+ // given the value "bar".
+ string placeholder = 9;
+ }
+}
+
+// A list of attr names and their values. The whole list is attached
+// with a string name. E.g., MatMul[T=float].
+message NameAttrList {
+ string name = 1;
+ map<string, AttrValue> attr = 2;
+}