org.tensorflow.framework.ConfigProto Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of proto Show documentation
Show all versions of proto Show documentation
Java API for TensorFlow protocol buffers.
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: tensorflow/core/protobuf/config.proto
package org.tensorflow.framework;
/**
*
* Session configuration parameters.
* The system picks appropriate values for fields that are not set.
*
*
* Protobuf type {@code tensorflow.ConfigProto}
*/
public final class ConfigProto extends
com.google.protobuf.GeneratedMessageV3 implements
// @@protoc_insertion_point(message_implements:tensorflow.ConfigProto)
ConfigProtoOrBuilder {
private static final long serialVersionUID = 0L;
// Use ConfigProto.newBuilder() to construct.
private ConfigProto(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
super(builder);
}
private ConfigProto() {
intraOpParallelismThreads_ = 0;
interOpParallelismThreads_ = 0;
usePerSessionThreads_ = false;
sessionInterOpThreadPool_ = java.util.Collections.emptyList();
placementPeriod_ = 0;
deviceFilters_ = com.google.protobuf.LazyStringArrayList.EMPTY;
allowSoftPlacement_ = false;
logDevicePlacement_ = false;
operationTimeoutInMs_ = 0L;
isolateSessionState_ = false;
}
@java.lang.Override
public final com.google.protobuf.UnknownFieldSet
getUnknownFields() {
return this.unknownFields;
}
private ConfigProto(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
this();
if (extensionRegistry == null) {
throw new java.lang.NullPointerException();
}
int mutable_bitField0_ = 0;
com.google.protobuf.UnknownFieldSet.Builder unknownFields =
com.google.protobuf.UnknownFieldSet.newBuilder();
try {
boolean done = false;
while (!done) {
int tag = input.readTag();
switch (tag) {
case 0:
done = true;
break;
default: {
if (!parseUnknownFieldProto3(
input, unknownFields, extensionRegistry, tag)) {
done = true;
}
break;
}
case 10: {
if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
deviceCount_ = com.google.protobuf.MapField.newMapField(
DeviceCountDefaultEntryHolder.defaultEntry);
mutable_bitField0_ |= 0x00000001;
}
com.google.protobuf.MapEntry
deviceCount__ = input.readMessage(
DeviceCountDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
deviceCount_.getMutableMap().put(
deviceCount__.getKey(), deviceCount__.getValue());
break;
}
case 16: {
intraOpParallelismThreads_ = input.readInt32();
break;
}
case 24: {
placementPeriod_ = input.readInt32();
break;
}
case 34: {
java.lang.String s = input.readStringRequireUtf8();
if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
deviceFilters_ = new com.google.protobuf.LazyStringArrayList();
mutable_bitField0_ |= 0x00000040;
}
deviceFilters_.add(s);
break;
}
case 40: {
interOpParallelismThreads_ = input.readInt32();
break;
}
case 50: {
org.tensorflow.framework.GPUOptions.Builder subBuilder = null;
if (gpuOptions_ != null) {
subBuilder = gpuOptions_.toBuilder();
}
gpuOptions_ = input.readMessage(org.tensorflow.framework.GPUOptions.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom(gpuOptions_);
gpuOptions_ = subBuilder.buildPartial();
}
break;
}
case 56: {
allowSoftPlacement_ = input.readBool();
break;
}
case 64: {
logDevicePlacement_ = input.readBool();
break;
}
case 72: {
usePerSessionThreads_ = input.readBool();
break;
}
case 82: {
org.tensorflow.framework.GraphOptions.Builder subBuilder = null;
if (graphOptions_ != null) {
subBuilder = graphOptions_.toBuilder();
}
graphOptions_ = input.readMessage(org.tensorflow.framework.GraphOptions.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom(graphOptions_);
graphOptions_ = subBuilder.buildPartial();
}
break;
}
case 88: {
operationTimeoutInMs_ = input.readInt64();
break;
}
case 98: {
if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
sessionInterOpThreadPool_ = new java.util.ArrayList();
mutable_bitField0_ |= 0x00000010;
}
sessionInterOpThreadPool_.add(
input.readMessage(org.tensorflow.framework.ThreadPoolOptionProto.parser(), extensionRegistry));
break;
}
case 106: {
org.tensorflow.framework.RPCOptions.Builder subBuilder = null;
if (rpcOptions_ != null) {
subBuilder = rpcOptions_.toBuilder();
}
rpcOptions_ = input.readMessage(org.tensorflow.framework.RPCOptions.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom(rpcOptions_);
rpcOptions_ = subBuilder.buildPartial();
}
break;
}
case 114: {
org.tensorflow.distruntime.ClusterDef.Builder subBuilder = null;
if (clusterDef_ != null) {
subBuilder = clusterDef_.toBuilder();
}
clusterDef_ = input.readMessage(org.tensorflow.distruntime.ClusterDef.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom(clusterDef_);
clusterDef_ = subBuilder.buildPartial();
}
break;
}
case 120: {
isolateSessionState_ = input.readBool();
break;
}
case 130: {
org.tensorflow.framework.ConfigProto.Experimental.Builder subBuilder = null;
if (experimental_ != null) {
subBuilder = experimental_.toBuilder();
}
experimental_ = input.readMessage(org.tensorflow.framework.ConfigProto.Experimental.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom(experimental_);
experimental_ = subBuilder.buildPartial();
}
break;
}
}
}
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
throw e.setUnfinishedMessage(this);
} catch (java.io.IOException e) {
throw new com.google.protobuf.InvalidProtocolBufferException(
e).setUnfinishedMessage(this);
} finally {
if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
deviceFilters_ = deviceFilters_.getUnmodifiableView();
}
if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
sessionInterOpThreadPool_ = java.util.Collections.unmodifiableList(sessionInterOpThreadPool_);
}
this.unknownFields = unknownFields.build();
makeExtensionsImmutable();
}
}
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return org.tensorflow.framework.ConfigProtos.internal_static_tensorflow_ConfigProto_descriptor;
}
@SuppressWarnings({"rawtypes"})
protected com.google.protobuf.MapField internalGetMapField(
int number) {
switch (number) {
case 1:
return internalGetDeviceCount();
default:
throw new RuntimeException(
"Invalid map field number: " + number);
}
}
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
return org.tensorflow.framework.ConfigProtos.internal_static_tensorflow_ConfigProto_fieldAccessorTable
.ensureFieldAccessorsInitialized(
org.tensorflow.framework.ConfigProto.class, org.tensorflow.framework.ConfigProto.Builder.class);
}
public interface ExperimentalOrBuilder extends
// @@protoc_insertion_point(interface_extends:tensorflow.ConfigProto.Experimental)
com.google.protobuf.MessageOrBuilder {
/**
*
* Task name for group resolution.
*
*
* string collective_group_leader = 1;
*/
java.lang.String getCollectiveGroupLeader();
/**
*
* Task name for group resolution.
*
*
* string collective_group_leader = 1;
*/
com.google.protobuf.ByteString
getCollectiveGroupLeaderBytes();
/**
*
* Which executor to use, the default executor will be used
* if it is an empty string or "DEFAULT"
*
*
* string executor_type = 3;
*/
java.lang.String getExecutorType();
/**
*
* Which executor to use, the default executor will be used
* if it is an empty string or "DEFAULT"
*
*
* string executor_type = 3;
*/
com.google.protobuf.ByteString
getExecutorTypeBytes();
/**
*
* 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.
*
*
* int32 recv_buf_max_chunk = 4;
*/
int getRecvBufMaxChunk();
/**
*
* 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.
*
*
* bool use_numa_affinity = 5;
*/
boolean getUseNumaAffinity();
/**
*
* If true, make collective op execution order sequential and deterministic
* for potentially concurrent collective instances.
*
*
* bool collective_deterministic_sequential_execution = 6;
*/
boolean getCollectiveDeterministicSequentialExecution();
/**
*
* If true, use NCCL for CollectiveOps. This feature is highly
* experimental.
*
*
* bool collective_nccl = 7;
*/
boolean getCollectiveNccl();
/**
*
* 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.
*
*
* bool share_session_state_in_clusterspec_propagation = 8;
*/
boolean getShareSessionStateInClusterspecPropagation();
/**
*
* 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.
*
*
* bool disable_thread_spinning = 9;
*/
boolean getDisableThreadSpinning();
/**
*
* 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 = 10;
*/
boolean getShareClusterDevicesInSession();
}
/**
*
* Everything inside Experimental is subject to change and is not subject
* to API stability guarantees in
* https://www.tensorflow.org/guide/version_compat.
*
*
* Protobuf type {@code tensorflow.ConfigProto.Experimental}
*/
public static final class Experimental extends
com.google.protobuf.GeneratedMessageV3 implements
// @@protoc_insertion_point(message_implements:tensorflow.ConfigProto.Experimental)
ExperimentalOrBuilder {
private static final long serialVersionUID = 0L;
// Use Experimental.newBuilder() to construct.
private Experimental(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
super(builder);
}
private Experimental() {
collectiveGroupLeader_ = "";
executorType_ = "";
recvBufMaxChunk_ = 0;
useNumaAffinity_ = false;
collectiveDeterministicSequentialExecution_ = false;
collectiveNccl_ = false;
shareSessionStateInClusterspecPropagation_ = false;
disableThreadSpinning_ = false;
shareClusterDevicesInSession_ = false;
}
@java.lang.Override
public final com.google.protobuf.UnknownFieldSet
getUnknownFields() {
return this.unknownFields;
}
private Experimental(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
this();
if (extensionRegistry == null) {
throw new java.lang.NullPointerException();
}
int mutable_bitField0_ = 0;
com.google.protobuf.UnknownFieldSet.Builder unknownFields =
com.google.protobuf.UnknownFieldSet.newBuilder();
try {
boolean done = false;
while (!done) {
int tag = input.readTag();
switch (tag) {
case 0:
done = true;
break;
default: {
if (!parseUnknownFieldProto3(
input, unknownFields, extensionRegistry, tag)) {
done = true;
}
break;
}
case 10: {
java.lang.String s = input.readStringRequireUtf8();
collectiveGroupLeader_ = s;
break;
}
case 26: {
java.lang.String s = input.readStringRequireUtf8();
executorType_ = s;
break;
}
case 32: {
recvBufMaxChunk_ = input.readInt32();
break;
}
case 40: {
useNumaAffinity_ = input.readBool();
break;
}
case 48: {
collectiveDeterministicSequentialExecution_ = input.readBool();
break;
}
case 56: {
collectiveNccl_ = input.readBool();
break;
}
case 64: {
shareSessionStateInClusterspecPropagation_ = input.readBool();
break;
}
case 72: {
disableThreadSpinning_ = input.readBool();
break;
}
case 80: {
shareClusterDevicesInSession_ = input.readBool();
break;
}
}
}
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
throw e.setUnfinishedMessage(this);
} catch (java.io.IOException e) {
throw new com.google.protobuf.InvalidProtocolBufferException(
e).setUnfinishedMessage(this);
} finally {
this.unknownFields = unknownFields.build();
makeExtensionsImmutable();
}
}
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return org.tensorflow.framework.ConfigProtos.internal_static_tensorflow_ConfigProto_Experimental_descriptor;
}
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
return org.tensorflow.framework.ConfigProtos.internal_static_tensorflow_ConfigProto_Experimental_fieldAccessorTable
.ensureFieldAccessorsInitialized(
org.tensorflow.framework.ConfigProto.Experimental.class, org.tensorflow.framework.ConfigProto.Experimental.Builder.class);
}
public static final int COLLECTIVE_GROUP_LEADER_FIELD_NUMBER = 1;
private volatile java.lang.Object collectiveGroupLeader_;
/**
*
* Task name for group resolution.
*
*
* string collective_group_leader = 1;
*/
public java.lang.String getCollectiveGroupLeader() {
java.lang.Object ref = collectiveGroupLeader_;
if (ref instanceof java.lang.String) {
return (java.lang.String) ref;
} else {
com.google.protobuf.ByteString bs =
(com.google.protobuf.ByteString) ref;
java.lang.String s = bs.toStringUtf8();
collectiveGroupLeader_ = s;
return s;
}
}
/**
*
* Task name for group resolution.
*
*
* string collective_group_leader = 1;
*/
public com.google.protobuf.ByteString
getCollectiveGroupLeaderBytes() {
java.lang.Object ref = collectiveGroupLeader_;
if (ref instanceof java.lang.String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
collectiveGroupLeader_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
public static final int EXECUTOR_TYPE_FIELD_NUMBER = 3;
private volatile java.lang.Object executorType_;
/**
*
* Which executor to use, the default executor will be used
* if it is an empty string or "DEFAULT"
*
*
* string executor_type = 3;
*/
public java.lang.String getExecutorType() {
java.lang.Object ref = executorType_;
if (ref instanceof java.lang.String) {
return (java.lang.String) ref;
} else {
com.google.protobuf.ByteString bs =
(com.google.protobuf.ByteString) ref;
java.lang.String s = bs.toStringUtf8();
executorType_ = s;
return s;
}
}
/**
*
* Which executor to use, the default executor will be used
* if it is an empty string or "DEFAULT"
*
*
* string executor_type = 3;
*/
public com.google.protobuf.ByteString
getExecutorTypeBytes() {
java.lang.Object ref = executorType_;
if (ref instanceof java.lang.String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
executorType_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
public static final int RECV_BUF_MAX_CHUNK_FIELD_NUMBER = 4;
private int recvBufMaxChunk_;
/**
*
* 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.
*
*
* int32 recv_buf_max_chunk = 4;
*/
public int getRecvBufMaxChunk() {
return recvBufMaxChunk_;
}
public static final int USE_NUMA_AFFINITY_FIELD_NUMBER = 5;
private boolean useNumaAffinity_;
/**
*
* 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.
*
*
* bool use_numa_affinity = 5;
*/
public boolean getUseNumaAffinity() {
return useNumaAffinity_;
}
public static final int COLLECTIVE_DETERMINISTIC_SEQUENTIAL_EXECUTION_FIELD_NUMBER = 6;
private boolean collectiveDeterministicSequentialExecution_;
/**
*
* If true, make collective op execution order sequential and deterministic
* for potentially concurrent collective instances.
*
*
* bool collective_deterministic_sequential_execution = 6;
*/
public boolean getCollectiveDeterministicSequentialExecution() {
return collectiveDeterministicSequentialExecution_;
}
public static final int COLLECTIVE_NCCL_FIELD_NUMBER = 7;
private boolean collectiveNccl_;
/**
*
* If true, use NCCL for CollectiveOps. This feature is highly
* experimental.
*
*
* bool collective_nccl = 7;
*/
public boolean getCollectiveNccl() {
return collectiveNccl_;
}
public static final int SHARE_SESSION_STATE_IN_CLUSTERSPEC_PROPAGATION_FIELD_NUMBER = 8;
private boolean shareSessionStateInClusterspecPropagation_;
/**
*
* 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.
*
*
* bool share_session_state_in_clusterspec_propagation = 8;
*/
public boolean getShareSessionStateInClusterspecPropagation() {
return shareSessionStateInClusterspecPropagation_;
}
public static final int DISABLE_THREAD_SPINNING_FIELD_NUMBER = 9;
private boolean disableThreadSpinning_;
/**
*
* 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.
*
*
* bool disable_thread_spinning = 9;
*/
public boolean getDisableThreadSpinning() {
return disableThreadSpinning_;
}
public static final int SHARE_CLUSTER_DEVICES_IN_SESSION_FIELD_NUMBER = 10;
private boolean shareClusterDevicesInSession_;
/**
*
* 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 = 10;
*/
public boolean getShareClusterDevicesInSession() {
return shareClusterDevicesInSession_;
}
private byte memoizedIsInitialized = -1;
public final boolean isInitialized() {
byte isInitialized = memoizedIsInitialized;
if (isInitialized == 1) return true;
if (isInitialized == 0) return false;
memoizedIsInitialized = 1;
return true;
}
public void writeTo(com.google.protobuf.CodedOutputStream output)
throws java.io.IOException {
if (!getCollectiveGroupLeaderBytes().isEmpty()) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 1, collectiveGroupLeader_);
}
if (!getExecutorTypeBytes().isEmpty()) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 3, executorType_);
}
if (recvBufMaxChunk_ != 0) {
output.writeInt32(4, recvBufMaxChunk_);
}
if (useNumaAffinity_ != false) {
output.writeBool(5, useNumaAffinity_);
}
if (collectiveDeterministicSequentialExecution_ != false) {
output.writeBool(6, collectiveDeterministicSequentialExecution_);
}
if (collectiveNccl_ != false) {
output.writeBool(7, collectiveNccl_);
}
if (shareSessionStateInClusterspecPropagation_ != false) {
output.writeBool(8, shareSessionStateInClusterspecPropagation_);
}
if (disableThreadSpinning_ != false) {
output.writeBool(9, disableThreadSpinning_);
}
if (shareClusterDevicesInSession_ != false) {
output.writeBool(10, shareClusterDevicesInSession_);
}
unknownFields.writeTo(output);
}
public int getSerializedSize() {
int size = memoizedSize;
if (size != -1) return size;
size = 0;
if (!getCollectiveGroupLeaderBytes().isEmpty()) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, collectiveGroupLeader_);
}
if (!getExecutorTypeBytes().isEmpty()) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, executorType_);
}
if (recvBufMaxChunk_ != 0) {
size += com.google.protobuf.CodedOutputStream
.computeInt32Size(4, recvBufMaxChunk_);
}
if (useNumaAffinity_ != false) {
size += com.google.protobuf.CodedOutputStream
.computeBoolSize(5, useNumaAffinity_);
}
if (collectiveDeterministicSequentialExecution_ != false) {
size += com.google.protobuf.CodedOutputStream
.computeBoolSize(6, collectiveDeterministicSequentialExecution_);
}
if (collectiveNccl_ != false) {
size += com.google.protobuf.CodedOutputStream
.computeBoolSize(7, collectiveNccl_);
}
if (shareSessionStateInClusterspecPropagation_ != false) {
size += com.google.protobuf.CodedOutputStream
.computeBoolSize(8, shareSessionStateInClusterspecPropagation_);
}
if (disableThreadSpinning_ != false) {
size += com.google.protobuf.CodedOutputStream
.computeBoolSize(9, disableThreadSpinning_);
}
if (shareClusterDevicesInSession_ != false) {
size += com.google.protobuf.CodedOutputStream
.computeBoolSize(10, shareClusterDevicesInSession_);
}
size += unknownFields.getSerializedSize();
memoizedSize = size;
return size;
}
@java.lang.Override
public boolean equals(final java.lang.Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof org.tensorflow.framework.ConfigProto.Experimental)) {
return super.equals(obj);
}
org.tensorflow.framework.ConfigProto.Experimental other = (org.tensorflow.framework.ConfigProto.Experimental) obj;
boolean result = true;
result = result && getCollectiveGroupLeader()
.equals(other.getCollectiveGroupLeader());
result = result && getExecutorType()
.equals(other.getExecutorType());
result = result && (getRecvBufMaxChunk()
== other.getRecvBufMaxChunk());
result = result && (getUseNumaAffinity()
== other.getUseNumaAffinity());
result = result && (getCollectiveDeterministicSequentialExecution()
== other.getCollectiveDeterministicSequentialExecution());
result = result && (getCollectiveNccl()
== other.getCollectiveNccl());
result = result && (getShareSessionStateInClusterspecPropagation()
== other.getShareSessionStateInClusterspecPropagation());
result = result && (getDisableThreadSpinning()
== other.getDisableThreadSpinning());
result = result && (getShareClusterDevicesInSession()
== other.getShareClusterDevicesInSession());
result = result && unknownFields.equals(other.unknownFields);
return result;
}
@java.lang.Override
public int hashCode() {
if (memoizedHashCode != 0) {
return memoizedHashCode;
}
int hash = 41;
hash = (19 * hash) + getDescriptor().hashCode();
hash = (37 * hash) + COLLECTIVE_GROUP_LEADER_FIELD_NUMBER;
hash = (53 * hash) + getCollectiveGroupLeader().hashCode();
hash = (37 * hash) + EXECUTOR_TYPE_FIELD_NUMBER;
hash = (53 * hash) + getExecutorType().hashCode();
hash = (37 * hash) + RECV_BUF_MAX_CHUNK_FIELD_NUMBER;
hash = (53 * hash) + getRecvBufMaxChunk();
hash = (37 * hash) + USE_NUMA_AFFINITY_FIELD_NUMBER;
hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
getUseNumaAffinity());
hash = (37 * hash) + COLLECTIVE_DETERMINISTIC_SEQUENTIAL_EXECUTION_FIELD_NUMBER;
hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
getCollectiveDeterministicSequentialExecution());
hash = (37 * hash) + COLLECTIVE_NCCL_FIELD_NUMBER;
hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
getCollectiveNccl());
hash = (37 * hash) + SHARE_SESSION_STATE_IN_CLUSTERSPEC_PROPAGATION_FIELD_NUMBER;
hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
getShareSessionStateInClusterspecPropagation());
hash = (37 * hash) + DISABLE_THREAD_SPINNING_FIELD_NUMBER;
hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
getDisableThreadSpinning());
hash = (37 * hash) + SHARE_CLUSTER_DEVICES_IN_SESSION_FIELD_NUMBER;
hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
getShareClusterDevicesInSession());
hash = (29 * hash) + unknownFields.hashCode();
memoizedHashCode = hash;
return hash;
}
public static org.tensorflow.framework.ConfigProto.Experimental parseFrom(
java.nio.ByteBuffer data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static org.tensorflow.framework.ConfigProto.Experimental parseFrom(
java.nio.ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static org.tensorflow.framework.ConfigProto.Experimental parseFrom(
com.google.protobuf.ByteString data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static org.tensorflow.framework.ConfigProto.Experimental parseFrom(
com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static org.tensorflow.framework.ConfigProto.Experimental parseFrom(byte[] data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static org.tensorflow.framework.ConfigProto.Experimental parseFrom(
byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static org.tensorflow.framework.ConfigProto.Experimental parseFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input);
}
public static org.tensorflow.framework.ConfigProto.Experimental parseFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input, extensionRegistry);
}
public static org.tensorflow.framework.ConfigProto.Experimental parseDelimitedFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseDelimitedWithIOException(PARSER, input);
}
public static org.tensorflow.framework.ConfigProto.Experimental parseDelimitedFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseDelimitedWithIOException(PARSER, input, extensionRegistry);
}
public static org.tensorflow.framework.ConfigProto.Experimental parseFrom(
com.google.protobuf.CodedInputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input);
}
public static org.tensorflow.framework.ConfigProto.Experimental parseFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input, extensionRegistry);
}
public Builder newBuilderForType() { return newBuilder(); }
public static Builder newBuilder() {
return DEFAULT_INSTANCE.toBuilder();
}
public static Builder newBuilder(org.tensorflow.framework.ConfigProto.Experimental prototype) {
return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
}
public Builder toBuilder() {
return this == DEFAULT_INSTANCE
? new Builder() : new Builder().mergeFrom(this);
}
@java.lang.Override
protected Builder newBuilderForType(
com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
Builder builder = new Builder(parent);
return builder;
}
/**
*
* Everything inside Experimental is subject to change and is not subject
* to API stability guarantees in
* https://www.tensorflow.org/guide/version_compat.
*
*
* Protobuf type {@code tensorflow.ConfigProto.Experimental}
*/
public static final class Builder extends
com.google.protobuf.GeneratedMessageV3.Builder implements
// @@protoc_insertion_point(builder_implements:tensorflow.ConfigProto.Experimental)
org.tensorflow.framework.ConfigProto.ExperimentalOrBuilder {
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return org.tensorflow.framework.ConfigProtos.internal_static_tensorflow_ConfigProto_Experimental_descriptor;
}
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
return org.tensorflow.framework.ConfigProtos.internal_static_tensorflow_ConfigProto_Experimental_fieldAccessorTable
.ensureFieldAccessorsInitialized(
org.tensorflow.framework.ConfigProto.Experimental.class, org.tensorflow.framework.ConfigProto.Experimental.Builder.class);
}
// Construct using org.tensorflow.framework.ConfigProto.Experimental.newBuilder()
private Builder() {
maybeForceBuilderInitialization();
}
private Builder(
com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
super(parent);
maybeForceBuilderInitialization();
}
private void maybeForceBuilderInitialization() {
if (com.google.protobuf.GeneratedMessageV3
.alwaysUseFieldBuilders) {
}
}
public Builder clear() {
super.clear();
collectiveGroupLeader_ = "";
executorType_ = "";
recvBufMaxChunk_ = 0;
useNumaAffinity_ = false;
collectiveDeterministicSequentialExecution_ = false;
collectiveNccl_ = false;
shareSessionStateInClusterspecPropagation_ = false;
disableThreadSpinning_ = false;
shareClusterDevicesInSession_ = false;
return this;
}
public com.google.protobuf.Descriptors.Descriptor
getDescriptorForType() {
return org.tensorflow.framework.ConfigProtos.internal_static_tensorflow_ConfigProto_Experimental_descriptor;
}
public org.tensorflow.framework.ConfigProto.Experimental getDefaultInstanceForType() {
return org.tensorflow.framework.ConfigProto.Experimental.getDefaultInstance();
}
public org.tensorflow.framework.ConfigProto.Experimental build() {
org.tensorflow.framework.ConfigProto.Experimental result = buildPartial();
if (!result.isInitialized()) {
throw newUninitializedMessageException(result);
}
return result;
}
public org.tensorflow.framework.ConfigProto.Experimental buildPartial() {
org.tensorflow.framework.ConfigProto.Experimental result = new org.tensorflow.framework.ConfigProto.Experimental(this);
result.collectiveGroupLeader_ = collectiveGroupLeader_;
result.executorType_ = executorType_;
result.recvBufMaxChunk_ = recvBufMaxChunk_;
result.useNumaAffinity_ = useNumaAffinity_;
result.collectiveDeterministicSequentialExecution_ = collectiveDeterministicSequentialExecution_;
result.collectiveNccl_ = collectiveNccl_;
result.shareSessionStateInClusterspecPropagation_ = shareSessionStateInClusterspecPropagation_;
result.disableThreadSpinning_ = disableThreadSpinning_;
result.shareClusterDevicesInSession_ = shareClusterDevicesInSession_;
onBuilt();
return result;
}
public Builder clone() {
return (Builder) super.clone();
}
public Builder setField(
com.google.protobuf.Descriptors.FieldDescriptor field,
java.lang.Object value) {
return (Builder) super.setField(field, value);
}
public Builder clearField(
com.google.protobuf.Descriptors.FieldDescriptor field) {
return (Builder) super.clearField(field);
}
public Builder clearOneof(
com.google.protobuf.Descriptors.OneofDescriptor oneof) {
return (Builder) super.clearOneof(oneof);
}
public Builder setRepeatedField(
com.google.protobuf.Descriptors.FieldDescriptor field,
int index, java.lang.Object value) {
return (Builder) super.setRepeatedField(field, index, value);
}
public Builder addRepeatedField(
com.google.protobuf.Descriptors.FieldDescriptor field,
java.lang.Object value) {
return (Builder) super.addRepeatedField(field, value);
}
public Builder mergeFrom(com.google.protobuf.Message other) {
if (other instanceof org.tensorflow.framework.ConfigProto.Experimental) {
return mergeFrom((org.tensorflow.framework.ConfigProto.Experimental)other);
} else {
super.mergeFrom(other);
return this;
}
}
public Builder mergeFrom(org.tensorflow.framework.ConfigProto.Experimental other) {
if (other == org.tensorflow.framework.ConfigProto.Experimental.getDefaultInstance()) return this;
if (!other.getCollectiveGroupLeader().isEmpty()) {
collectiveGroupLeader_ = other.collectiveGroupLeader_;
onChanged();
}
if (!other.getExecutorType().isEmpty()) {
executorType_ = other.executorType_;
onChanged();
}
if (other.getRecvBufMaxChunk() != 0) {
setRecvBufMaxChunk(other.getRecvBufMaxChunk());
}
if (other.getUseNumaAffinity() != false) {
setUseNumaAffinity(other.getUseNumaAffinity());
}
if (other.getCollectiveDeterministicSequentialExecution() != false) {
setCollectiveDeterministicSequentialExecution(other.getCollectiveDeterministicSequentialExecution());
}
if (other.getCollectiveNccl() != false) {
setCollectiveNccl(other.getCollectiveNccl());
}
if (other.getShareSessionStateInClusterspecPropagation() != false) {
setShareSessionStateInClusterspecPropagation(other.getShareSessionStateInClusterspecPropagation());
}
if (other.getDisableThreadSpinning() != false) {
setDisableThreadSpinning(other.getDisableThreadSpinning());
}
if (other.getShareClusterDevicesInSession() != false) {
setShareClusterDevicesInSession(other.getShareClusterDevicesInSession());
}
this.mergeUnknownFields(other.unknownFields);
onChanged();
return this;
}
public final boolean isInitialized() {
return true;
}
public Builder mergeFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
org.tensorflow.framework.ConfigProto.Experimental parsedMessage = null;
try {
parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
parsedMessage = (org.tensorflow.framework.ConfigProto.Experimental) e.getUnfinishedMessage();
throw e.unwrapIOException();
} finally {
if (parsedMessage != null) {
mergeFrom(parsedMessage);
}
}
return this;
}
private java.lang.Object collectiveGroupLeader_ = "";
/**
*
* Task name for group resolution.
*
*
* string collective_group_leader = 1;
*/
public java.lang.String getCollectiveGroupLeader() {
java.lang.Object ref = collectiveGroupLeader_;
if (!(ref instanceof java.lang.String)) {
com.google.protobuf.ByteString bs =
(com.google.protobuf.ByteString) ref;
java.lang.String s = bs.toStringUtf8();
collectiveGroupLeader_ = s;
return s;
} else {
return (java.lang.String) ref;
}
}
/**
*
* Task name for group resolution.
*
*
* string collective_group_leader = 1;
*/
public com.google.protobuf.ByteString
getCollectiveGroupLeaderBytes() {
java.lang.Object ref = collectiveGroupLeader_;
if (ref instanceof String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
collectiveGroupLeader_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
/**
*
* Task name for group resolution.
*
*
* string collective_group_leader = 1;
*/
public Builder setCollectiveGroupLeader(
java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
collectiveGroupLeader_ = value;
onChanged();
return this;
}
/**
*
* Task name for group resolution.
*
*
* string collective_group_leader = 1;
*/
public Builder clearCollectiveGroupLeader() {
collectiveGroupLeader_ = getDefaultInstance().getCollectiveGroupLeader();
onChanged();
return this;
}
/**
*
* Task name for group resolution.
*
*
* string collective_group_leader = 1;
*/
public Builder setCollectiveGroupLeaderBytes(
com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
checkByteStringIsUtf8(value);
collectiveGroupLeader_ = value;
onChanged();
return this;
}
private java.lang.Object executorType_ = "";
/**
*
* Which executor to use, the default executor will be used
* if it is an empty string or "DEFAULT"
*
*
* string executor_type = 3;
*/
public java.lang.String getExecutorType() {
java.lang.Object ref = executorType_;
if (!(ref instanceof java.lang.String)) {
com.google.protobuf.ByteString bs =
(com.google.protobuf.ByteString) ref;
java.lang.String s = bs.toStringUtf8();
executorType_ = s;
return s;
} else {
return (java.lang.String) ref;
}
}
/**
*
* Which executor to use, the default executor will be used
* if it is an empty string or "DEFAULT"
*
*
* string executor_type = 3;
*/
public com.google.protobuf.ByteString
getExecutorTypeBytes() {
java.lang.Object ref = executorType_;
if (ref instanceof String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
executorType_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
/**
*
* Which executor to use, the default executor will be used
* if it is an empty string or "DEFAULT"
*
*
* string executor_type = 3;
*/
public Builder setExecutorType(
java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
executorType_ = value;
onChanged();
return this;
}
/**
*
* Which executor to use, the default executor will be used
* if it is an empty string or "DEFAULT"
*
*
* string executor_type = 3;
*/
public Builder clearExecutorType() {
executorType_ = getDefaultInstance().getExecutorType();
onChanged();
return this;
}
/**
*
* Which executor to use, the default executor will be used
* if it is an empty string or "DEFAULT"
*
*
* string executor_type = 3;
*/
public Builder setExecutorTypeBytes(
com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
checkByteStringIsUtf8(value);
executorType_ = value;
onChanged();
return this;
}
private int recvBufMaxChunk_ ;
/**
*
* 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.
*
*
* int32 recv_buf_max_chunk = 4;
*/
public int getRecvBufMaxChunk() {
return recvBufMaxChunk_;
}
/**
*
* 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.
*
*
* int32 recv_buf_max_chunk = 4;
*/
public Builder setRecvBufMaxChunk(int value) {
recvBufMaxChunk_ = value;
onChanged();
return this;
}
/**
*
* 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.
*
*
* int32 recv_buf_max_chunk = 4;
*/
public Builder clearRecvBufMaxChunk() {
recvBufMaxChunk_ = 0;
onChanged();
return this;
}
private boolean useNumaAffinity_ ;
/**
*
* 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.
*
*
* bool use_numa_affinity = 5;
*/
public boolean getUseNumaAffinity() {
return useNumaAffinity_;
}
/**
*
* 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.
*
*
* bool use_numa_affinity = 5;
*/
public Builder setUseNumaAffinity(boolean value) {
useNumaAffinity_ = value;
onChanged();
return this;
}
/**
*
* 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.
*
*
* bool use_numa_affinity = 5;
*/
public Builder clearUseNumaAffinity() {
useNumaAffinity_ = false;
onChanged();
return this;
}
private boolean collectiveDeterministicSequentialExecution_ ;
/**
*
* If true, make collective op execution order sequential and deterministic
* for potentially concurrent collective instances.
*
*
* bool collective_deterministic_sequential_execution = 6;
*/
public boolean getCollectiveDeterministicSequentialExecution() {
return collectiveDeterministicSequentialExecution_;
}
/**
*
* If true, make collective op execution order sequential and deterministic
* for potentially concurrent collective instances.
*
*
* bool collective_deterministic_sequential_execution = 6;
*/
public Builder setCollectiveDeterministicSequentialExecution(boolean value) {
collectiveDeterministicSequentialExecution_ = value;
onChanged();
return this;
}
/**
*
* If true, make collective op execution order sequential and deterministic
* for potentially concurrent collective instances.
*
*
* bool collective_deterministic_sequential_execution = 6;
*/
public Builder clearCollectiveDeterministicSequentialExecution() {
collectiveDeterministicSequentialExecution_ = false;
onChanged();
return this;
}
private boolean collectiveNccl_ ;
/**
*
* If true, use NCCL for CollectiveOps. This feature is highly
* experimental.
*
*
* bool collective_nccl = 7;
*/
public boolean getCollectiveNccl() {
return collectiveNccl_;
}
/**
*
* If true, use NCCL for CollectiveOps. This feature is highly
* experimental.
*
*
* bool collective_nccl = 7;
*/
public Builder setCollectiveNccl(boolean value) {
collectiveNccl_ = value;
onChanged();
return this;
}
/**
*
* If true, use NCCL for CollectiveOps. This feature is highly
* experimental.
*
*
* bool collective_nccl = 7;
*/
public Builder clearCollectiveNccl() {
collectiveNccl_ = false;
onChanged();
return this;
}
private boolean shareSessionStateInClusterspecPropagation_ ;
/**
*
* 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.
*
*
* bool share_session_state_in_clusterspec_propagation = 8;
*/
public boolean getShareSessionStateInClusterspecPropagation() {
return shareSessionStateInClusterspecPropagation_;
}
/**
*
* 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.
*
*
* bool share_session_state_in_clusterspec_propagation = 8;
*/
public Builder setShareSessionStateInClusterspecPropagation(boolean value) {
shareSessionStateInClusterspecPropagation_ = value;
onChanged();
return this;
}
/**
*
* 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.
*
*
* bool share_session_state_in_clusterspec_propagation = 8;
*/
public Builder clearShareSessionStateInClusterspecPropagation() {
shareSessionStateInClusterspecPropagation_ = false;
onChanged();
return this;
}
private boolean disableThreadSpinning_ ;
/**
*
* 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.
*
*
* bool disable_thread_spinning = 9;
*/
public boolean getDisableThreadSpinning() {
return disableThreadSpinning_;
}
/**
*
* 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.
*
*
* bool disable_thread_spinning = 9;
*/
public Builder setDisableThreadSpinning(boolean value) {
disableThreadSpinning_ = value;
onChanged();
return this;
}
/**
*
* 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.
*
*
* bool disable_thread_spinning = 9;
*/
public Builder clearDisableThreadSpinning() {
disableThreadSpinning_ = false;
onChanged();
return this;
}
private boolean shareClusterDevicesInSession_ ;
/**
*
* 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 = 10;
*/
public boolean getShareClusterDevicesInSession() {
return shareClusterDevicesInSession_;
}
/**
*
* 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 = 10;
*/
public Builder setShareClusterDevicesInSession(boolean value) {
shareClusterDevicesInSession_ = value;
onChanged();
return this;
}
/**
*
* 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 = 10;
*/
public Builder clearShareClusterDevicesInSession() {
shareClusterDevicesInSession_ = false;
onChanged();
return this;
}
public final Builder setUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.setUnknownFieldsProto3(unknownFields);
}
public final Builder mergeUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.mergeUnknownFields(unknownFields);
}
// @@protoc_insertion_point(builder_scope:tensorflow.ConfigProto.Experimental)
}
// @@protoc_insertion_point(class_scope:tensorflow.ConfigProto.Experimental)
private static final org.tensorflow.framework.ConfigProto.Experimental DEFAULT_INSTANCE;
static {
DEFAULT_INSTANCE = new org.tensorflow.framework.ConfigProto.Experimental();
}
public static org.tensorflow.framework.ConfigProto.Experimental getDefaultInstance() {
return DEFAULT_INSTANCE;
}
private static final com.google.protobuf.Parser
PARSER = new com.google.protobuf.AbstractParser() {
public Experimental parsePartialFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return new Experimental(input, extensionRegistry);
}
};
public static com.google.protobuf.Parser parser() {
return PARSER;
}
@java.lang.Override
public com.google.protobuf.Parser getParserForType() {
return PARSER;
}
public org.tensorflow.framework.ConfigProto.Experimental getDefaultInstanceForType() {
return DEFAULT_INSTANCE;
}
}
private int bitField0_;
public static final int DEVICE_COUNT_FIELD_NUMBER = 1;
private static final class DeviceCountDefaultEntryHolder {
static final com.google.protobuf.MapEntry<
java.lang.String, java.lang.Integer> defaultEntry =
com.google.protobuf.MapEntry
.newDefaultInstance(
org.tensorflow.framework.ConfigProtos.internal_static_tensorflow_ConfigProto_DeviceCountEntry_descriptor,
com.google.protobuf.WireFormat.FieldType.STRING,
"",
com.google.protobuf.WireFormat.FieldType.INT32,
0);
}
private com.google.protobuf.MapField<
java.lang.String, java.lang.Integer> deviceCount_;
private com.google.protobuf.MapField
internalGetDeviceCount() {
if (deviceCount_ == null) {
return com.google.protobuf.MapField.emptyMapField(
DeviceCountDefaultEntryHolder.defaultEntry);
}
return deviceCount_;
}
public int getDeviceCountCount() {
return internalGetDeviceCount().getMap().size();
}
/**
*
* 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 containsDeviceCount(
java.lang.String key) {
if (key == null) { throw new java.lang.NullPointerException(); }
return internalGetDeviceCount().getMap().containsKey(key);
}
/**
* Use {@link #getDeviceCountMap()} instead.
*/
@java.lang.Deprecated
public java.util.Map getDeviceCount() {
return 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 java.util.Map getDeviceCountMap() {
return internalGetDeviceCount().getMap();
}
/**
*
* 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(
java.lang.String key,
int defaultValue) {
if (key == null) { throw new java.lang.NullPointerException(); }
java.util.Map map =
internalGetDeviceCount().getMap();
return map.containsKey(key) ? map.get(key) : 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(
java.lang.String key) {
if (key == null) { throw new java.lang.NullPointerException(); }
java.util.Map map =
internalGetDeviceCount().getMap();
if (!map.containsKey(key)) {
throw new java.lang.IllegalArgumentException();
}
return map.get(key);
}
public static final int INTRA_OP_PARALLELISM_THREADS_FIELD_NUMBER = 2;
private int intraOpParallelismThreads_;
/**
*
* 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.
*
*
* int32 intra_op_parallelism_threads = 2;
*/
public int getIntraOpParallelismThreads() {
return intraOpParallelismThreads_;
}
public static final int INTER_OP_PARALLELISM_THREADS_FIELD_NUMBER = 5;
private int interOpParallelismThreads_;
/**
*
* 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 getInterOpParallelismThreads() {
return interOpParallelismThreads_;
}
public static final int USE_PER_SESSION_THREADS_FIELD_NUMBER = 9;
private boolean usePerSessionThreads_;
/**
*
* 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 getUsePerSessionThreads() {
return usePerSessionThreads_;
}
public static final int SESSION_INTER_OP_THREAD_POOL_FIELD_NUMBER = 12;
private java.util.List sessionInterOpThreadPool_;
/**
*
* 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 java.util.List getSessionInterOpThreadPoolList() {
return sessionInterOpThreadPool_;
}
/**
*
* 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 java.util.List extends org.tensorflow.framework.ThreadPoolOptionProtoOrBuilder>
getSessionInterOpThreadPoolOrBuilderList() {
return sessionInterOpThreadPool_;
}
/**
*
* 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() {
return sessionInterOpThreadPool_.size();
}
/**
*
* 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 org.tensorflow.framework.ThreadPoolOptionProto getSessionInterOpThreadPool(int index) {
return sessionInterOpThreadPool_.get(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 org.tensorflow.framework.ThreadPoolOptionProtoOrBuilder getSessionInterOpThreadPoolOrBuilder(
int index) {
return sessionInterOpThreadPool_.get(index);
}
public static final int PLACEMENT_PERIOD_FIELD_NUMBER = 3;
private int placementPeriod_;
/**
*
* 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 int getPlacementPeriod() {
return placementPeriod_;
}
public static final int DEVICE_FILTERS_FIELD_NUMBER = 4;
private com.google.protobuf.LazyStringList deviceFilters_;
/**
*
* 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() {
return deviceFilters_;
}
/**
*
* 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() {
return deviceFilters_.size();
}
/**
*
* 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 java.lang.String getDeviceFilters(int index) {
return deviceFilters_.get(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) {
return deviceFilters_.getByteString(index);
}
public static final int GPU_OPTIONS_FIELD_NUMBER = 6;
private org.tensorflow.framework.GPUOptions gpuOptions_;
/**
*
* Options that apply to all GPUs.
*
*
* .tensorflow.GPUOptions gpu_options = 6;
*/
public boolean hasGpuOptions() {
return gpuOptions_ != null;
}
/**
*
* Options that apply to all GPUs.
*
*
* .tensorflow.GPUOptions gpu_options = 6;
*/
public org.tensorflow.framework.GPUOptions getGpuOptions() {
return gpuOptions_ == null ? org.tensorflow.framework.GPUOptions.getDefaultInstance() : gpuOptions_;
}
/**
*
* Options that apply to all GPUs.
*
*
* .tensorflow.GPUOptions gpu_options = 6;
*/
public org.tensorflow.framework.GPUOptionsOrBuilder getGpuOptionsOrBuilder() {
return getGpuOptions();
}
public static final int ALLOW_SOFT_PLACEMENT_FIELD_NUMBER = 7;
private boolean allowSoftPlacement_;
/**
*
* 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 boolean getAllowSoftPlacement() {
return allowSoftPlacement_;
}
public static final int LOG_DEVICE_PLACEMENT_FIELD_NUMBER = 8;
private boolean logDevicePlacement_;
/**
*
* Whether device placements should be logged.
*
*
* bool log_device_placement = 8;
*/
public boolean getLogDevicePlacement() {
return logDevicePlacement_;
}
public static final int GRAPH_OPTIONS_FIELD_NUMBER = 10;
private org.tensorflow.framework.GraphOptions graphOptions_;
/**
*
* Options that apply to all graphs.
*
*
* .tensorflow.GraphOptions graph_options = 10;
*/
public boolean hasGraphOptions() {
return graphOptions_ != null;
}
/**
*
* Options that apply to all graphs.
*
*
* .tensorflow.GraphOptions graph_options = 10;
*/
public org.tensorflow.framework.GraphOptions getGraphOptions() {
return graphOptions_ == null ? org.tensorflow.framework.GraphOptions.getDefaultInstance() : graphOptions_;
}
/**
*
* Options that apply to all graphs.
*
*
* .tensorflow.GraphOptions graph_options = 10;
*/
public org.tensorflow.framework.GraphOptionsOrBuilder getGraphOptionsOrBuilder() {
return getGraphOptions();
}
public static final int OPERATION_TIMEOUT_IN_MS_FIELD_NUMBER = 11;
private long operationTimeoutInMs_;
/**
*
* 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 long getOperationTimeoutInMs() {
return operationTimeoutInMs_;
}
public static final int RPC_OPTIONS_FIELD_NUMBER = 13;
private org.tensorflow.framework.RPCOptions rpcOptions_;
/**
*
* Options that apply when this session uses the distributed runtime.
*
*
* .tensorflow.RPCOptions rpc_options = 13;
*/
public boolean hasRpcOptions() {
return rpcOptions_ != null;
}
/**
*
* Options that apply when this session uses the distributed runtime.
*
*
* .tensorflow.RPCOptions rpc_options = 13;
*/
public org.tensorflow.framework.RPCOptions getRpcOptions() {
return rpcOptions_ == null ? org.tensorflow.framework.RPCOptions.getDefaultInstance() : rpcOptions_;
}
/**
*
* Options that apply when this session uses the distributed runtime.
*
*
* .tensorflow.RPCOptions rpc_options = 13;
*/
public org.tensorflow.framework.RPCOptionsOrBuilder getRpcOptionsOrBuilder() {
return getRpcOptions();
}
public static final int CLUSTER_DEF_FIELD_NUMBER = 14;
private org.tensorflow.distruntime.ClusterDef clusterDef_;
/**
*
* Optional list of all workers to use in this session.
*
*
* .tensorflow.ClusterDef cluster_def = 14;
*/
public boolean hasClusterDef() {
return clusterDef_ != null;
}
/**
*
* Optional list of all workers to use in this session.
*
*
* .tensorflow.ClusterDef cluster_def = 14;
*/
public org.tensorflow.distruntime.ClusterDef getClusterDef() {
return clusterDef_ == null ? org.tensorflow.distruntime.ClusterDef.getDefaultInstance() : clusterDef_;
}
/**
*
* Optional list of all workers to use in this session.
*
*
* .tensorflow.ClusterDef cluster_def = 14;
*/
public org.tensorflow.distruntime.ClusterDefOrBuilder getClusterDefOrBuilder() {
return getClusterDef();
}
public static final int ISOLATE_SESSION_STATE_FIELD_NUMBER = 15;
private boolean isolateSessionState_;
/**
*
* 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 getIsolateSessionState() {
return isolateSessionState_;
}
public static final int EXPERIMENTAL_FIELD_NUMBER = 16;
private org.tensorflow.framework.ConfigProto.Experimental experimental_;
/**
* .tensorflow.ConfigProto.Experimental experimental = 16;
*/
public boolean hasExperimental() {
return experimental_ != null;
}
/**
* .tensorflow.ConfigProto.Experimental experimental = 16;
*/
public org.tensorflow.framework.ConfigProto.Experimental getExperimental() {
return experimental_ == null ? org.tensorflow.framework.ConfigProto.Experimental.getDefaultInstance() : experimental_;
}
/**
* .tensorflow.ConfigProto.Experimental experimental = 16;
*/
public org.tensorflow.framework.ConfigProto.ExperimentalOrBuilder getExperimentalOrBuilder() {
return getExperimental();
}
private byte memoizedIsInitialized = -1;
public final boolean isInitialized() {
byte isInitialized = memoizedIsInitialized;
if (isInitialized == 1) return true;
if (isInitialized == 0) return false;
memoizedIsInitialized = 1;
return true;
}
public void writeTo(com.google.protobuf.CodedOutputStream output)
throws java.io.IOException {
com.google.protobuf.GeneratedMessageV3
.serializeStringMapTo(
output,
internalGetDeviceCount(),
DeviceCountDefaultEntryHolder.defaultEntry,
1);
if (intraOpParallelismThreads_ != 0) {
output.writeInt32(2, intraOpParallelismThreads_);
}
if (placementPeriod_ != 0) {
output.writeInt32(3, placementPeriod_);
}
for (int i = 0; i < deviceFilters_.size(); i++) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 4, deviceFilters_.getRaw(i));
}
if (interOpParallelismThreads_ != 0) {
output.writeInt32(5, interOpParallelismThreads_);
}
if (gpuOptions_ != null) {
output.writeMessage(6, getGpuOptions());
}
if (allowSoftPlacement_ != false) {
output.writeBool(7, allowSoftPlacement_);
}
if (logDevicePlacement_ != false) {
output.writeBool(8, logDevicePlacement_);
}
if (usePerSessionThreads_ != false) {
output.writeBool(9, usePerSessionThreads_);
}
if (graphOptions_ != null) {
output.writeMessage(10, getGraphOptions());
}
if (operationTimeoutInMs_ != 0L) {
output.writeInt64(11, operationTimeoutInMs_);
}
for (int i = 0; i < sessionInterOpThreadPool_.size(); i++) {
output.writeMessage(12, sessionInterOpThreadPool_.get(i));
}
if (rpcOptions_ != null) {
output.writeMessage(13, getRpcOptions());
}
if (clusterDef_ != null) {
output.writeMessage(14, getClusterDef());
}
if (isolateSessionState_ != false) {
output.writeBool(15, isolateSessionState_);
}
if (experimental_ != null) {
output.writeMessage(16, getExperimental());
}
unknownFields.writeTo(output);
}
public int getSerializedSize() {
int size = memoizedSize;
if (size != -1) return size;
size = 0;
for (java.util.Map.Entry entry
: internalGetDeviceCount().getMap().entrySet()) {
com.google.protobuf.MapEntry
deviceCount__ = DeviceCountDefaultEntryHolder.defaultEntry.newBuilderForType()
.setKey(entry.getKey())
.setValue(entry.getValue())
.build();
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(1, deviceCount__);
}
if (intraOpParallelismThreads_ != 0) {
size += com.google.protobuf.CodedOutputStream
.computeInt32Size(2, intraOpParallelismThreads_);
}
if (placementPeriod_ != 0) {
size += com.google.protobuf.CodedOutputStream
.computeInt32Size(3, placementPeriod_);
}
{
int dataSize = 0;
for (int i = 0; i < deviceFilters_.size(); i++) {
dataSize += computeStringSizeNoTag(deviceFilters_.getRaw(i));
}
size += dataSize;
size += 1 * getDeviceFiltersList().size();
}
if (interOpParallelismThreads_ != 0) {
size += com.google.protobuf.CodedOutputStream
.computeInt32Size(5, interOpParallelismThreads_);
}
if (gpuOptions_ != null) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(6, getGpuOptions());
}
if (allowSoftPlacement_ != false) {
size += com.google.protobuf.CodedOutputStream
.computeBoolSize(7, allowSoftPlacement_);
}
if (logDevicePlacement_ != false) {
size += com.google.protobuf.CodedOutputStream
.computeBoolSize(8, logDevicePlacement_);
}
if (usePerSessionThreads_ != false) {
size += com.google.protobuf.CodedOutputStream
.computeBoolSize(9, usePerSessionThreads_);
}
if (graphOptions_ != null) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(10, getGraphOptions());
}
if (operationTimeoutInMs_ != 0L) {
size += com.google.protobuf.CodedOutputStream
.computeInt64Size(11, operationTimeoutInMs_);
}
for (int i = 0; i < sessionInterOpThreadPool_.size(); i++) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(12, sessionInterOpThreadPool_.get(i));
}
if (rpcOptions_ != null) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(13, getRpcOptions());
}
if (clusterDef_ != null) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(14, getClusterDef());
}
if (isolateSessionState_ != false) {
size += com.google.protobuf.CodedOutputStream
.computeBoolSize(15, isolateSessionState_);
}
if (experimental_ != null) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(16, getExperimental());
}
size += unknownFields.getSerializedSize();
memoizedSize = size;
return size;
}
@java.lang.Override
public boolean equals(final java.lang.Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof org.tensorflow.framework.ConfigProto)) {
return super.equals(obj);
}
org.tensorflow.framework.ConfigProto other = (org.tensorflow.framework.ConfigProto) obj;
boolean result = true;
result = result && internalGetDeviceCount().equals(
other.internalGetDeviceCount());
result = result && (getIntraOpParallelismThreads()
== other.getIntraOpParallelismThreads());
result = result && (getInterOpParallelismThreads()
== other.getInterOpParallelismThreads());
result = result && (getUsePerSessionThreads()
== other.getUsePerSessionThreads());
result = result && getSessionInterOpThreadPoolList()
.equals(other.getSessionInterOpThreadPoolList());
result = result && (getPlacementPeriod()
== other.getPlacementPeriod());
result = result && getDeviceFiltersList()
.equals(other.getDeviceFiltersList());
result = result && (hasGpuOptions() == other.hasGpuOptions());
if (hasGpuOptions()) {
result = result && getGpuOptions()
.equals(other.getGpuOptions());
}
result = result && (getAllowSoftPlacement()
== other.getAllowSoftPlacement());
result = result && (getLogDevicePlacement()
== other.getLogDevicePlacement());
result = result && (hasGraphOptions() == other.hasGraphOptions());
if (hasGraphOptions()) {
result = result && getGraphOptions()
.equals(other.getGraphOptions());
}
result = result && (getOperationTimeoutInMs()
== other.getOperationTimeoutInMs());
result = result && (hasRpcOptions() == other.hasRpcOptions());
if (hasRpcOptions()) {
result = result && getRpcOptions()
.equals(other.getRpcOptions());
}
result = result && (hasClusterDef() == other.hasClusterDef());
if (hasClusterDef()) {
result = result && getClusterDef()
.equals(other.getClusterDef());
}
result = result && (getIsolateSessionState()
== other.getIsolateSessionState());
result = result && (hasExperimental() == other.hasExperimental());
if (hasExperimental()) {
result = result && getExperimental()
.equals(other.getExperimental());
}
result = result && unknownFields.equals(other.unknownFields);
return result;
}
@java.lang.Override
public int hashCode() {
if (memoizedHashCode != 0) {
return memoizedHashCode;
}
int hash = 41;
hash = (19 * hash) + getDescriptor().hashCode();
if (!internalGetDeviceCount().getMap().isEmpty()) {
hash = (37 * hash) + DEVICE_COUNT_FIELD_NUMBER;
hash = (53 * hash) + internalGetDeviceCount().hashCode();
}
hash = (37 * hash) + INTRA_OP_PARALLELISM_THREADS_FIELD_NUMBER;
hash = (53 * hash) + getIntraOpParallelismThreads();
hash = (37 * hash) + INTER_OP_PARALLELISM_THREADS_FIELD_NUMBER;
hash = (53 * hash) + getInterOpParallelismThreads();
hash = (37 * hash) + USE_PER_SESSION_THREADS_FIELD_NUMBER;
hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
getUsePerSessionThreads());
if (getSessionInterOpThreadPoolCount() > 0) {
hash = (37 * hash) + SESSION_INTER_OP_THREAD_POOL_FIELD_NUMBER;
hash = (53 * hash) + getSessionInterOpThreadPoolList().hashCode();
}
hash = (37 * hash) + PLACEMENT_PERIOD_FIELD_NUMBER;
hash = (53 * hash) + getPlacementPeriod();
if (getDeviceFiltersCount() > 0) {
hash = (37 * hash) + DEVICE_FILTERS_FIELD_NUMBER;
hash = (53 * hash) + getDeviceFiltersList().hashCode();
}
if (hasGpuOptions()) {
hash = (37 * hash) + GPU_OPTIONS_FIELD_NUMBER;
hash = (53 * hash) + getGpuOptions().hashCode();
}
hash = (37 * hash) + ALLOW_SOFT_PLACEMENT_FIELD_NUMBER;
hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
getAllowSoftPlacement());
hash = (37 * hash) + LOG_DEVICE_PLACEMENT_FIELD_NUMBER;
hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
getLogDevicePlacement());
if (hasGraphOptions()) {
hash = (37 * hash) + GRAPH_OPTIONS_FIELD_NUMBER;
hash = (53 * hash) + getGraphOptions().hashCode();
}
hash = (37 * hash) + OPERATION_TIMEOUT_IN_MS_FIELD_NUMBER;
hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
getOperationTimeoutInMs());
if (hasRpcOptions()) {
hash = (37 * hash) + RPC_OPTIONS_FIELD_NUMBER;
hash = (53 * hash) + getRpcOptions().hashCode();
}
if (hasClusterDef()) {
hash = (37 * hash) + CLUSTER_DEF_FIELD_NUMBER;
hash = (53 * hash) + getClusterDef().hashCode();
}
hash = (37 * hash) + ISOLATE_SESSION_STATE_FIELD_NUMBER;
hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
getIsolateSessionState());
if (hasExperimental()) {
hash = (37 * hash) + EXPERIMENTAL_FIELD_NUMBER;
hash = (53 * hash) + getExperimental().hashCode();
}
hash = (29 * hash) + unknownFields.hashCode();
memoizedHashCode = hash;
return hash;
}
public static org.tensorflow.framework.ConfigProto parseFrom(
java.nio.ByteBuffer data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static org.tensorflow.framework.ConfigProto parseFrom(
java.nio.ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static org.tensorflow.framework.ConfigProto parseFrom(
com.google.protobuf.ByteString data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static org.tensorflow.framework.ConfigProto parseFrom(
com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static org.tensorflow.framework.ConfigProto parseFrom(byte[] data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static org.tensorflow.framework.ConfigProto parseFrom(
byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static org.tensorflow.framework.ConfigProto parseFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input);
}
public static org.tensorflow.framework.ConfigProto parseFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input, extensionRegistry);
}
public static org.tensorflow.framework.ConfigProto parseDelimitedFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseDelimitedWithIOException(PARSER, input);
}
public static org.tensorflow.framework.ConfigProto parseDelimitedFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseDelimitedWithIOException(PARSER, input, extensionRegistry);
}
public static org.tensorflow.framework.ConfigProto parseFrom(
com.google.protobuf.CodedInputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input);
}
public static org.tensorflow.framework.ConfigProto parseFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input, extensionRegistry);
}
public Builder newBuilderForType() { return newBuilder(); }
public static Builder newBuilder() {
return DEFAULT_INSTANCE.toBuilder();
}
public static Builder newBuilder(org.tensorflow.framework.ConfigProto prototype) {
return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
}
public Builder toBuilder() {
return this == DEFAULT_INSTANCE
? new Builder() : new Builder().mergeFrom(this);
}
@java.lang.Override
protected Builder newBuilderForType(
com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
Builder builder = new Builder(parent);
return builder;
}
/**
*
* Session configuration parameters.
* The system picks appropriate values for fields that are not set.
*
*
* Protobuf type {@code tensorflow.ConfigProto}
*/
public static final class Builder extends
com.google.protobuf.GeneratedMessageV3.Builder implements
// @@protoc_insertion_point(builder_implements:tensorflow.ConfigProto)
org.tensorflow.framework.ConfigProtoOrBuilder {
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return org.tensorflow.framework.ConfigProtos.internal_static_tensorflow_ConfigProto_descriptor;
}
@SuppressWarnings({"rawtypes"})
protected com.google.protobuf.MapField internalGetMapField(
int number) {
switch (number) {
case 1:
return internalGetDeviceCount();
default:
throw new RuntimeException(
"Invalid map field number: " + number);
}
}
@SuppressWarnings({"rawtypes"})
protected com.google.protobuf.MapField internalGetMutableMapField(
int number) {
switch (number) {
case 1:
return internalGetMutableDeviceCount();
default:
throw new RuntimeException(
"Invalid map field number: " + number);
}
}
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
return org.tensorflow.framework.ConfigProtos.internal_static_tensorflow_ConfigProto_fieldAccessorTable
.ensureFieldAccessorsInitialized(
org.tensorflow.framework.ConfigProto.class, org.tensorflow.framework.ConfigProto.Builder.class);
}
// Construct using org.tensorflow.framework.ConfigProto.newBuilder()
private Builder() {
maybeForceBuilderInitialization();
}
private Builder(
com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
super(parent);
maybeForceBuilderInitialization();
}
private void maybeForceBuilderInitialization() {
if (com.google.protobuf.GeneratedMessageV3
.alwaysUseFieldBuilders) {
getSessionInterOpThreadPoolFieldBuilder();
}
}
public Builder clear() {
super.clear();
internalGetMutableDeviceCount().clear();
intraOpParallelismThreads_ = 0;
interOpParallelismThreads_ = 0;
usePerSessionThreads_ = false;
if (sessionInterOpThreadPoolBuilder_ == null) {
sessionInterOpThreadPool_ = java.util.Collections.emptyList();
bitField0_ = (bitField0_ & ~0x00000010);
} else {
sessionInterOpThreadPoolBuilder_.clear();
}
placementPeriod_ = 0;
deviceFilters_ = com.google.protobuf.LazyStringArrayList.EMPTY;
bitField0_ = (bitField0_ & ~0x00000040);
if (gpuOptionsBuilder_ == null) {
gpuOptions_ = null;
} else {
gpuOptions_ = null;
gpuOptionsBuilder_ = null;
}
allowSoftPlacement_ = false;
logDevicePlacement_ = false;
if (graphOptionsBuilder_ == null) {
graphOptions_ = null;
} else {
graphOptions_ = null;
graphOptionsBuilder_ = null;
}
operationTimeoutInMs_ = 0L;
if (rpcOptionsBuilder_ == null) {
rpcOptions_ = null;
} else {
rpcOptions_ = null;
rpcOptionsBuilder_ = null;
}
if (clusterDefBuilder_ == null) {
clusterDef_ = null;
} else {
clusterDef_ = null;
clusterDefBuilder_ = null;
}
isolateSessionState_ = false;
if (experimentalBuilder_ == null) {
experimental_ = null;
} else {
experimental_ = null;
experimentalBuilder_ = null;
}
return this;
}
public com.google.protobuf.Descriptors.Descriptor
getDescriptorForType() {
return org.tensorflow.framework.ConfigProtos.internal_static_tensorflow_ConfigProto_descriptor;
}
public org.tensorflow.framework.ConfigProto getDefaultInstanceForType() {
return org.tensorflow.framework.ConfigProto.getDefaultInstance();
}
public org.tensorflow.framework.ConfigProto build() {
org.tensorflow.framework.ConfigProto result = buildPartial();
if (!result.isInitialized()) {
throw newUninitializedMessageException(result);
}
return result;
}
public org.tensorflow.framework.ConfigProto buildPartial() {
org.tensorflow.framework.ConfigProto result = new org.tensorflow.framework.ConfigProto(this);
int from_bitField0_ = bitField0_;
int to_bitField0_ = 0;
result.deviceCount_ = internalGetDeviceCount();
result.deviceCount_.makeImmutable();
result.intraOpParallelismThreads_ = intraOpParallelismThreads_;
result.interOpParallelismThreads_ = interOpParallelismThreads_;
result.usePerSessionThreads_ = usePerSessionThreads_;
if (sessionInterOpThreadPoolBuilder_ == null) {
if (((bitField0_ & 0x00000010) == 0x00000010)) {
sessionInterOpThreadPool_ = java.util.Collections.unmodifiableList(sessionInterOpThreadPool_);
bitField0_ = (bitField0_ & ~0x00000010);
}
result.sessionInterOpThreadPool_ = sessionInterOpThreadPool_;
} else {
result.sessionInterOpThreadPool_ = sessionInterOpThreadPoolBuilder_.build();
}
result.placementPeriod_ = placementPeriod_;
if (((bitField0_ & 0x00000040) == 0x00000040)) {
deviceFilters_ = deviceFilters_.getUnmodifiableView();
bitField0_ = (bitField0_ & ~0x00000040);
}
result.deviceFilters_ = deviceFilters_;
if (gpuOptionsBuilder_ == null) {
result.gpuOptions_ = gpuOptions_;
} else {
result.gpuOptions_ = gpuOptionsBuilder_.build();
}
result.allowSoftPlacement_ = allowSoftPlacement_;
result.logDevicePlacement_ = logDevicePlacement_;
if (graphOptionsBuilder_ == null) {
result.graphOptions_ = graphOptions_;
} else {
result.graphOptions_ = graphOptionsBuilder_.build();
}
result.operationTimeoutInMs_ = operationTimeoutInMs_;
if (rpcOptionsBuilder_ == null) {
result.rpcOptions_ = rpcOptions_;
} else {
result.rpcOptions_ = rpcOptionsBuilder_.build();
}
if (clusterDefBuilder_ == null) {
result.clusterDef_ = clusterDef_;
} else {
result.clusterDef_ = clusterDefBuilder_.build();
}
result.isolateSessionState_ = isolateSessionState_;
if (experimentalBuilder_ == null) {
result.experimental_ = experimental_;
} else {
result.experimental_ = experimentalBuilder_.build();
}
result.bitField0_ = to_bitField0_;
onBuilt();
return result;
}
public Builder clone() {
return (Builder) super.clone();
}
public Builder setField(
com.google.protobuf.Descriptors.FieldDescriptor field,
java.lang.Object value) {
return (Builder) super.setField(field, value);
}
public Builder clearField(
com.google.protobuf.Descriptors.FieldDescriptor field) {
return (Builder) super.clearField(field);
}
public Builder clearOneof(
com.google.protobuf.Descriptors.OneofDescriptor oneof) {
return (Builder) super.clearOneof(oneof);
}
public Builder setRepeatedField(
com.google.protobuf.Descriptors.FieldDescriptor field,
int index, java.lang.Object value) {
return (Builder) super.setRepeatedField(field, index, value);
}
public Builder addRepeatedField(
com.google.protobuf.Descriptors.FieldDescriptor field,
java.lang.Object value) {
return (Builder) super.addRepeatedField(field, value);
}
public Builder mergeFrom(com.google.protobuf.Message other) {
if (other instanceof org.tensorflow.framework.ConfigProto) {
return mergeFrom((org.tensorflow.framework.ConfigProto)other);
} else {
super.mergeFrom(other);
return this;
}
}
public Builder mergeFrom(org.tensorflow.framework.ConfigProto other) {
if (other == org.tensorflow.framework.ConfigProto.getDefaultInstance()) return this;
internalGetMutableDeviceCount().mergeFrom(
other.internalGetDeviceCount());
if (other.getIntraOpParallelismThreads() != 0) {
setIntraOpParallelismThreads(other.getIntraOpParallelismThreads());
}
if (other.getInterOpParallelismThreads() != 0) {
setInterOpParallelismThreads(other.getInterOpParallelismThreads());
}
if (other.getUsePerSessionThreads() != false) {
setUsePerSessionThreads(other.getUsePerSessionThreads());
}
if (sessionInterOpThreadPoolBuilder_ == null) {
if (!other.sessionInterOpThreadPool_.isEmpty()) {
if (sessionInterOpThreadPool_.isEmpty()) {
sessionInterOpThreadPool_ = other.sessionInterOpThreadPool_;
bitField0_ = (bitField0_ & ~0x00000010);
} else {
ensureSessionInterOpThreadPoolIsMutable();
sessionInterOpThreadPool_.addAll(other.sessionInterOpThreadPool_);
}
onChanged();
}
} else {
if (!other.sessionInterOpThreadPool_.isEmpty()) {
if (sessionInterOpThreadPoolBuilder_.isEmpty()) {
sessionInterOpThreadPoolBuilder_.dispose();
sessionInterOpThreadPoolBuilder_ = null;
sessionInterOpThreadPool_ = other.sessionInterOpThreadPool_;
bitField0_ = (bitField0_ & ~0x00000010);
sessionInterOpThreadPoolBuilder_ =
com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
getSessionInterOpThreadPoolFieldBuilder() : null;
} else {
sessionInterOpThreadPoolBuilder_.addAllMessages(other.sessionInterOpThreadPool_);
}
}
}
if (other.getPlacementPeriod() != 0) {
setPlacementPeriod(other.getPlacementPeriod());
}
if (!other.deviceFilters_.isEmpty()) {
if (deviceFilters_.isEmpty()) {
deviceFilters_ = other.deviceFilters_;
bitField0_ = (bitField0_ & ~0x00000040);
} else {
ensureDeviceFiltersIsMutable();
deviceFilters_.addAll(other.deviceFilters_);
}
onChanged();
}
if (other.hasGpuOptions()) {
mergeGpuOptions(other.getGpuOptions());
}
if (other.getAllowSoftPlacement() != false) {
setAllowSoftPlacement(other.getAllowSoftPlacement());
}
if (other.getLogDevicePlacement() != false) {
setLogDevicePlacement(other.getLogDevicePlacement());
}
if (other.hasGraphOptions()) {
mergeGraphOptions(other.getGraphOptions());
}
if (other.getOperationTimeoutInMs() != 0L) {
setOperationTimeoutInMs(other.getOperationTimeoutInMs());
}
if (other.hasRpcOptions()) {
mergeRpcOptions(other.getRpcOptions());
}
if (other.hasClusterDef()) {
mergeClusterDef(other.getClusterDef());
}
if (other.getIsolateSessionState() != false) {
setIsolateSessionState(other.getIsolateSessionState());
}
if (other.hasExperimental()) {
mergeExperimental(other.getExperimental());
}
this.mergeUnknownFields(other.unknownFields);
onChanged();
return this;
}
public final boolean isInitialized() {
return true;
}
public Builder mergeFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
org.tensorflow.framework.ConfigProto parsedMessage = null;
try {
parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
parsedMessage = (org.tensorflow.framework.ConfigProto) e.getUnfinishedMessage();
throw e.unwrapIOException();
} finally {
if (parsedMessage != null) {
mergeFrom(parsedMessage);
}
}
return this;
}
private int bitField0_;
private com.google.protobuf.MapField<
java.lang.String, java.lang.Integer> deviceCount_;
private com.google.protobuf.MapField
internalGetDeviceCount() {
if (deviceCount_ == null) {
return com.google.protobuf.MapField.emptyMapField(
DeviceCountDefaultEntryHolder.defaultEntry);
}
return deviceCount_;
}
private com.google.protobuf.MapField
internalGetMutableDeviceCount() {
onChanged();;
if (deviceCount_ == null) {
deviceCount_ = com.google.protobuf.MapField.newMapField(
DeviceCountDefaultEntryHolder.defaultEntry);
}
if (!deviceCount_.isMutable()) {
deviceCount_ = deviceCount_.copy();
}
return deviceCount_;
}
public int getDeviceCountCount() {
return internalGetDeviceCount().getMap().size();
}
/**
*
* 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 containsDeviceCount(
java.lang.String key) {
if (key == null) { throw new java.lang.NullPointerException(); }
return internalGetDeviceCount().getMap().containsKey(key);
}
/**
* Use {@link #getDeviceCountMap()} instead.
*/
@java.lang.Deprecated
public java.util.Map getDeviceCount() {
return 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 java.util.Map getDeviceCountMap() {
return internalGetDeviceCount().getMap();
}
/**
*
* 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(
java.lang.String key,
int defaultValue) {
if (key == null) { throw new java.lang.NullPointerException(); }
java.util.Map map =
internalGetDeviceCount().getMap();
return map.containsKey(key) ? map.get(key) : 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(
java.lang.String key) {
if (key == null) { throw new java.lang.NullPointerException(); }
java.util.Map map =
internalGetDeviceCount().getMap();
if (!map.containsKey(key)) {
throw new java.lang.IllegalArgumentException();
}
return map.get(key);
}
public Builder clearDeviceCount() {
internalGetMutableDeviceCount().getMutableMap()
.clear();
return this;
}
/**
*
* 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 Builder removeDeviceCount(
java.lang.String key) {
if (key == null) { throw new java.lang.NullPointerException(); }
internalGetMutableDeviceCount().getMutableMap()
.remove(key);
return this;
}
/**
* Use alternate mutation accessors instead.
*/
@java.lang.Deprecated
public java.util.Map
getMutableDeviceCount() {
return internalGetMutableDeviceCount().getMutableMap();
}
/**
*
* 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 Builder putDeviceCount(
java.lang.String key,
int value) {
if (key == null) { throw new java.lang.NullPointerException(); }
internalGetMutableDeviceCount().getMutableMap()
.put(key, value);
return this;
}
/**
*
* 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 Builder putAllDeviceCount(
java.util.Map values) {
internalGetMutableDeviceCount().getMutableMap()
.putAll(values);
return this;
}
private int intraOpParallelismThreads_ ;
/**
*
* 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.
*
*
* int32 intra_op_parallelism_threads = 2;
*/
public int getIntraOpParallelismThreads() {
return intraOpParallelismThreads_;
}
/**
*
* 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.
*
*
* int32 intra_op_parallelism_threads = 2;
*/
public Builder setIntraOpParallelismThreads(int value) {
intraOpParallelismThreads_ = value;
onChanged();
return this;
}
/**
*
* 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.
*
*
* int32 intra_op_parallelism_threads = 2;
*/
public Builder clearIntraOpParallelismThreads() {
intraOpParallelismThreads_ = 0;
onChanged();
return this;
}
private int interOpParallelismThreads_ ;
/**
*
* 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 getInterOpParallelismThreads() {
return interOpParallelismThreads_;
}
/**
*
* 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 Builder setInterOpParallelismThreads(int value) {
interOpParallelismThreads_ = value;
onChanged();
return this;
}
/**
*
* 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 Builder clearInterOpParallelismThreads() {
interOpParallelismThreads_ = 0;
onChanged();
return this;
}
private boolean usePerSessionThreads_ ;
/**
*
* 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 getUsePerSessionThreads() {
return usePerSessionThreads_;
}
/**
*
* 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 Builder setUsePerSessionThreads(boolean value) {
usePerSessionThreads_ = value;
onChanged();
return this;
}
/**
*
* 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 Builder clearUsePerSessionThreads() {
usePerSessionThreads_ = false;
onChanged();
return this;
}
private java.util.List sessionInterOpThreadPool_ =
java.util.Collections.emptyList();
private void ensureSessionInterOpThreadPoolIsMutable() {
if (!((bitField0_ & 0x00000010) == 0x00000010)) {
sessionInterOpThreadPool_ = new java.util.ArrayList(sessionInterOpThreadPool_);
bitField0_ |= 0x00000010;
}
}
private com.google.protobuf.RepeatedFieldBuilderV3<
org.tensorflow.framework.ThreadPoolOptionProto, org.tensorflow.framework.ThreadPoolOptionProto.Builder, org.tensorflow.framework.ThreadPoolOptionProtoOrBuilder> sessionInterOpThreadPoolBuilder_;
/**
*
* 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 java.util.List getSessionInterOpThreadPoolList() {
if (sessionInterOpThreadPoolBuilder_ == null) {
return java.util.Collections.unmodifiableList(sessionInterOpThreadPool_);
} else {
return sessionInterOpThreadPoolBuilder_.getMessageList();
}
}
/**
*
* 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() {
if (sessionInterOpThreadPoolBuilder_ == null) {
return sessionInterOpThreadPool_.size();
} else {
return sessionInterOpThreadPoolBuilder_.getCount();
}
}
/**
*
* 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 org.tensorflow.framework.ThreadPoolOptionProto getSessionInterOpThreadPool(int index) {
if (sessionInterOpThreadPoolBuilder_ == null) {
return sessionInterOpThreadPool_.get(index);
} else {
return sessionInterOpThreadPoolBuilder_.getMessage(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 Builder setSessionInterOpThreadPool(
int index, org.tensorflow.framework.ThreadPoolOptionProto value) {
if (sessionInterOpThreadPoolBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureSessionInterOpThreadPoolIsMutable();
sessionInterOpThreadPool_.set(index, value);
onChanged();
} else {
sessionInterOpThreadPoolBuilder_.setMessage(index, value);
}
return this;
}
/**
*
* 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 Builder setSessionInterOpThreadPool(
int index, org.tensorflow.framework.ThreadPoolOptionProto.Builder builderForValue) {
if (sessionInterOpThreadPoolBuilder_ == null) {
ensureSessionInterOpThreadPoolIsMutable();
sessionInterOpThreadPool_.set(index, builderForValue.build());
onChanged();
} else {
sessionInterOpThreadPoolBuilder_.setMessage(index, builderForValue.build());
}
return this;
}
/**
*
* 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 Builder addSessionInterOpThreadPool(org.tensorflow.framework.ThreadPoolOptionProto value) {
if (sessionInterOpThreadPoolBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureSessionInterOpThreadPoolIsMutable();
sessionInterOpThreadPool_.add(value);
onChanged();
} else {
sessionInterOpThreadPoolBuilder_.addMessage(value);
}
return this;
}
/**
*
* 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 Builder addSessionInterOpThreadPool(
int index, org.tensorflow.framework.ThreadPoolOptionProto value) {
if (sessionInterOpThreadPoolBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureSessionInterOpThreadPoolIsMutable();
sessionInterOpThreadPool_.add(index, value);
onChanged();
} else {
sessionInterOpThreadPoolBuilder_.addMessage(index, value);
}
return this;
}
/**
*
* 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 Builder addSessionInterOpThreadPool(
org.tensorflow.framework.ThreadPoolOptionProto.Builder builderForValue) {
if (sessionInterOpThreadPoolBuilder_ == null) {
ensureSessionInterOpThreadPoolIsMutable();
sessionInterOpThreadPool_.add(builderForValue.build());
onChanged();
} else {
sessionInterOpThreadPoolBuilder_.addMessage(builderForValue.build());
}
return this;
}
/**
*
* 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 Builder addSessionInterOpThreadPool(
int index, org.tensorflow.framework.ThreadPoolOptionProto.Builder builderForValue) {
if (sessionInterOpThreadPoolBuilder_ == null) {
ensureSessionInterOpThreadPoolIsMutable();
sessionInterOpThreadPool_.add(index, builderForValue.build());
onChanged();
} else {
sessionInterOpThreadPoolBuilder_.addMessage(index, builderForValue.build());
}
return this;
}
/**
*
* 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 Builder addAllSessionInterOpThreadPool(
java.lang.Iterable extends org.tensorflow.framework.ThreadPoolOptionProto> values) {
if (sessionInterOpThreadPoolBuilder_ == null) {
ensureSessionInterOpThreadPoolIsMutable();
com.google.protobuf.AbstractMessageLite.Builder.addAll(
values, sessionInterOpThreadPool_);
onChanged();
} else {
sessionInterOpThreadPoolBuilder_.addAllMessages(values);
}
return this;
}
/**
*
* 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 Builder clearSessionInterOpThreadPool() {
if (sessionInterOpThreadPoolBuilder_ == null) {
sessionInterOpThreadPool_ = java.util.Collections.emptyList();
bitField0_ = (bitField0_ & ~0x00000010);
onChanged();
} else {
sessionInterOpThreadPoolBuilder_.clear();
}
return this;
}
/**
*
* 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 Builder removeSessionInterOpThreadPool(int index) {
if (sessionInterOpThreadPoolBuilder_ == null) {
ensureSessionInterOpThreadPoolIsMutable();
sessionInterOpThreadPool_.remove(index);
onChanged();
} else {
sessionInterOpThreadPoolBuilder_.remove(index);
}
return this;
}
/**
*
* 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 org.tensorflow.framework.ThreadPoolOptionProto.Builder getSessionInterOpThreadPoolBuilder(
int index) {
return getSessionInterOpThreadPoolFieldBuilder().getBuilder(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 org.tensorflow.framework.ThreadPoolOptionProtoOrBuilder getSessionInterOpThreadPoolOrBuilder(
int index) {
if (sessionInterOpThreadPoolBuilder_ == null) {
return sessionInterOpThreadPool_.get(index); } else {
return sessionInterOpThreadPoolBuilder_.getMessageOrBuilder(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 java.util.List extends org.tensorflow.framework.ThreadPoolOptionProtoOrBuilder>
getSessionInterOpThreadPoolOrBuilderList() {
if (sessionInterOpThreadPoolBuilder_ != null) {
return sessionInterOpThreadPoolBuilder_.getMessageOrBuilderList();
} else {
return java.util.Collections.unmodifiableList(sessionInterOpThreadPool_);
}
}
/**
*
* 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 org.tensorflow.framework.ThreadPoolOptionProto.Builder addSessionInterOpThreadPoolBuilder() {
return getSessionInterOpThreadPoolFieldBuilder().addBuilder(
org.tensorflow.framework.ThreadPoolOptionProto.getDefaultInstance());
}
/**
*
* 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 org.tensorflow.framework.ThreadPoolOptionProto.Builder addSessionInterOpThreadPoolBuilder(
int index) {
return getSessionInterOpThreadPoolFieldBuilder().addBuilder(
index, org.tensorflow.framework.ThreadPoolOptionProto.getDefaultInstance());
}
/**
*
* 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 java.util.List
getSessionInterOpThreadPoolBuilderList() {
return getSessionInterOpThreadPoolFieldBuilder().getBuilderList();
}
private com.google.protobuf.RepeatedFieldBuilderV3<
org.tensorflow.framework.ThreadPoolOptionProto, org.tensorflow.framework.ThreadPoolOptionProto.Builder, org.tensorflow.framework.ThreadPoolOptionProtoOrBuilder>
getSessionInterOpThreadPoolFieldBuilder() {
if (sessionInterOpThreadPoolBuilder_ == null) {
sessionInterOpThreadPoolBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
org.tensorflow.framework.ThreadPoolOptionProto, org.tensorflow.framework.ThreadPoolOptionProto.Builder, org.tensorflow.framework.ThreadPoolOptionProtoOrBuilder>(
sessionInterOpThreadPool_,
((bitField0_ & 0x00000010) == 0x00000010),
getParentForChildren(),
isClean());
sessionInterOpThreadPool_ = null;
}
return sessionInterOpThreadPoolBuilder_;
}
private int placementPeriod_ ;
/**
*
* 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 int getPlacementPeriod() {
return placementPeriod_;
}
/**
*
* 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 Builder setPlacementPeriod(int value) {
placementPeriod_ = value;
onChanged();
return this;
}
/**
*
* 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 Builder clearPlacementPeriod() {
placementPeriod_ = 0;
onChanged();
return this;
}
private com.google.protobuf.LazyStringList deviceFilters_ = com.google.protobuf.LazyStringArrayList.EMPTY;
private void ensureDeviceFiltersIsMutable() {
if (!((bitField0_ & 0x00000040) == 0x00000040)) {
deviceFilters_ = new com.google.protobuf.LazyStringArrayList(deviceFilters_);
bitField0_ |= 0x00000040;
}
}
/**
*
* 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() {
return deviceFilters_.getUnmodifiableView();
}
/**
*
* 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() {
return deviceFilters_.size();
}
/**
*
* 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 java.lang.String getDeviceFilters(int index) {
return deviceFilters_.get(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) {
return deviceFilters_.getByteString(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 Builder setDeviceFilters(
int index, java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
ensureDeviceFiltersIsMutable();
deviceFilters_.set(index, value);
onChanged();
return this;
}
/**
*
* 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 Builder addDeviceFilters(
java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
ensureDeviceFiltersIsMutable();
deviceFilters_.add(value);
onChanged();
return this;
}
/**
*
* 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 Builder addAllDeviceFilters(
java.lang.Iterable values) {
ensureDeviceFiltersIsMutable();
com.google.protobuf.AbstractMessageLite.Builder.addAll(
values, deviceFilters_);
onChanged();
return this;
}
/**
*
* 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 Builder clearDeviceFilters() {
deviceFilters_ = com.google.protobuf.LazyStringArrayList.EMPTY;
bitField0_ = (bitField0_ & ~0x00000040);
onChanged();
return this;
}
/**
*
* 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 Builder addDeviceFiltersBytes(
com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
checkByteStringIsUtf8(value);
ensureDeviceFiltersIsMutable();
deviceFilters_.add(value);
onChanged();
return this;
}
private org.tensorflow.framework.GPUOptions gpuOptions_ = null;
private com.google.protobuf.SingleFieldBuilderV3<
org.tensorflow.framework.GPUOptions, org.tensorflow.framework.GPUOptions.Builder, org.tensorflow.framework.GPUOptionsOrBuilder> gpuOptionsBuilder_;
/**
*
* Options that apply to all GPUs.
*
*
* .tensorflow.GPUOptions gpu_options = 6;
*/
public boolean hasGpuOptions() {
return gpuOptionsBuilder_ != null || gpuOptions_ != null;
}
/**
*
* Options that apply to all GPUs.
*
*
* .tensorflow.GPUOptions gpu_options = 6;
*/
public org.tensorflow.framework.GPUOptions getGpuOptions() {
if (gpuOptionsBuilder_ == null) {
return gpuOptions_ == null ? org.tensorflow.framework.GPUOptions.getDefaultInstance() : gpuOptions_;
} else {
return gpuOptionsBuilder_.getMessage();
}
}
/**
*
* Options that apply to all GPUs.
*
*
* .tensorflow.GPUOptions gpu_options = 6;
*/
public Builder setGpuOptions(org.tensorflow.framework.GPUOptions value) {
if (gpuOptionsBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
gpuOptions_ = value;
onChanged();
} else {
gpuOptionsBuilder_.setMessage(value);
}
return this;
}
/**
*
* Options that apply to all GPUs.
*
*
* .tensorflow.GPUOptions gpu_options = 6;
*/
public Builder setGpuOptions(
org.tensorflow.framework.GPUOptions.Builder builderForValue) {
if (gpuOptionsBuilder_ == null) {
gpuOptions_ = builderForValue.build();
onChanged();
} else {
gpuOptionsBuilder_.setMessage(builderForValue.build());
}
return this;
}
/**
*
* Options that apply to all GPUs.
*
*
* .tensorflow.GPUOptions gpu_options = 6;
*/
public Builder mergeGpuOptions(org.tensorflow.framework.GPUOptions value) {
if (gpuOptionsBuilder_ == null) {
if (gpuOptions_ != null) {
gpuOptions_ =
org.tensorflow.framework.GPUOptions.newBuilder(gpuOptions_).mergeFrom(value).buildPartial();
} else {
gpuOptions_ = value;
}
onChanged();
} else {
gpuOptionsBuilder_.mergeFrom(value);
}
return this;
}
/**
*
* Options that apply to all GPUs.
*
*
* .tensorflow.GPUOptions gpu_options = 6;
*/
public Builder clearGpuOptions() {
if (gpuOptionsBuilder_ == null) {
gpuOptions_ = null;
onChanged();
} else {
gpuOptions_ = null;
gpuOptionsBuilder_ = null;
}
return this;
}
/**
*
* Options that apply to all GPUs.
*
*
* .tensorflow.GPUOptions gpu_options = 6;
*/
public org.tensorflow.framework.GPUOptions.Builder getGpuOptionsBuilder() {
onChanged();
return getGpuOptionsFieldBuilder().getBuilder();
}
/**
*
* Options that apply to all GPUs.
*
*
* .tensorflow.GPUOptions gpu_options = 6;
*/
public org.tensorflow.framework.GPUOptionsOrBuilder getGpuOptionsOrBuilder() {
if (gpuOptionsBuilder_ != null) {
return gpuOptionsBuilder_.getMessageOrBuilder();
} else {
return gpuOptions_ == null ?
org.tensorflow.framework.GPUOptions.getDefaultInstance() : gpuOptions_;
}
}
/**
*
* Options that apply to all GPUs.
*
*
* .tensorflow.GPUOptions gpu_options = 6;
*/
private com.google.protobuf.SingleFieldBuilderV3<
org.tensorflow.framework.GPUOptions, org.tensorflow.framework.GPUOptions.Builder, org.tensorflow.framework.GPUOptionsOrBuilder>
getGpuOptionsFieldBuilder() {
if (gpuOptionsBuilder_ == null) {
gpuOptionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
org.tensorflow.framework.GPUOptions, org.tensorflow.framework.GPUOptions.Builder, org.tensorflow.framework.GPUOptionsOrBuilder>(
getGpuOptions(),
getParentForChildren(),
isClean());
gpuOptions_ = null;
}
return gpuOptionsBuilder_;
}
private boolean allowSoftPlacement_ ;
/**
*
* 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 boolean getAllowSoftPlacement() {
return allowSoftPlacement_;
}
/**
*
* 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 Builder setAllowSoftPlacement(boolean value) {
allowSoftPlacement_ = value;
onChanged();
return this;
}
/**
*
* 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 Builder clearAllowSoftPlacement() {
allowSoftPlacement_ = false;
onChanged();
return this;
}
private boolean logDevicePlacement_ ;
/**
*
* Whether device placements should be logged.
*
*
* bool log_device_placement = 8;
*/
public boolean getLogDevicePlacement() {
return logDevicePlacement_;
}
/**
*
* Whether device placements should be logged.
*
*
* bool log_device_placement = 8;
*/
public Builder setLogDevicePlacement(boolean value) {
logDevicePlacement_ = value;
onChanged();
return this;
}
/**
*
* Whether device placements should be logged.
*
*
* bool log_device_placement = 8;
*/
public Builder clearLogDevicePlacement() {
logDevicePlacement_ = false;
onChanged();
return this;
}
private org.tensorflow.framework.GraphOptions graphOptions_ = null;
private com.google.protobuf.SingleFieldBuilderV3<
org.tensorflow.framework.GraphOptions, org.tensorflow.framework.GraphOptions.Builder, org.tensorflow.framework.GraphOptionsOrBuilder> graphOptionsBuilder_;
/**
*
* Options that apply to all graphs.
*
*
* .tensorflow.GraphOptions graph_options = 10;
*/
public boolean hasGraphOptions() {
return graphOptionsBuilder_ != null || graphOptions_ != null;
}
/**
*
* Options that apply to all graphs.
*
*
* .tensorflow.GraphOptions graph_options = 10;
*/
public org.tensorflow.framework.GraphOptions getGraphOptions() {
if (graphOptionsBuilder_ == null) {
return graphOptions_ == null ? org.tensorflow.framework.GraphOptions.getDefaultInstance() : graphOptions_;
} else {
return graphOptionsBuilder_.getMessage();
}
}
/**
*
* Options that apply to all graphs.
*
*
* .tensorflow.GraphOptions graph_options = 10;
*/
public Builder setGraphOptions(org.tensorflow.framework.GraphOptions value) {
if (graphOptionsBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
graphOptions_ = value;
onChanged();
} else {
graphOptionsBuilder_.setMessage(value);
}
return this;
}
/**
*
* Options that apply to all graphs.
*
*
* .tensorflow.GraphOptions graph_options = 10;
*/
public Builder setGraphOptions(
org.tensorflow.framework.GraphOptions.Builder builderForValue) {
if (graphOptionsBuilder_ == null) {
graphOptions_ = builderForValue.build();
onChanged();
} else {
graphOptionsBuilder_.setMessage(builderForValue.build());
}
return this;
}
/**
*
* Options that apply to all graphs.
*
*
* .tensorflow.GraphOptions graph_options = 10;
*/
public Builder mergeGraphOptions(org.tensorflow.framework.GraphOptions value) {
if (graphOptionsBuilder_ == null) {
if (graphOptions_ != null) {
graphOptions_ =
org.tensorflow.framework.GraphOptions.newBuilder(graphOptions_).mergeFrom(value).buildPartial();
} else {
graphOptions_ = value;
}
onChanged();
} else {
graphOptionsBuilder_.mergeFrom(value);
}
return this;
}
/**
*
* Options that apply to all graphs.
*
*
* .tensorflow.GraphOptions graph_options = 10;
*/
public Builder clearGraphOptions() {
if (graphOptionsBuilder_ == null) {
graphOptions_ = null;
onChanged();
} else {
graphOptions_ = null;
graphOptionsBuilder_ = null;
}
return this;
}
/**
*
* Options that apply to all graphs.
*
*
* .tensorflow.GraphOptions graph_options = 10;
*/
public org.tensorflow.framework.GraphOptions.Builder getGraphOptionsBuilder() {
onChanged();
return getGraphOptionsFieldBuilder().getBuilder();
}
/**
*
* Options that apply to all graphs.
*
*
* .tensorflow.GraphOptions graph_options = 10;
*/
public org.tensorflow.framework.GraphOptionsOrBuilder getGraphOptionsOrBuilder() {
if (graphOptionsBuilder_ != null) {
return graphOptionsBuilder_.getMessageOrBuilder();
} else {
return graphOptions_ == null ?
org.tensorflow.framework.GraphOptions.getDefaultInstance() : graphOptions_;
}
}
/**
*
* Options that apply to all graphs.
*
*
* .tensorflow.GraphOptions graph_options = 10;
*/
private com.google.protobuf.SingleFieldBuilderV3<
org.tensorflow.framework.GraphOptions, org.tensorflow.framework.GraphOptions.Builder, org.tensorflow.framework.GraphOptionsOrBuilder>
getGraphOptionsFieldBuilder() {
if (graphOptionsBuilder_ == null) {
graphOptionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
org.tensorflow.framework.GraphOptions, org.tensorflow.framework.GraphOptions.Builder, org.tensorflow.framework.GraphOptionsOrBuilder>(
getGraphOptions(),
getParentForChildren(),
isClean());
graphOptions_ = null;
}
return graphOptionsBuilder_;
}
private long operationTimeoutInMs_ ;
/**
*
* 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 long getOperationTimeoutInMs() {
return operationTimeoutInMs_;
}
/**
*
* 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 Builder setOperationTimeoutInMs(long value) {
operationTimeoutInMs_ = value;
onChanged();
return this;
}
/**
*
* 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 Builder clearOperationTimeoutInMs() {
operationTimeoutInMs_ = 0L;
onChanged();
return this;
}
private org.tensorflow.framework.RPCOptions rpcOptions_ = null;
private com.google.protobuf.SingleFieldBuilderV3<
org.tensorflow.framework.RPCOptions, org.tensorflow.framework.RPCOptions.Builder, org.tensorflow.framework.RPCOptionsOrBuilder> rpcOptionsBuilder_;
/**
*
* Options that apply when this session uses the distributed runtime.
*
*
* .tensorflow.RPCOptions rpc_options = 13;
*/
public boolean hasRpcOptions() {
return rpcOptionsBuilder_ != null || rpcOptions_ != null;
}
/**
*
* Options that apply when this session uses the distributed runtime.
*
*
* .tensorflow.RPCOptions rpc_options = 13;
*/
public org.tensorflow.framework.RPCOptions getRpcOptions() {
if (rpcOptionsBuilder_ == null) {
return rpcOptions_ == null ? org.tensorflow.framework.RPCOptions.getDefaultInstance() : rpcOptions_;
} else {
return rpcOptionsBuilder_.getMessage();
}
}
/**
*
* Options that apply when this session uses the distributed runtime.
*
*
* .tensorflow.RPCOptions rpc_options = 13;
*/
public Builder setRpcOptions(org.tensorflow.framework.RPCOptions value) {
if (rpcOptionsBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
rpcOptions_ = value;
onChanged();
} else {
rpcOptionsBuilder_.setMessage(value);
}
return this;
}
/**
*
* Options that apply when this session uses the distributed runtime.
*
*
* .tensorflow.RPCOptions rpc_options = 13;
*/
public Builder setRpcOptions(
org.tensorflow.framework.RPCOptions.Builder builderForValue) {
if (rpcOptionsBuilder_ == null) {
rpcOptions_ = builderForValue.build();
onChanged();
} else {
rpcOptionsBuilder_.setMessage(builderForValue.build());
}
return this;
}
/**
*
* Options that apply when this session uses the distributed runtime.
*
*
* .tensorflow.RPCOptions rpc_options = 13;
*/
public Builder mergeRpcOptions(org.tensorflow.framework.RPCOptions value) {
if (rpcOptionsBuilder_ == null) {
if (rpcOptions_ != null) {
rpcOptions_ =
org.tensorflow.framework.RPCOptions.newBuilder(rpcOptions_).mergeFrom(value).buildPartial();
} else {
rpcOptions_ = value;
}
onChanged();
} else {
rpcOptionsBuilder_.mergeFrom(value);
}
return this;
}
/**
*
* Options that apply when this session uses the distributed runtime.
*
*
* .tensorflow.RPCOptions rpc_options = 13;
*/
public Builder clearRpcOptions() {
if (rpcOptionsBuilder_ == null) {
rpcOptions_ = null;
onChanged();
} else {
rpcOptions_ = null;
rpcOptionsBuilder_ = null;
}
return this;
}
/**
*
* Options that apply when this session uses the distributed runtime.
*
*
* .tensorflow.RPCOptions rpc_options = 13;
*/
public org.tensorflow.framework.RPCOptions.Builder getRpcOptionsBuilder() {
onChanged();
return getRpcOptionsFieldBuilder().getBuilder();
}
/**
*
* Options that apply when this session uses the distributed runtime.
*
*
* .tensorflow.RPCOptions rpc_options = 13;
*/
public org.tensorflow.framework.RPCOptionsOrBuilder getRpcOptionsOrBuilder() {
if (rpcOptionsBuilder_ != null) {
return rpcOptionsBuilder_.getMessageOrBuilder();
} else {
return rpcOptions_ == null ?
org.tensorflow.framework.RPCOptions.getDefaultInstance() : rpcOptions_;
}
}
/**
*
* Options that apply when this session uses the distributed runtime.
*
*
* .tensorflow.RPCOptions rpc_options = 13;
*/
private com.google.protobuf.SingleFieldBuilderV3<
org.tensorflow.framework.RPCOptions, org.tensorflow.framework.RPCOptions.Builder, org.tensorflow.framework.RPCOptionsOrBuilder>
getRpcOptionsFieldBuilder() {
if (rpcOptionsBuilder_ == null) {
rpcOptionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
org.tensorflow.framework.RPCOptions, org.tensorflow.framework.RPCOptions.Builder, org.tensorflow.framework.RPCOptionsOrBuilder>(
getRpcOptions(),
getParentForChildren(),
isClean());
rpcOptions_ = null;
}
return rpcOptionsBuilder_;
}
private org.tensorflow.distruntime.ClusterDef clusterDef_ = null;
private com.google.protobuf.SingleFieldBuilderV3<
org.tensorflow.distruntime.ClusterDef, org.tensorflow.distruntime.ClusterDef.Builder, org.tensorflow.distruntime.ClusterDefOrBuilder> clusterDefBuilder_;
/**
*
* Optional list of all workers to use in this session.
*
*
* .tensorflow.ClusterDef cluster_def = 14;
*/
public boolean hasClusterDef() {
return clusterDefBuilder_ != null || clusterDef_ != null;
}
/**
*
* Optional list of all workers to use in this session.
*
*
* .tensorflow.ClusterDef cluster_def = 14;
*/
public org.tensorflow.distruntime.ClusterDef getClusterDef() {
if (clusterDefBuilder_ == null) {
return clusterDef_ == null ? org.tensorflow.distruntime.ClusterDef.getDefaultInstance() : clusterDef_;
} else {
return clusterDefBuilder_.getMessage();
}
}
/**
*
* Optional list of all workers to use in this session.
*
*
* .tensorflow.ClusterDef cluster_def = 14;
*/
public Builder setClusterDef(org.tensorflow.distruntime.ClusterDef value) {
if (clusterDefBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
clusterDef_ = value;
onChanged();
} else {
clusterDefBuilder_.setMessage(value);
}
return this;
}
/**
*
* Optional list of all workers to use in this session.
*
*
* .tensorflow.ClusterDef cluster_def = 14;
*/
public Builder setClusterDef(
org.tensorflow.distruntime.ClusterDef.Builder builderForValue) {
if (clusterDefBuilder_ == null) {
clusterDef_ = builderForValue.build();
onChanged();
} else {
clusterDefBuilder_.setMessage(builderForValue.build());
}
return this;
}
/**
*
* Optional list of all workers to use in this session.
*
*
* .tensorflow.ClusterDef cluster_def = 14;
*/
public Builder mergeClusterDef(org.tensorflow.distruntime.ClusterDef value) {
if (clusterDefBuilder_ == null) {
if (clusterDef_ != null) {
clusterDef_ =
org.tensorflow.distruntime.ClusterDef.newBuilder(clusterDef_).mergeFrom(value).buildPartial();
} else {
clusterDef_ = value;
}
onChanged();
} else {
clusterDefBuilder_.mergeFrom(value);
}
return this;
}
/**
*
* Optional list of all workers to use in this session.
*
*
* .tensorflow.ClusterDef cluster_def = 14;
*/
public Builder clearClusterDef() {
if (clusterDefBuilder_ == null) {
clusterDef_ = null;
onChanged();
} else {
clusterDef_ = null;
clusterDefBuilder_ = null;
}
return this;
}
/**
*
* Optional list of all workers to use in this session.
*
*
* .tensorflow.ClusterDef cluster_def = 14;
*/
public org.tensorflow.distruntime.ClusterDef.Builder getClusterDefBuilder() {
onChanged();
return getClusterDefFieldBuilder().getBuilder();
}
/**
*
* Optional list of all workers to use in this session.
*
*
* .tensorflow.ClusterDef cluster_def = 14;
*/
public org.tensorflow.distruntime.ClusterDefOrBuilder getClusterDefOrBuilder() {
if (clusterDefBuilder_ != null) {
return clusterDefBuilder_.getMessageOrBuilder();
} else {
return clusterDef_ == null ?
org.tensorflow.distruntime.ClusterDef.getDefaultInstance() : clusterDef_;
}
}
/**
*
* Optional list of all workers to use in this session.
*
*
* .tensorflow.ClusterDef cluster_def = 14;
*/
private com.google.protobuf.SingleFieldBuilderV3<
org.tensorflow.distruntime.ClusterDef, org.tensorflow.distruntime.ClusterDef.Builder, org.tensorflow.distruntime.ClusterDefOrBuilder>
getClusterDefFieldBuilder() {
if (clusterDefBuilder_ == null) {
clusterDefBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
org.tensorflow.distruntime.ClusterDef, org.tensorflow.distruntime.ClusterDef.Builder, org.tensorflow.distruntime.ClusterDefOrBuilder>(
getClusterDef(),
getParentForChildren(),
isClean());
clusterDef_ = null;
}
return clusterDefBuilder_;
}
private boolean isolateSessionState_ ;
/**
*
* 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 getIsolateSessionState() {
return isolateSessionState_;
}
/**
*
* 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 Builder setIsolateSessionState(boolean value) {
isolateSessionState_ = value;
onChanged();
return this;
}
/**
*
* 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 Builder clearIsolateSessionState() {
isolateSessionState_ = false;
onChanged();
return this;
}
private org.tensorflow.framework.ConfigProto.Experimental experimental_ = null;
private com.google.protobuf.SingleFieldBuilderV3<
org.tensorflow.framework.ConfigProto.Experimental, org.tensorflow.framework.ConfigProto.Experimental.Builder, org.tensorflow.framework.ConfigProto.ExperimentalOrBuilder> experimentalBuilder_;
/**
* .tensorflow.ConfigProto.Experimental experimental = 16;
*/
public boolean hasExperimental() {
return experimentalBuilder_ != null || experimental_ != null;
}
/**
* .tensorflow.ConfigProto.Experimental experimental = 16;
*/
public org.tensorflow.framework.ConfigProto.Experimental getExperimental() {
if (experimentalBuilder_ == null) {
return experimental_ == null ? org.tensorflow.framework.ConfigProto.Experimental.getDefaultInstance() : experimental_;
} else {
return experimentalBuilder_.getMessage();
}
}
/**
* .tensorflow.ConfigProto.Experimental experimental = 16;
*/
public Builder setExperimental(org.tensorflow.framework.ConfigProto.Experimental value) {
if (experimentalBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
experimental_ = value;
onChanged();
} else {
experimentalBuilder_.setMessage(value);
}
return this;
}
/**
* .tensorflow.ConfigProto.Experimental experimental = 16;
*/
public Builder setExperimental(
org.tensorflow.framework.ConfigProto.Experimental.Builder builderForValue) {
if (experimentalBuilder_ == null) {
experimental_ = builderForValue.build();
onChanged();
} else {
experimentalBuilder_.setMessage(builderForValue.build());
}
return this;
}
/**
* .tensorflow.ConfigProto.Experimental experimental = 16;
*/
public Builder mergeExperimental(org.tensorflow.framework.ConfigProto.Experimental value) {
if (experimentalBuilder_ == null) {
if (experimental_ != null) {
experimental_ =
org.tensorflow.framework.ConfigProto.Experimental.newBuilder(experimental_).mergeFrom(value).buildPartial();
} else {
experimental_ = value;
}
onChanged();
} else {
experimentalBuilder_.mergeFrom(value);
}
return this;
}
/**
* .tensorflow.ConfigProto.Experimental experimental = 16;
*/
public Builder clearExperimental() {
if (experimentalBuilder_ == null) {
experimental_ = null;
onChanged();
} else {
experimental_ = null;
experimentalBuilder_ = null;
}
return this;
}
/**
* .tensorflow.ConfigProto.Experimental experimental = 16;
*/
public org.tensorflow.framework.ConfigProto.Experimental.Builder getExperimentalBuilder() {
onChanged();
return getExperimentalFieldBuilder().getBuilder();
}
/**
* .tensorflow.ConfigProto.Experimental experimental = 16;
*/
public org.tensorflow.framework.ConfigProto.ExperimentalOrBuilder getExperimentalOrBuilder() {
if (experimentalBuilder_ != null) {
return experimentalBuilder_.getMessageOrBuilder();
} else {
return experimental_ == null ?
org.tensorflow.framework.ConfigProto.Experimental.getDefaultInstance() : experimental_;
}
}
/**
* .tensorflow.ConfigProto.Experimental experimental = 16;
*/
private com.google.protobuf.SingleFieldBuilderV3<
org.tensorflow.framework.ConfigProto.Experimental, org.tensorflow.framework.ConfigProto.Experimental.Builder, org.tensorflow.framework.ConfigProto.ExperimentalOrBuilder>
getExperimentalFieldBuilder() {
if (experimentalBuilder_ == null) {
experimentalBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
org.tensorflow.framework.ConfigProto.Experimental, org.tensorflow.framework.ConfigProto.Experimental.Builder, org.tensorflow.framework.ConfigProto.ExperimentalOrBuilder>(
getExperimental(),
getParentForChildren(),
isClean());
experimental_ = null;
}
return experimentalBuilder_;
}
public final Builder setUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.setUnknownFieldsProto3(unknownFields);
}
public final Builder mergeUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.mergeUnknownFields(unknownFields);
}
// @@protoc_insertion_point(builder_scope:tensorflow.ConfigProto)
}
// @@protoc_insertion_point(class_scope:tensorflow.ConfigProto)
private static final org.tensorflow.framework.ConfigProto DEFAULT_INSTANCE;
static {
DEFAULT_INSTANCE = new org.tensorflow.framework.ConfigProto();
}
public static org.tensorflow.framework.ConfigProto getDefaultInstance() {
return DEFAULT_INSTANCE;
}
private static final com.google.protobuf.Parser
PARSER = new com.google.protobuf.AbstractParser() {
public ConfigProto parsePartialFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return new ConfigProto(input, extensionRegistry);
}
};
public static com.google.protobuf.Parser parser() {
return PARSER;
}
@java.lang.Override
public com.google.protobuf.Parser getParserForType() {
return PARSER;
}
public org.tensorflow.framework.ConfigProto getDefaultInstanceForType() {
return DEFAULT_INSTANCE;
}
}