Get desktop application:
View/edit binary Protocol Buffers messages
Heartbeats from the client. This lets the dispatcher know that the client is still active, and gives the dispatcher a chance to notify the client of new tasks.
Next tag: 5
The job client id to heartbeat for.
Reports which round the client is currently reading from when doing round-robin reads.
Reports whether the client has successfully blocked the indicated round from starting. This enables the dispatcher to add a new task in the blocked round or later.
Next tag: 4
A list of all tasks that the client should read from.
Tells the client not to start the given round if possible.
Whether the job has finished.
Gets a dataset defintion.
Next tag: 2
Next tag: 2
Gets a job if it already exists, otherwise creates it.
Next tag: 8
The id of the dataset to create a job for.
A mode controlling how the tf.data service produces data for the job.
Optional job key identifying a shared job. If not set, the RPC will always create a new job.
Optional number of consumers. If set, the job's tasks will provide their elements to consumers round-robin.
Next tag: 2
An id for the client that will read from the job. When the client is done with the job, they should call ReleaseJobClient with this id.
Registers a dataset with the server, or returns its id if it is already registered. The dataset is constructed in a new graph, so it must not refer to external resources or variables.
Next tag: 2
The dataset to register.
Next tag: 2
The id for the registered dataset.
Gets the next split for a given job.
Next tag: 4
Next tag: 3
Returns the API version of the server.
Next tag: 1
(message has no fields)
Next tag: 2
Reports a list of all workers registered with the dispatcher.
Next tag: 1
(message has no fields)
Next tag: 2
A list of all workers.
Attempts to remove a task from a round-robin read job.
Next tag: 4
Next tag: 2
Releases a job client so that a job may eventually be cleaned up.
Next tag: 2
Next tag: 1
(message has no fields)
Performs a periodic worker heartbeat.
Next tag: 4
Next tag: 3
Updates the dispatcher with information about the worker's state.
Next tag: 3
Next tag: 1
(message has no fields)
Gets the next dataset element.
The task to fetch an element from.
Optional index to indentify the consumer.
Optional round index, indicating which round of round-robin the consumer wants to read from. This is used to keep consumers in sync.
Whether the previous round was skipped. This information is needed by the worker to recover after restarts.
Whether to skip the round if data isn't ready fast enough.
The produced element.
The element's index within the task it came from.
Boolean to indicate whether the iterator has been exhausted.
Indicates whether the round was skipped.
Gets the tasks currently being executed by the worker.
Named GetWorkerTasks to avoid conflicting with GetTasks in dispatcher.proto
(message has no fields)
Processes an task for a dataset, making elements available to clients.
(message has no fields)
Next tag: 3
Used in:
Represents the type of auto-sharding we enable.
Used in:
AUTO: Attempts FILE-based sharding, falling back to DATA-based sharding.
FILE: Shards by input files (i.e. each worker will get a set of files to process). When this option is selected, make sure that there is at least as many files as workers. If there are fewer input files than workers, a runtime error will be raised.
DATA: Shards by elements produced by the dataset. Each worker will process the whole dataset and discard the portion that is not for itself. Note that for this mode to correctly partitions the dataset elements, the dataset needs to produce elements in a deterministic order.
HINT: Looks for the presence of `shard(SHARD_HINT, ...)` which is treated as a placeholder to replace with `shard(num_workers, worker_index)`.
OFF: No sharding will be performed.
Updates dispatcher state based on a client heartbeat. Next tag: 4
Used in:
Metadata describing a compressed component of a dataset element.
Used in:
The dtype of the component tensor.
The shape of the component tensor.
Size of the uncompressed tensor bytes. For tensors serialized as TensorProtos, this is TensorProto::BytesAllocatedLong(). For raw Tensors, this is the size of the buffer underlying the Tensor.
Used in:
Compressed tensor bytes for all components of the element.
Metadata for the components of the element.
Next tag: 9
Used in:
Only some jobs have names, so this may be unset.
Optional number of consumers. If set, the job's tasks will provide their elements to consumers round-robin.
Next tag: 6
Used in:
Next tag: 7
Used in:
Next tag: 2
Used in: , ,
We represent datasets as tensorflow GraphDefs which define the operations needed to create a tf.data dataset.
Used in:
The number of devices attached to this input pipeline.
Represents how to handle external state during serialization.
Used in:
Next tag: 2
Used in:
Next tag: 2
Used in:
Next tag: 3
Used in:
A name for the job.
An index for the job. Multiple jobs can be created for the same name, if they have different indices.
Next tag: 3
Used in:
Used in:
Whether to apply default graph optimizations. If False, only graph optimizations that have been explicitly enabled will be applied.
Whether to automatically tune performance knobs.
When autotuning is enabled (through autotune), determines whether to also autotune buffer sizes for datasets with parallelism.
When autotuning is enabled (through autotune), determines the CPU budget to use. Values greater than the number of schedulable CPU cores are allowed but may result in CPU contention.
When autotuning is enabled (through autotune), determines the RAM budget to use. Values greater than the available RAM in bytes may result in OOM. If 0, defaults to half of the available RAM in bytes.
Whether to fuse filter transformations.
Whether to fuse map and batch transformations.
Whether to fuse map and filter transformations.
Whether to fuse map transformations.
Whether to parallelize stateless map transformations.
Whether to eliminate no-op transformations.
Whether to parallelize copying of batch elements. This optimization is highly experimental and can cause performance degradation (e.g. when the parallelization overhead exceeds the benefits of performing the data copies in parallel). You should only enable this optimization if a) your input pipeline is bottlenecked on batching and b) you have validated that this optimization improves performance.
Whether to fuse shuffle and repeat transformations.
Message stored with Dataset objects to control how datasets are processed and optimized.
Whether the outputs need to be produced in deterministic order.
The distribution strategy options associated with the dataset.
The optimization options associated with the dataset.
Whether to introduce 'slack' in the last `prefetch` of the input pipeline, if it exists. This may reduce CPU contention with accelerator host-side activity at the start of a step. The slack frequency is determined by the number of devices attached to this input pipeline.
The threading options associated with the dataset.
This option can be used to override the default policy for how to handle external state when serializing a dataset or checkpointing its iterator. There are three settings available - IGNORE: External state is ignored without a warning; WARN: External state is ignored and a warning is logged; FAIL: External state results in an error.
Next tag: 3
Used in: , ,
Each tf.data worker processes an entire epoch.
Processing of an epoch is distributed across all tf.data workers.
Next tag: 5
Used in:
Whether the split provider reached its end.
Next tag: 3
Used in:
Next tag: 3
Used in:
Next tag: 3
Used in:
The time when the client was released, measured in microseconds since the epoch.
Next tag: 2
Used in:
Next tag: 10
Used in: ,
The dataset to iterate over.
In distributed epoch processing mode, we use one split provider for each source that feeds into the dataset. In parallel_epochs mode, `num_split_providers` is always zero.
Address of the worker that the task is assigned to.
Optional number of consumers. If set, the results of the task will be provided to consumers round-robin.
Next tag: 6
Used in: ,
The address of the worker processing the task.
The transfer address of the worker processing the task.
The task id.
The id of the job that the task is part of.
The round to start reading from the task in. For non-round-robin reads, this is always 0.
Next tag: 3
Used in:
The task that this message is about.
Whether the task has completed.
Indicates that a client failed to block before reaching the target round. Next tag: 2
Used in:
A new target round to try adding the task in.
Used in:
If set, it overrides the maximum degree of intra-op parallelism.
If set, the dataset will use a private threadpool of the given size.
An uncompressed dataset element.
Used in:
Message representing journaled dispatcher metadata updates. When we apply one of these changes to the dispatcher's in-memory state, we also write an Update message to the journal. Next tag: 13
Next tag: 3
Used in: