Class ConfigProto

  • All Implemented Interfaces:
    Serializable, org.nd4j.shade.protobuf.Message, org.nd4j.shade.protobuf.MessageLite, org.nd4j.shade.protobuf.MessageLiteOrBuilder, org.nd4j.shade.protobuf.MessageOrBuilder, ConfigProtoOrBuilder

    public final class ConfigProto
    extends org.nd4j.shade.protobuf.GeneratedMessageV3
    implements ConfigProtoOrBuilder
     Session configuration parameters.
     The system picks appropriate values for fields that are not set.
     
    Protobuf type tensorflow.ConfigProto
    See Also:
    Serialized Form
    • Field Detail

      • DEVICE_COUNT_FIELD_NUMBER

        public static final int DEVICE_COUNT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • INTRA_OP_PARALLELISM_THREADS_FIELD_NUMBER

        public static final int INTRA_OP_PARALLELISM_THREADS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • INTER_OP_PARALLELISM_THREADS_FIELD_NUMBER

        public static final int INTER_OP_PARALLELISM_THREADS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • USE_PER_SESSION_THREADS_FIELD_NUMBER

        public static final int USE_PER_SESSION_THREADS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • SESSION_INTER_OP_THREAD_POOL_FIELD_NUMBER

        public static final int SESSION_INTER_OP_THREAD_POOL_FIELD_NUMBER
        See Also:
        Constant Field Values
      • PLACEMENT_PERIOD_FIELD_NUMBER

        public static final int PLACEMENT_PERIOD_FIELD_NUMBER
        See Also:
        Constant Field Values
      • DEVICE_FILTERS_FIELD_NUMBER

        public static final int DEVICE_FILTERS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • GPU_OPTIONS_FIELD_NUMBER

        public static final int GPU_OPTIONS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • ALLOW_SOFT_PLACEMENT_FIELD_NUMBER

        public static final int ALLOW_SOFT_PLACEMENT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • LOG_DEVICE_PLACEMENT_FIELD_NUMBER

        public static final int LOG_DEVICE_PLACEMENT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • GRAPH_OPTIONS_FIELD_NUMBER

        public static final int GRAPH_OPTIONS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • OPERATION_TIMEOUT_IN_MS_FIELD_NUMBER

        public static final int OPERATION_TIMEOUT_IN_MS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • RPC_OPTIONS_FIELD_NUMBER

        public static final int RPC_OPTIONS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • CLUSTER_DEF_FIELD_NUMBER

        public static final int CLUSTER_DEF_FIELD_NUMBER
        See Also:
        Constant Field Values
      • ISOLATE_SESSION_STATE_FIELD_NUMBER

        public static final int ISOLATE_SESSION_STATE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • EXPERIMENTAL_FIELD_NUMBER

        public static final int EXPERIMENTAL_FIELD_NUMBER
        See Also:
        Constant Field Values
    • Method Detail

      • newInstance

        protected Object newInstance​(org.nd4j.shade.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class org.nd4j.shade.protobuf.GeneratedMessageV3
      • getUnknownFields

        public final org.nd4j.shade.protobuf.UnknownFieldSet getUnknownFields()
        Specified by:
        getUnknownFields in interface org.nd4j.shade.protobuf.MessageOrBuilder
        Overrides:
        getUnknownFields in class org.nd4j.shade.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final org.nd4j.shade.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetMapField

        protected org.nd4j.shade.protobuf.MapField internalGetMapField​(int number)
        Overrides:
        internalGetMapField in class org.nd4j.shade.protobuf.GeneratedMessageV3
      • internalGetFieldAccessorTable

        protected org.nd4j.shade.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class org.nd4j.shade.protobuf.GeneratedMessageV3
      • getDeviceCountCount

        public int getDeviceCountCount()
        Description copied from interface: ConfigProtoOrBuilder
         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;
        Specified by:
        getDeviceCountCount in interface ConfigProtoOrBuilder
      • containsDeviceCount

        public boolean containsDeviceCount​(String key)
         Map from device type name (e.g., "CPU" or "GPU" ) to maximum
         number of devices of that type to use.  If a particular device
         type is not found in the map, the system picks an appropriate
         number.
         
        map<string, int32> device_count = 1;
        Specified by:
        containsDeviceCount in interface ConfigProtoOrBuilder
      • getDeviceCountMap

        public Map<String,​Integer> getDeviceCountMap()
         Map from device type name (e.g., "CPU" or "GPU" ) to maximum
         number of devices of that type to use.  If a particular device
         type is not found in the map, the system picks an appropriate
         number.
         
        map<string, int32> device_count = 1;
        Specified by:
        getDeviceCountMap in interface ConfigProtoOrBuilder
      • getDeviceCountOrDefault

        public int getDeviceCountOrDefault​(String key,
                                           int defaultValue)
         Map from device type name (e.g., "CPU" or "GPU" ) to maximum
         number of devices of that type to use.  If a particular device
         type is not found in the map, the system picks an appropriate
         number.
         
        map<string, int32> device_count = 1;
        Specified by:
        getDeviceCountOrDefault in interface ConfigProtoOrBuilder
      • getDeviceCountOrThrow

        public int getDeviceCountOrThrow​(String key)
         Map from device type name (e.g., "CPU" or "GPU" ) to maximum
         number of devices of that type to use.  If a particular device
         type is not found in the map, the system picks an appropriate
         number.
         
        map<string, int32> device_count = 1;
        Specified by:
        getDeviceCountOrThrow in interface ConfigProtoOrBuilder
      • getIntraOpParallelismThreads

        public int getIntraOpParallelismThreads()
         The execution of an individual op (for some op types) can be
         parallelized on a pool of intra_op_parallelism_threads.
         0 means the system picks an appropriate number.
         
        int32 intra_op_parallelism_threads = 2;
        Specified by:
        getIntraOpParallelismThreads in interface ConfigProtoOrBuilder
        Returns:
        The intraOpParallelismThreads.
      • getInterOpParallelismThreads

        public int getInterOpParallelismThreads()
         Nodes that perform blocking operations are enqueued on a pool of
         inter_op_parallelism_threads available in each process.
         0 means the system picks an appropriate number.
         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;
        Specified by:
        getInterOpParallelismThreads in interface ConfigProtoOrBuilder
        Returns:
        The interOpParallelismThreads.
      • getUsePerSessionThreads

        public boolean getUsePerSessionThreads()
         If true, use a new set of threads for this session rather than the global
         pool of threads. Only supported by direct sessions.
         If false, use the global threads created by the first session, or the
         per-session thread pools configured by session_inter_op_thread_pool.
         This option is deprecated. The same effect can be achieved by setting
         session_inter_op_thread_pool to have one element, whose num_threads equals
         inter_op_parallelism_threads.
         
        bool use_per_session_threads = 9;
        Specified by:
        getUsePerSessionThreads in interface ConfigProtoOrBuilder
        Returns:
        The usePerSessionThreads.
      • getSessionInterOpThreadPoolList

        public List<ThreadPoolOptionProto> getSessionInterOpThreadPoolList()
         This option is experimental - it may be replaced with a different mechanism
         in the future.
         Configures session thread pools. If this is configured, then RunOptions for
         a Run call can select the thread pool to use.
         The intended use is for when some session invocations need to run in a
         background pool limited to a small number of threads:
         - For example, a session may be configured to have one large pool (for
         regular compute) and one small pool (for periodic, low priority work);
         using the small pool is currently the mechanism for limiting the inter-op
         parallelism of the low priority work.  Note that it does not limit the
         parallelism of work spawned by a single op kernel implementation.
         - Using this setting is normally not needed in training, but may help some
         serving use cases.
         - It is also generally recommended to set the global_name field of this
         proto, to avoid creating multiple large pools. It is typically better to
         run the non-low-priority work, even across sessions, in a single large
         pool.
         
        repeated .tensorflow.ThreadPoolOptionProto session_inter_op_thread_pool = 12;
        Specified by:
        getSessionInterOpThreadPoolList in interface ConfigProtoOrBuilder
      • getSessionInterOpThreadPoolOrBuilderList

        public List<? extends ThreadPoolOptionProtoOrBuilder> getSessionInterOpThreadPoolOrBuilderList()
         This option is experimental - it may be replaced with a different mechanism
         in the future.
         Configures session thread pools. If this is configured, then RunOptions for
         a Run call can select the thread pool to use.
         The intended use is for when some session invocations need to run in a
         background pool limited to a small number of threads:
         - For example, a session may be configured to have one large pool (for
         regular compute) and one small pool (for periodic, low priority work);
         using the small pool is currently the mechanism for limiting the inter-op
         parallelism of the low priority work.  Note that it does not limit the
         parallelism of work spawned by a single op kernel implementation.
         - Using this setting is normally not needed in training, but may help some
         serving use cases.
         - It is also generally recommended to set the global_name field of this
         proto, to avoid creating multiple large pools. It is typically better to
         run the non-low-priority work, even across sessions, in a single large
         pool.
         
        repeated .tensorflow.ThreadPoolOptionProto session_inter_op_thread_pool = 12;
        Specified by:
        getSessionInterOpThreadPoolOrBuilderList in interface ConfigProtoOrBuilder
      • getSessionInterOpThreadPoolCount

        public int getSessionInterOpThreadPoolCount()
         This option is experimental - it may be replaced with a different mechanism
         in the future.
         Configures session thread pools. If this is configured, then RunOptions for
         a Run call can select the thread pool to use.
         The intended use is for when some session invocations need to run in a
         background pool limited to a small number of threads:
         - For example, a session may be configured to have one large pool (for
         regular compute) and one small pool (for periodic, low priority work);
         using the small pool is currently the mechanism for limiting the inter-op
         parallelism of the low priority work.  Note that it does not limit the
         parallelism of work spawned by a single op kernel implementation.
         - Using this setting is normally not needed in training, but may help some
         serving use cases.
         - It is also generally recommended to set the global_name field of this
         proto, to avoid creating multiple large pools. It is typically better to
         run the non-low-priority work, even across sessions, in a single large
         pool.
         
        repeated .tensorflow.ThreadPoolOptionProto session_inter_op_thread_pool = 12;
        Specified by:
        getSessionInterOpThreadPoolCount in interface ConfigProtoOrBuilder
      • getSessionInterOpThreadPool

        public ThreadPoolOptionProto getSessionInterOpThreadPool​(int index)
         This option is experimental - it may be replaced with a different mechanism
         in the future.
         Configures session thread pools. If this is configured, then RunOptions for
         a Run call can select the thread pool to use.
         The intended use is for when some session invocations need to run in a
         background pool limited to a small number of threads:
         - For example, a session may be configured to have one large pool (for
         regular compute) and one small pool (for periodic, low priority work);
         using the small pool is currently the mechanism for limiting the inter-op
         parallelism of the low priority work.  Note that it does not limit the
         parallelism of work spawned by a single op kernel implementation.
         - Using this setting is normally not needed in training, but may help some
         serving use cases.
         - It is also generally recommended to set the global_name field of this
         proto, to avoid creating multiple large pools. It is typically better to
         run the non-low-priority work, even across sessions, in a single large
         pool.
         
        repeated .tensorflow.ThreadPoolOptionProto session_inter_op_thread_pool = 12;
        Specified by:
        getSessionInterOpThreadPool in interface ConfigProtoOrBuilder
      • getSessionInterOpThreadPoolOrBuilder

        public ThreadPoolOptionProtoOrBuilder getSessionInterOpThreadPoolOrBuilder​(int index)
         This option is experimental - it may be replaced with a different mechanism
         in the future.
         Configures session thread pools. If this is configured, then RunOptions for
         a Run call can select the thread pool to use.
         The intended use is for when some session invocations need to run in a
         background pool limited to a small number of threads:
         - For example, a session may be configured to have one large pool (for
         regular compute) and one small pool (for periodic, low priority work);
         using the small pool is currently the mechanism for limiting the inter-op
         parallelism of the low priority work.  Note that it does not limit the
         parallelism of work spawned by a single op kernel implementation.
         - Using this setting is normally not needed in training, but may help some
         serving use cases.
         - It is also generally recommended to set the global_name field of this
         proto, to avoid creating multiple large pools. It is typically better to
         run the non-low-priority work, even across sessions, in a single large
         pool.
         
        repeated .tensorflow.ThreadPoolOptionProto session_inter_op_thread_pool = 12;
        Specified by:
        getSessionInterOpThreadPoolOrBuilder in interface ConfigProtoOrBuilder
      • getPlacementPeriod

        public int getPlacementPeriod()
         Assignment of Nodes to Devices is recomputed every placement_period
         steps until the system warms up (at which point the recomputation
         typically slows down automatically).
         
        int32 placement_period = 3;
        Specified by:
        getPlacementPeriod in interface ConfigProtoOrBuilder
        Returns:
        The placementPeriod.
      • getDeviceFiltersList

        public org.nd4j.shade.protobuf.ProtocolStringList getDeviceFiltersList()
         When any filters are present sessions will ignore all devices which do not
         match the filters. Each filter can be partially specified, e.g. "/job:ps"
         "/job:worker/replica:3", etc.
         
        repeated string device_filters = 4;
        Specified by:
        getDeviceFiltersList in interface ConfigProtoOrBuilder
        Returns:
        A list containing the deviceFilters.
      • getDeviceFiltersCount

        public int getDeviceFiltersCount()
         When any filters are present sessions will ignore all devices which do not
         match the filters. Each filter can be partially specified, e.g. "/job:ps"
         "/job:worker/replica:3", etc.
         
        repeated string device_filters = 4;
        Specified by:
        getDeviceFiltersCount in interface ConfigProtoOrBuilder
        Returns:
        The count of deviceFilters.
      • getDeviceFilters

        public String getDeviceFilters​(int index)
         When any filters are present sessions will ignore all devices which do not
         match the filters. Each filter can be partially specified, e.g. "/job:ps"
         "/job:worker/replica:3", etc.
         
        repeated string device_filters = 4;
        Specified by:
        getDeviceFilters in interface ConfigProtoOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The deviceFilters at the given index.
      • getDeviceFiltersBytes

        public org.nd4j.shade.protobuf.ByteString getDeviceFiltersBytes​(int index)
         When any filters are present sessions will ignore all devices which do not
         match the filters. Each filter can be partially specified, e.g. "/job:ps"
         "/job:worker/replica:3", etc.
         
        repeated string device_filters = 4;
        Specified by:
        getDeviceFiltersBytes in interface ConfigProtoOrBuilder
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the deviceFilters at the given index.
      • hasGpuOptions

        public boolean hasGpuOptions()
         Options that apply to all GPUs.
         
        .tensorflow.GPUOptions gpu_options = 6;
        Specified by:
        hasGpuOptions in interface ConfigProtoOrBuilder
        Returns:
        Whether the gpuOptions field is set.
      • getAllowSoftPlacement

        public boolean getAllowSoftPlacement()
         Whether soft placement is allowed. If allow_soft_placement is true,
         an op will be placed on CPU if
           1. there's no GPU implementation for the OP
         or
           2. no GPU devices are known or registered
         or
           3. need to co-locate with reftype input(s) which are from CPU.
         
        bool allow_soft_placement = 7;
        Specified by:
        getAllowSoftPlacement in interface ConfigProtoOrBuilder
        Returns:
        The allowSoftPlacement.
      • getLogDevicePlacement

        public boolean getLogDevicePlacement()
         Whether device placements should be logged.
         
        bool log_device_placement = 8;
        Specified by:
        getLogDevicePlacement in interface ConfigProtoOrBuilder
        Returns:
        The logDevicePlacement.
      • hasGraphOptions

        public boolean hasGraphOptions()
         Options that apply to all graphs.
         
        .tensorflow.GraphOptions graph_options = 10;
        Specified by:
        hasGraphOptions in interface ConfigProtoOrBuilder
        Returns:
        Whether the graphOptions field is set.
      • getOperationTimeoutInMs

        public long getOperationTimeoutInMs()
         Global timeout for all blocking operations in this session.  If non-zero,
         and not overridden on a per-operation basis, this value will be used as the
         deadline for all blocking operations.
         
        int64 operation_timeout_in_ms = 11;
        Specified by:
        getOperationTimeoutInMs in interface ConfigProtoOrBuilder
        Returns:
        The operationTimeoutInMs.
      • hasRpcOptions

        public boolean hasRpcOptions()
         Options that apply when this session uses the distributed runtime.
         
        .tensorflow.RPCOptions rpc_options = 13;
        Specified by:
        hasRpcOptions in interface ConfigProtoOrBuilder
        Returns:
        Whether the rpcOptions field is set.
      • getRpcOptions

        public RPCOptions getRpcOptions()
         Options that apply when this session uses the distributed runtime.
         
        .tensorflow.RPCOptions rpc_options = 13;
        Specified by:
        getRpcOptions in interface ConfigProtoOrBuilder
        Returns:
        The rpcOptions.
      • hasClusterDef

        public boolean hasClusterDef()
         Optional list of all workers to use in this session.
         
        .tensorflow.ClusterDef cluster_def = 14;
        Specified by:
        hasClusterDef in interface ConfigProtoOrBuilder
        Returns:
        Whether the clusterDef field is set.
      • getClusterDef

        public ClusterDef getClusterDef()
         Optional list of all workers to use in this session.
         
        .tensorflow.ClusterDef cluster_def = 14;
        Specified by:
        getClusterDef in interface ConfigProtoOrBuilder
        Returns:
        The clusterDef.
      • getIsolateSessionState

        public boolean getIsolateSessionState()
         If true, any resources such as Variables used in the session will not be
         shared with other sessions.
         
        bool isolate_session_state = 15;
        Specified by:
        getIsolateSessionState in interface ConfigProtoOrBuilder
        Returns:
        The isolateSessionState.
      • hasExperimental

        public boolean hasExperimental()
        .tensorflow.ConfigProto.Experimental experimental = 16;
        Specified by:
        hasExperimental in interface ConfigProtoOrBuilder
        Returns:
        Whether the experimental field is set.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface org.nd4j.shade.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class org.nd4j.shade.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(org.nd4j.shade.protobuf.CodedOutputStream output)
                     throws IOException
        Specified by:
        writeTo in interface org.nd4j.shade.protobuf.MessageLite
        Overrides:
        writeTo in class org.nd4j.shade.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface org.nd4j.shade.protobuf.MessageLite
        Overrides:
        getSerializedSize in class org.nd4j.shade.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(Object obj)
        Specified by:
        equals in interface org.nd4j.shade.protobuf.Message
        Overrides:
        equals in class org.nd4j.shade.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface org.nd4j.shade.protobuf.Message
        Overrides:
        hashCode in class org.nd4j.shade.protobuf.AbstractMessage
      • parseFrom

        public static ConfigProto parseFrom​(ByteBuffer data)
                                     throws org.nd4j.shade.protobuf.InvalidProtocolBufferException
        Throws:
        org.nd4j.shade.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ConfigProto parseFrom​(ByteBuffer data,
                                            org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry)
                                     throws org.nd4j.shade.protobuf.InvalidProtocolBufferException
        Throws:
        org.nd4j.shade.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ConfigProto parseFrom​(org.nd4j.shade.protobuf.ByteString data)
                                     throws org.nd4j.shade.protobuf.InvalidProtocolBufferException
        Throws:
        org.nd4j.shade.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ConfigProto parseFrom​(org.nd4j.shade.protobuf.ByteString data,
                                            org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry)
                                     throws org.nd4j.shade.protobuf.InvalidProtocolBufferException
        Throws:
        org.nd4j.shade.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ConfigProto parseFrom​(byte[] data)
                                     throws org.nd4j.shade.protobuf.InvalidProtocolBufferException
        Throws:
        org.nd4j.shade.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ConfigProto parseFrom​(byte[] data,
                                            org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry)
                                     throws org.nd4j.shade.protobuf.InvalidProtocolBufferException
        Throws:
        org.nd4j.shade.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ConfigProto parseFrom​(org.nd4j.shade.protobuf.CodedInputStream input,
                                            org.nd4j.shade.protobuf.ExtensionRegistryLite extensionRegistry)
                                     throws IOException
        Throws:
        IOException
      • newBuilderForType

        public ConfigProto.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface org.nd4j.shade.protobuf.Message
        Specified by:
        newBuilderForType in interface org.nd4j.shade.protobuf.MessageLite
      • toBuilder

        public ConfigProto.Builder toBuilder()
        Specified by:
        toBuilder in interface org.nd4j.shade.protobuf.Message
        Specified by:
        toBuilder in interface org.nd4j.shade.protobuf.MessageLite
      • newBuilderForType

        protected ConfigProto.Builder newBuilderForType​(org.nd4j.shade.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class org.nd4j.shade.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static ConfigProto getDefaultInstance()
      • parser

        public static org.nd4j.shade.protobuf.Parser<ConfigProto> parser()
      • getParserForType

        public org.nd4j.shade.protobuf.Parser<ConfigProto> getParserForType()
        Specified by:
        getParserForType in interface org.nd4j.shade.protobuf.Message
        Specified by:
        getParserForType in interface org.nd4j.shade.protobuf.MessageLite
        Overrides:
        getParserForType in class org.nd4j.shade.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public ConfigProto getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface org.nd4j.shade.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface org.nd4j.shade.protobuf.MessageOrBuilder