[][src]Struct tensorflow_proto::tensorflow::config_proto::Experimental

pub struct Experimental {
    pub collective_group_leader: String,
    pub executor_type: String,
    pub recv_buf_max_chunk: i32,
    pub use_numa_affinity: bool,
    pub collective_deterministic_sequential_execution: bool,
    pub collective_nccl: bool,
    pub share_session_state_in_clusterspec_propagation: bool,
    pub disable_thread_spinning: bool,
    pub share_cluster_devices_in_session: bool,
    pub session_metadata: Option<SessionMetadata>,
    pub optimize_for_static_graph: bool,
}

Everything inside Experimental is subject to change and is not subject to API stability guarantees in https://www.tensorflow.org/guide/version_compat.

Fields

collective_group_leader: String

Task name for group resolution.

executor_type: String

Which executor to use, the default executor will be used if it is an empty string or "DEFAULT"

recv_buf_max_chunk: i32

Guidance to formatting of large RecvBuf fields for transfer. Any positive value sets the max chunk size. 0 defaults to 4096. Any negative value indicates no max, i.e. one chunk only.

use_numa_affinity: bool

If true, and supported by the platform, the runtime will attempt to use NUMA affinity where applicable. One consequence will be the existence of as many CPU devices as there are available NUMA nodes.

collective_deterministic_sequential_execution: bool

If true, make collective op execution order sequential and deterministic for potentially concurrent collective instances.

collective_nccl: bool

If true, use NCCL for CollectiveOps. This feature is highly experimental.

share_session_state_in_clusterspec_propagation: bool

In the following, session state means the value of a variable, elements in a hash table, or any other resource, accessible by worker sessions held by a TF server.

When ClusterSpec propagation is enabled, the value of isolate_session_state is ignored when deciding whether to share session states in a TF server (for backwards compatibility reasons).

  • If share_session_state_in_clusterspec_propagation is true, the session states are shared.
  • If share_session_state_in_clusterspec_propagation is false, session states are isolated.

When clusterspec propagation is not used, the value of share_session_state_in_clusterspec_propagation is ignored when deciding whether to share session states in a TF server.

  • If isolate_session_state is true, session states are isolated.
  • If isolate_session_state is false, session states are shared.

TODO(b/129330037): Add a single API that consistently treats isolate_session_state and ClusterSpec propagation.

disable_thread_spinning: bool

If using a direct session, disable spinning while waiting for work in the thread pool. This may result in higher latency for completing ops, but in the case where there is a lot of spinning may result in lower CPU usage.

share_cluster_devices_in_session: bool

When true, WorkerSessions are created with device attributes from the full cluster. This is helpful when a worker wants to partition a graph (for example during a PartitionedCallOp).

session_metadata: Option<SessionMetadata>

Metadata about the session.

If set, this can be used by the runtime and the Ops for debugging, monitoring, etc.

NOTE: This is currently used and propagated only by the direct session.

optimize_for_static_graph: bool

If true, the session may treat the graph as being static for optimization purposes.

If this option is set to true when a session is created, the full GraphDef must be passed in a single call to Session::Create(), and Session::Extend() may not be supported.

Trait Implementations

impl Clone for Experimental[src]

impl Debug for Experimental[src]

impl Default for Experimental[src]

impl Message for Experimental[src]

impl PartialEq<Experimental> for Experimental[src]

impl StructuralPartialEq for Experimental[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.