public final class
ConfigProto
Session configuration parameters. The system picks appropriate values for fields that are not set.
tensorflow.ConfigProto
Nested Classes
class | ConfigProto.Builder | Session configuration parameters. |
|
class | ConfigProto.Experimental | Everything inside Experimental is subject to change and is not subject to API stability guarantees in https://www.tensorflow.org/guide/version_compat. |
|
interface | ConfigProto.ExperimentalOrBuilder |
Constants
Public Methods
boolean |
containsDeviceCount(String key)
Map from device type name (e.g., "CPU" or "GPU" ) to maximum number of devices of that type to use. |
boolean |
equals(Object obj)
|
boolean |
getAllowSoftPlacement()
Whether soft placement is allowed. |
ClusterDef |
getClusterDef()
Optional list of all workers to use in this session. |
ClusterDefOrBuilder |
getClusterDefOrBuilder()
Optional list of all workers to use in this session. |
static ConfigProto | |
ConfigProto | |
final static com.google.protobuf.Descriptors.Descriptor | |
Map<String, Integer> |
getDeviceCount()
Use
getDeviceCountMap() instead. |
int |
getDeviceCountCount()
Map from device type name (e.g., "CPU" or "GPU" ) to maximum number of devices of that type to use. |
Map<String, Integer> |
getDeviceCountMap()
Map from device type name (e.g., "CPU" or "GPU" ) to maximum number of devices of that type to use. |
int |
getDeviceCountOrDefault(String key, int defaultValue)
Map from device type name (e.g., "CPU" or "GPU" ) to maximum number of devices of that type to use. |
int |
getDeviceCountOrThrow(String key)
Map from device type name (e.g., "CPU" or "GPU" ) to maximum number of devices of that type to use. |
String |
getDeviceFilters(int index)
When any filters are present sessions will ignore all devices which do not match the filters. |
com.google.protobuf.ByteString |
getDeviceFiltersBytes(int index)
When any filters are present sessions will ignore all devices which do not match the filters. |
int |
getDeviceFiltersCount()
When any filters are present sessions will ignore all devices which do not match the filters. |
com.google.protobuf.ProtocolStringList |
getDeviceFiltersList()
When any filters are present sessions will ignore all devices which do not match the filters. |
ConfigProto.Experimental |
getExperimental()
.tensorflow.ConfigProto.Experimental experimental = 16;
|
ConfigProto.ExperimentalOrBuilder |
getExperimentalOrBuilder()
.tensorflow.ConfigProto.Experimental experimental = 16;
|
GPUOptions |
getGpuOptions()
Options that apply to all GPUs. |
GPUOptionsOrBuilder |
getGpuOptionsOrBuilder()
Options that apply to all GPUs. |
GraphOptions |
getGraphOptions()
Options that apply to all graphs. |
GraphOptionsOrBuilder |
getGraphOptionsOrBuilder()
Options that apply to all graphs. |
int |
getInterOpParallelismThreads()
Nodes that perform blocking operations are enqueued on a pool of inter_op_parallelism_threads available in each process. |
int |
getIntraOpParallelismThreads()
The execution of an individual op (for some op types) can be parallelized on a pool of intra_op_parallelism_threads. |
boolean |
getIsolateSessionState()
If true, any resources such as Variables used in the session will not be shared with other sessions. |
boolean |
getLogDevicePlacement()
Whether device placements should be logged. |
long |
getOperationTimeoutInMs()
Global timeout for all blocking operations in this session. |
|
|
int |
getPlacementPeriod()
Assignment of Nodes to Devices is recomputed every placement_period steps until the system warms up (at which point the recomputation typically slows down automatically). |
RPCOptions |
getRpcOptions()
Options that apply when this session uses the distributed runtime. |
RPCOptionsOrBuilder |
getRpcOptionsOrBuilder()
Options that apply when this session uses the distributed runtime. |
int | |
ThreadPoolOptionProto |
getSessionInterOpThreadPool(int index)
This option is experimental - it may be replaced with a different mechanism in the future. |
int |
getSessionInterOpThreadPoolCount()
This option is experimental - it may be replaced with a different mechanism in the future. |
List<ThreadPoolOptionProto> |
getSessionInterOpThreadPoolList()
This option is experimental - it may be replaced with a different mechanism in the future. |
ThreadPoolOptionProtoOrBuilder |
getSessionInterOpThreadPoolOrBuilder(int index)
This option is experimental - it may be replaced with a different mechanism in the future. |
List<? extends ThreadPoolOptionProtoOrBuilder> |
getSessionInterOpThreadPoolOrBuilderList()
This option is experimental - it may be replaced with a different mechanism in the future. |
boolean |
getShareClusterDevicesInSession()
When true, WorkerSessions are created with device attributes from the full cluster. |
final com.google.protobuf.UnknownFieldSet | |
boolean |
getUsePerSessionThreads()
If true, use a new set of threads for this session rather than the global pool of threads. |
boolean |
hasClusterDef()
Optional list of all workers to use in this session. |
boolean |
hasExperimental()
.tensorflow.ConfigProto.Experimental experimental = 16;
|
boolean |
hasGpuOptions()
Options that apply to all GPUs. |
boolean |
hasGraphOptions()
Options that apply to all graphs. |
boolean |
hasRpcOptions()
Options that apply when this session uses the distributed runtime. |
int |
hashCode()
|
final boolean | |
static ConfigProto.Builder | |
static ConfigProto.Builder |
newBuilder(ConfigProto prototype)
|
ConfigProto.Builder | |
static ConfigProto |
parseDelimitedFrom(InputStream input)
|
static ConfigProto |
parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
static ConfigProto |
parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
static ConfigProto |
parseFrom(com.google.protobuf.CodedInputStream input)
|
static ConfigProto |
parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
static ConfigProto |
parseFrom(ByteBuffer data)
|
static ConfigProto |
parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
static ConfigProto |
parseFrom(com.google.protobuf.ByteString data)
|
static ConfigProto |
parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
static ConfigProto |
parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
static
|
parser()
|
ConfigProto.Builder | |
void |
writeTo(com.google.protobuf.CodedOutputStream output)
|
Inherited Methods
Constants
public static final int ALLOW_SOFT_PLACEMENT_FIELD_NUMBER
Constant Value:
7
public static final int CLUSTER_DEF_FIELD_NUMBER
Constant Value:
14
public static final int DEVICE_COUNT_FIELD_NUMBER
Constant Value:
1
public static final int DEVICE_FILTERS_FIELD_NUMBER
Constant Value:
4
public static final int EXPERIMENTAL_FIELD_NUMBER
Constant Value:
16
public static final int GPU_OPTIONS_FIELD_NUMBER
Constant Value:
6
public static final int GRAPH_OPTIONS_FIELD_NUMBER
Constant Value:
10
public static final int INTER_OP_PARALLELISM_THREADS_FIELD_NUMBER
Constant Value:
5
public static final int INTRA_OP_PARALLELISM_THREADS_FIELD_NUMBER
Constant Value:
2
public static final int ISOLATE_SESSION_STATE_FIELD_NUMBER
Constant Value:
15
public static final int LOG_DEVICE_PLACEMENT_FIELD_NUMBER
Constant Value:
8
public static final int OPERATION_TIMEOUT_IN_MS_FIELD_NUMBER
Constant Value:
11
public static final int PLACEMENT_PERIOD_FIELD_NUMBER
Constant Value:
3
public static final int RPC_OPTIONS_FIELD_NUMBER
Constant Value:
13
public static final int SESSION_INTER_OP_THREAD_POOL_FIELD_NUMBER
Constant Value:
12
public static final int SHARE_CLUSTER_DEVICES_IN_SESSION_FIELD_NUMBER
Constant Value:
17
public static final int USE_PER_SESSION_THREADS_FIELD_NUMBER
Constant Value:
9
Public Methods
public boolean containsDeviceCount (String key)
Map from device type name (e.g., "CPU" or "GPU" ) to maximum number of devices of that type to use. If a particular device type is not found in the map, the system picks an appropriate number.
map<string, int32> device_count = 1;
public boolean equals (Object obj)
public boolean getAllowSoftPlacement ()
Whether soft placement is allowed. If allow_soft_placement is true, an op will be placed on CPU if 1. there's no GPU implementation for the OP or 2. no GPU devices are known or registered or 3. need to co-locate with reftype input(s) which are from CPU.
bool allow_soft_placement = 7;
public ClusterDef getClusterDef ()
Optional list of all workers to use in this session.
.tensorflow.ClusterDef cluster_def = 14;
public ClusterDefOrBuilder getClusterDefOrBuilder ()
Optional list of all workers to use in this session.
.tensorflow.ClusterDef cluster_def = 14;
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor ()
public int getDeviceCountCount ()
Map from device type name (e.g., "CPU" or "GPU" ) to maximum number of devices of that type to use. If a particular device type is not found in the map, the system picks an appropriate number.
map<string, int32> device_count = 1;
public Map<String, Integer> getDeviceCountMap ()
Map from device type name (e.g., "CPU" or "GPU" ) to maximum number of devices of that type to use. If a particular device type is not found in the map, the system picks an appropriate number.
map<string, int32> device_count = 1;
public int getDeviceCountOrDefault (String key, int defaultValue)
Map from device type name (e.g., "CPU" or "GPU" ) to maximum number of devices of that type to use. If a particular device type is not found in the map, the system picks an appropriate number.
map<string, int32> device_count = 1;
public int getDeviceCountOrThrow (String key)
Map from device type name (e.g., "CPU" or "GPU" ) to maximum number of devices of that type to use. If a particular device type is not found in the map, the system picks an appropriate number.
map<string, int32> device_count = 1;
public String getDeviceFilters (int index)
When any filters are present sessions will ignore all devices which do not match the filters. Each filter can be partially specified, e.g. "/job:ps" "/job:worker/replica:3", etc.
repeated string device_filters = 4;
public com.google.protobuf.ByteString getDeviceFiltersBytes (int index)
When any filters are present sessions will ignore all devices which do not match the filters. Each filter can be partially specified, e.g. "/job:ps" "/job:worker/replica:3", etc.
repeated string device_filters = 4;
public int getDeviceFiltersCount ()
When any filters are present sessions will ignore all devices which do not match the filters. Each filter can be partially specified, e.g. "/job:ps" "/job:worker/replica:3", etc.
repeated string device_filters = 4;
public com.google.protobuf.ProtocolStringList getDeviceFiltersList ()
When any filters are present sessions will ignore all devices which do not match the filters. Each filter can be partially specified, e.g. "/job:ps" "/job:worker/replica:3", etc.
repeated string device_filters = 4;
public ConfigProto.Experimental getExperimental ()
.tensorflow.ConfigProto.Experimental experimental = 16;
public ConfigProto.ExperimentalOrBuilder getExperimentalOrBuilder ()
.tensorflow.ConfigProto.Experimental experimental = 16;
public GPUOptions getGpuOptions ()
Options that apply to all GPUs.
.tensorflow.GPUOptions gpu_options = 6;
public GPUOptionsOrBuilder getGpuOptionsOrBuilder ()
Options that apply to all GPUs.
.tensorflow.GPUOptions gpu_options = 6;
public GraphOptions getGraphOptions ()
Options that apply to all graphs.
.tensorflow.GraphOptions graph_options = 10;
public GraphOptionsOrBuilder getGraphOptionsOrBuilder ()
Options that apply to all graphs.
.tensorflow.GraphOptions graph_options = 10;
public int getInterOpParallelismThreads ()
Nodes that perform blocking operations are enqueued on a pool of inter_op_parallelism_threads available in each process. 0 means the system picks an appropriate number. Negative means all operations are performed in caller's thread. Note that the first Session created in the process sets the number of threads for all future sessions unless use_per_session_threads is true or session_inter_op_thread_pool is configured.
int32 inter_op_parallelism_threads = 5;
public int getIntraOpParallelismThreads ()
The execution of an individual op (for some op types) can be parallelized on a pool of intra_op_parallelism_threads. 0 means the system picks an appropriate number. If you create an ordinary session, e.g., from Python or C++, then there is exactly one intra op thread pool per process. The first session created determines the number of threads in this pool. All subsequent sessions reuse/share this one global pool. There are notable exceptions to the default behavior describe above: 1. There is an environment variable for overriding this thread pool, named TF_OVERRIDE_GLOBAL_THREADPOOL. 2. When connecting to a server, such as a remote `tf.train.Server` instance, then this option will be ignored altogether.
int32 intra_op_parallelism_threads = 2;
public boolean getIsolateSessionState ()
If true, any resources such as Variables used in the session will not be shared with other sessions. However, when clusterspec propagation is enabled, this field is ignored and sessions are always isolated.
bool isolate_session_state = 15;
public boolean getLogDevicePlacement ()
Whether device placements should be logged.
bool log_device_placement = 8;
public long getOperationTimeoutInMs ()
Global timeout for all blocking operations in this session. If non-zero, and not overridden on a per-operation basis, this value will be used as the deadline for all blocking operations.
int64 operation_timeout_in_ms = 11;
public
getParserForType
()
public int getPlacementPeriod ()
Assignment of Nodes to Devices is recomputed every placement_period steps until the system warms up (at which point the recomputation typically slows down automatically).
int32 placement_period = 3;
public RPCOptions getRpcOptions ()
Options that apply when this session uses the distributed runtime.
.tensorflow.RPCOptions rpc_options = 13;
public RPCOptionsOrBuilder getRpcOptionsOrBuilder ()
Options that apply when this session uses the distributed runtime.
.tensorflow.RPCOptions rpc_options = 13;
public int getSerializedSize ()
public ThreadPoolOptionProto getSessionInterOpThreadPool (int index)
This option is experimental - it may be replaced with a different mechanism in the future. Configures session thread pools. If this is configured, then RunOptions for a Run call can select the thread pool to use. The intended use is for when some session invocations need to run in a background pool limited to a small number of threads: - For example, a session may be configured to have one large pool (for regular compute) and one small pool (for periodic, low priority work); using the small pool is currently the mechanism for limiting the inter-op parallelism of the low priority work. Note that it does not limit the parallelism of work spawned by a single op kernel implementation. - Using this setting is normally not needed in training, but may help some serving use cases. - It is also generally recommended to set the global_name field of this proto, to avoid creating multiple large pools. It is typically better to run the non-low-priority work, even across sessions, in a single large pool.
repeated .tensorflow.ThreadPoolOptionProto session_inter_op_thread_pool = 12;
public int getSessionInterOpThreadPoolCount ()
This option is experimental - it may be replaced with a different mechanism in the future. Configures session thread pools. If this is configured, then RunOptions for a Run call can select the thread pool to use. The intended use is for when some session invocations need to run in a background pool limited to a small number of threads: - For example, a session may be configured to have one large pool (for regular compute) and one small pool (for periodic, low priority work); using the small pool is currently the mechanism for limiting the inter-op parallelism of the low priority work. Note that it does not limit the parallelism of work spawned by a single op kernel implementation. - Using this setting is normally not needed in training, but may help some serving use cases. - It is also generally recommended to set the global_name field of this proto, to avoid creating multiple large pools. It is typically better to run the non-low-priority work, even across sessions, in a single large pool.
repeated .tensorflow.ThreadPoolOptionProto session_inter_op_thread_pool = 12;
public List<ThreadPoolOptionProto> getSessionInterOpThreadPoolList ()
This option is experimental - it may be replaced with a different mechanism in the future. Configures session thread pools. If this is configured, then RunOptions for a Run call can select the thread pool to use. The intended use is for when some session invocations need to run in a background pool limited to a small number of threads: - For example, a session may be configured to have one large pool (for regular compute) and one small pool (for periodic, low priority work); using the small pool is currently the mechanism for limiting the inter-op parallelism of the low priority work. Note that it does not limit the parallelism of work spawned by a single op kernel implementation. - Using this setting is normally not needed in training, but may help some serving use cases. - It is also generally recommended to set the global_name field of this proto, to avoid creating multiple large pools. It is typically better to run the non-low-priority work, even across sessions, in a single large pool.
repeated .tensorflow.ThreadPoolOptionProto session_inter_op_thread_pool = 12;
public ThreadPoolOptionProtoOrBuilder getSessionInterOpThreadPoolOrBuilder (int index)
This option is experimental - it may be replaced with a different mechanism in the future. Configures session thread pools. If this is configured, then RunOptions for a Run call can select the thread pool to use. The intended use is for when some session invocations need to run in a background pool limited to a small number of threads: - For example, a session may be configured to have one large pool (for regular compute) and one small pool (for periodic, low priority work); using the small pool is currently the mechanism for limiting the inter-op parallelism of the low priority work. Note that it does not limit the parallelism of work spawned by a single op kernel implementation. - Using this setting is normally not needed in training, but may help some serving use cases. - It is also generally recommended to set the global_name field of this proto, to avoid creating multiple large pools. It is typically better to run the non-low-priority work, even across sessions, in a single large pool.
repeated .tensorflow.ThreadPoolOptionProto session_inter_op_thread_pool = 12;
public List<? extends ThreadPoolOptionProtoOrBuilder> getSessionInterOpThreadPoolOrBuilderList ()
This option is experimental - it may be replaced with a different mechanism in the future. Configures session thread pools. If this is configured, then RunOptions for a Run call can select the thread pool to use. The intended use is for when some session invocations need to run in a background pool limited to a small number of threads: - For example, a session may be configured to have one large pool (for regular compute) and one small pool (for periodic, low priority work); using the small pool is currently the mechanism for limiting the inter-op parallelism of the low priority work. Note that it does not limit the parallelism of work spawned by a single op kernel implementation. - Using this setting is normally not needed in training, but may help some serving use cases. - It is also generally recommended to set the global_name field of this proto, to avoid creating multiple large pools. It is typically better to run the non-low-priority work, even across sessions, in a single large pool.
repeated .tensorflow.ThreadPoolOptionProto session_inter_op_thread_pool = 12;
public boolean getShareClusterDevicesInSession ()
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).
bool share_cluster_devices_in_session = 17;
public final com.google.protobuf.UnknownFieldSet getUnknownFields ()
public boolean getUsePerSessionThreads ()
If true, use a new set of threads for this session rather than the global pool of threads. Only supported by direct sessions. If false, use the global threads created by the first session, or the per-session thread pools configured by session_inter_op_thread_pool. This option is deprecated. The same effect can be achieved by setting session_inter_op_thread_pool to have one element, whose num_threads equals inter_op_parallelism_threads.
bool use_per_session_threads = 9;
public boolean hasClusterDef ()
Optional list of all workers to use in this session.
.tensorflow.ClusterDef cluster_def = 14;
public boolean hasExperimental ()
.tensorflow.ConfigProto.Experimental experimental = 16;
public boolean hasGpuOptions ()
Options that apply to all GPUs.
.tensorflow.GPUOptions gpu_options = 6;
public boolean hasGraphOptions ()
Options that apply to all graphs.
.tensorflow.GraphOptions graph_options = 10;
public boolean hasRpcOptions ()
Options that apply when this session uses the distributed runtime.
.tensorflow.RPCOptions rpc_options = 13;
public int hashCode ()
public final boolean isInitialized ()
public static ConfigProto parseDelimitedFrom (InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
Throws
IOException |
---|
public static ConfigProto parseFrom (ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
Throws
InvalidProtocolBufferException |
---|
public static ConfigProto parseFrom (byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
Throws
InvalidProtocolBufferException |
---|
public static ConfigProto parseFrom (com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
Throws
IOException |
---|
public static ConfigProto parseFrom (com.google.protobuf.ByteString data)
Throws
InvalidProtocolBufferException |
---|
public static ConfigProto parseFrom (InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
Throws
IOException |
---|
public static ConfigProto parseFrom (com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
Throws
InvalidProtocolBufferException |
---|
public
static
parser
()
public void writeTo (com.google.protobuf.CodedOutputStream output)
Throws
IOException |
---|