diff --git a/VERSION b/VERSION index e70b452..cf86907 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.6.0 +2.18.0 diff --git a/proto/tensorflow/core/example/example.proto b/proto/tensorflow/core/example/example.proto index 0b49514..59e5428 100644 --- a/proto/tensorflow/core/example/example.proto +++ b/proto/tensorflow/core/example/example.proto @@ -12,7 +12,6 @@ option java_multiple_files = true; option java_package = "org.tensorflow.example"; option go_package = "github.com/tensorflow/tensorflow/tensorflow/go/core/example"; -// LINT.IfChange // An Example is a mostly-normalized data format for storing data for // training and inference. It contains a key-value store (features); where // each key (string) maps to a Feature message (which is oneof packed BytesList, @@ -22,10 +21,8 @@ option go_package = "github.com/tensorflow/tensorflow/tensorflow/go/core/example // read and write this format. That is, the Example is mostly *not* a // self-describing format. In TensorFlow, Examples are read in row-major // format, so any configuration that describes data with rank-2 or above -// should keep this in mind. For example, to store an M x N matrix of Bytes, -// the BytesList must contain M*N bytes, with M rows of N contiguous values -// each. That is, the BytesList value must store the matrix as: -// .... row 0 .... .... row 1 .... // ........... // ... row M-1 .... +// should keep this in mind. If you flatten a matrix into a FloatList it should +// be stored as [ row 0 ... row 1 ... row M-1 ] // // An Example for a movie recommendation application: // features { @@ -302,5 +299,3 @@ message SequenceExample { Features context = 1; FeatureLists feature_lists = 2; } -// LINT.ThenChange( -// https://www.tensorflow.org/code/tensorflow/python/training/training.py) diff --git a/proto/tensorflow/core/framework/attr_value.proto b/proto/tensorflow/core/framework/attr_value.proto index 3ca031b..06024cc 100644 --- a/proto/tensorflow/core/framework/attr_value.proto +++ b/proto/tensorflow/core/framework/attr_value.proto @@ -27,7 +27,7 @@ message AttrValue { repeated TensorProto tensor = 8; // "list(tensor)" repeated NameAttrList func = 9; // "list(attr)" } - // LINT.ThenChange(https://www.tensorflow.org/code/tensorflow/c/c_api.cc) + // LINT.ThenChange(//tensorflow/c/c_api.cc) oneof value { bytes s = 2; // "string" diff --git a/proto/tensorflow/core/framework/full_type.proto b/proto/tensorflow/core/framework/full_type.proto index 34e432a..0022abf 100644 --- a/proto/tensorflow/core/framework/full_type.proto +++ b/proto/tensorflow/core/framework/full_type.proto @@ -8,6 +8,7 @@ option java_multiple_files = true; option java_package = "org.tensorflow.framework"; option go_package = "github.com/tensorflow/tensorflow/tensorflow/go/core/framework"; +// LINT.IfChange // Experimental. Represents the complete type information of a TensorFlow value. enum FullTypeId { // The default represents an uninitialized values. @@ -25,7 +26,7 @@ enum FullTypeId { // TFT_TENSOR[TFT_VAR["T"]], TFT_TENSOR[TFT_VAR["T"]] are two tensors of // identical element types. // TFT_TENSOR[TFT_VAR["P"]], TFT_TENSOR[TFT_VAR["Q"]] are two tensors of - // potentially different element types. + // independent element types. // TFT_VAR = 1; @@ -45,14 +46,53 @@ enum FullTypeId { // TFT_PRODUCT = 3; + // Represents a named field, with the name stored in the attribute. + // + // Parametrization: + // TFT_NAMED[]{} + // * is the type of the field + // * is the field name, as string (thpugh can theoretically be an int + // as well) + // + // Example: + // TFT_RECORD[ + // TFT_NAMED[TFT_TENSOR[TFT_INT32]]{'foo'}, + // TFT_NAMED[TFT_TENSOR[TFT_FLOAT32]]{'bar'}, + // ] + // is a structure with two fields, an int tensor "foo" and a float tensor + // "bar". + TFT_NAMED = 4; + + // Template definition. Expands the variables by repeating a template as + // arguments of container. + // + // Parametrization: + // TFT_FOR_EACH[,