// Protocol buffers for saved tensor slices. It's used for the brain tensor
|
// ops checkpoints and the V3 checkpoints in dist_belief.
|
|
// A checkpoint file is an sstable. The value for each record is a serialized
|
// SavedTensorSlices message (defined below).
|
//
|
// Each checkpoint file has a record with the empty key (""), which corresponds
|
// to a SavedTensorSlices message that contains a "meta", that serves as a
|
// table of contents on all the tensor slices saved in this file. Since the key
|
// is "", it's always the first record in each file.
|
//
|
// Each of the rest of the records in a checkpoint stores the raw data of a
|
// particular tensor slice, in SavedSlice format. The corresponding key is an
|
// ordered code that encodes the name of the tensor and the slice
|
// information. The name is also stored in the SaveSlice message for ease of
|
// debugging and manual examination.
|
|
syntax = "proto3";
|
|
package tensorflow;
|
option cc_enable_arenas = true;
|
option java_outer_classname = "SavedTensorSliceProtos";
|
option java_multiple_files = true;
|
option java_package = "org.tensorflow.util";
|
|
import "tensorflow/core/framework/tensor_shape.proto";
|
import "tensorflow/core/framework/tensor_slice.proto";
|
import "tensorflow/core/framework/tensor.proto";
|
import "tensorflow/core/framework/types.proto";
|
import "tensorflow/core/framework/versions.proto";
|
|
// Metadata describing the set of slices of the same tensor saved in a
|
// checkpoint file.
|
message SavedSliceMeta {
|
// Name of the tensor.
|
string name = 1;
|
|
// Shape of the tensor
|
TensorShapeProto shape = 2;
|
|
// Type of the tensor
|
DataType type = 3;
|
|
// Explicit list of slices saved in the checkpoint file.
|
repeated TensorSliceProto slice = 4;
|
};
|
|
// Metadata describing the set of tensor slices saved in a checkpoint file.
|
// It is always stored at the beginning of each checkpoint file.
|
message SavedTensorSliceMeta {
|
// Each SavedSliceMeta describes the slices for one tensor.
|
repeated SavedSliceMeta tensor = 1;
|
|
// Compatibility version of this checkpoint. See core/public/version.h
|
// for version history.
|
VersionDef versions = 2;
|
};
|
|
// Saved tensor slice: it stores the name of the tensors, the slice, and the
|
// raw data.
|
message SavedSlice {
|
// Name of the tensor that this slice belongs to. This must be identical to
|
// the name used to encode the key for this record.
|
string name = 1;
|
|
// Extent of the slice. Must have one entry for each of the dimension of the
|
// tensor that this slice belongs to.
|
TensorSliceProto slice = 2;
|
|
// The raw data of the slice is stored as a TensorProto. Only raw data are
|
// stored (we don't fill in fields such as dtype or tensor_shape).
|
TensorProto data = 3;
|
};
|
|
// Each record in a v3 checkpoint file is a serialized SavedTensorSlices
|
// message.
|
message SavedTensorSlices {
|
// This is only present at the first item of each checkpoint file and serves
|
// as a table of contents, listing all the tensor slices saved in this file.
|
SavedTensorSliceMeta meta = 1;
|
|
// This exists in all but the first item of each checkpoint file.
|
SavedSlice data = 2;
|
};
|