Package org.tensorflow.framework
Class CallableOptions
java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessageV3
org.tensorflow.framework.CallableOptions
- All Implemented Interfaces:
com.google.protobuf.Message,com.google.protobuf.MessageLite,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,java.io.Serializable,CallableOptionsOrBuilder
public final class CallableOptions extends com.google.protobuf.GeneratedMessageV3 implements CallableOptionsOrBuilder
Defines a subgraph in another `GraphDef` as a set of feed points and nodes to be fetched or executed. Compare with the arguments to `Session::Run()`.Protobuf type
tensorflow.CallableOptions- See Also:
- Serialized Form
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classCallableOptions.BuilderDefines a subgraph in another `GraphDef` as a set of feed points and nodes to be fetched or executed.Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3
com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage,BuilderType extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType,BuilderType>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter -
Field Summary
Fields Modifier and Type Field Description static intFEED_DEVICES_FIELD_NUMBERstatic intFEED_FIELD_NUMBERstatic intFETCH_DEVICES_FIELD_NUMBERstatic intFETCH_FIELD_NUMBERstatic intFETCH_SKIP_SYNC_FIELD_NUMBERstatic intRUN_OPTIONS_FIELD_NUMBERstatic intTARGET_FIELD_NUMBERstatic intTENSOR_CONNECTION_FIELD_NUMBER -
Method Summary
Modifier and Type Method Description booleancontainsFeedDevices(java.lang.String key)The Tensor objects fed in the callable and fetched from the callable are expected to be backed by host (CPU) memory by default.booleancontainsFetchDevices(java.lang.String key)map<string, string> fetch_devices = 7;booleanequals(java.lang.Object obj)static CallableOptionsgetDefaultInstance()CallableOptionsgetDefaultInstanceForType()static com.google.protobuf.Descriptors.DescriptorgetDescriptor()java.lang.StringgetFeed(int index)Tensors to be fed in the callable.com.google.protobuf.ByteStringgetFeedBytes(int index)Tensors to be fed in the callable.intgetFeedCount()Tensors to be fed in the callable.java.util.Map<java.lang.String,java.lang.String>getFeedDevices()Deprecated.intgetFeedDevicesCount()The Tensor objects fed in the callable and fetched from the callable are expected to be backed by host (CPU) memory by default.java.util.Map<java.lang.String,java.lang.String>getFeedDevicesMap()The Tensor objects fed in the callable and fetched from the callable are expected to be backed by host (CPU) memory by default.java.lang.StringgetFeedDevicesOrDefault(java.lang.String key, java.lang.String defaultValue)The Tensor objects fed in the callable and fetched from the callable are expected to be backed by host (CPU) memory by default.java.lang.StringgetFeedDevicesOrThrow(java.lang.String key)The Tensor objects fed in the callable and fetched from the callable are expected to be backed by host (CPU) memory by default.com.google.protobuf.ProtocolStringListgetFeedList()Tensors to be fed in the callable.java.lang.StringgetFetch(int index)Fetches.com.google.protobuf.ByteStringgetFetchBytes(int index)Fetches.intgetFetchCount()Fetches.java.util.Map<java.lang.String,java.lang.String>getFetchDevices()Deprecated.intgetFetchDevicesCount()map<string, string> fetch_devices = 7;java.util.Map<java.lang.String,java.lang.String>getFetchDevicesMap()map<string, string> fetch_devices = 7;java.lang.StringgetFetchDevicesOrDefault(java.lang.String key, java.lang.String defaultValue)map<string, string> fetch_devices = 7;java.lang.StringgetFetchDevicesOrThrow(java.lang.String key)map<string, string> fetch_devices = 7;com.google.protobuf.ProtocolStringListgetFetchList()Fetches.booleangetFetchSkipSync()By default, RunCallable() will synchronize the GPU stream before returning fetched tensors on a GPU device, to ensure that the values in those tensors have been produced.com.google.protobuf.Parser<CallableOptions>getParserForType()RunOptionsgetRunOptions()Options that will be applied to each run.RunOptionsOrBuildergetRunOptionsOrBuilder()Options that will be applied to each run.intgetSerializedSize()java.lang.StringgetTarget(int index)Target Nodes.com.google.protobuf.ByteStringgetTargetBytes(int index)Target Nodes.intgetTargetCount()Target Nodes.com.google.protobuf.ProtocolStringListgetTargetList()Target Nodes.TensorConnectiongetTensorConnection(int index)Tensors to be connected in the callable.intgetTensorConnectionCount()Tensors to be connected in the callable.java.util.List<TensorConnection>getTensorConnectionList()Tensors to be connected in the callable.TensorConnectionOrBuildergetTensorConnectionOrBuilder(int index)Tensors to be connected in the callable.java.util.List<? extends TensorConnectionOrBuilder>getTensorConnectionOrBuilderList()Tensors to be connected in the callable.com.google.protobuf.UnknownFieldSetgetUnknownFields()inthashCode()booleanhasRunOptions()Options that will be applied to each run.protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTableinternalGetFieldAccessorTable()protected com.google.protobuf.MapFieldinternalGetMapField(int number)booleanisInitialized()static CallableOptions.BuildernewBuilder()static CallableOptions.BuildernewBuilder(CallableOptions prototype)CallableOptions.BuildernewBuilderForType()protected CallableOptions.BuildernewBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)protected java.lang.ObjectnewInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)static CallableOptionsparseDelimitedFrom(java.io.InputStream input)static CallableOptionsparseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static CallableOptionsparseFrom(byte[] data)static CallableOptionsparseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static CallableOptionsparseFrom(com.google.protobuf.ByteString data)static CallableOptionsparseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static CallableOptionsparseFrom(com.google.protobuf.CodedInputStream input)static CallableOptionsparseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static CallableOptionsparseFrom(java.io.InputStream input)static CallableOptionsparseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static CallableOptionsparseFrom(java.nio.ByteBuffer data)static CallableOptionsparseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static com.google.protobuf.Parser<CallableOptions>parser()CallableOptions.BuildertoBuilder()voidwriteTo(com.google.protobuf.CodedOutputStream output)Methods inherited from class com.google.protobuf.GeneratedMessageV3
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneof, makeExtensionsImmutable, mergeFromAndMakeImmutableInternal, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBooleanList, newBuilderForType, newDoubleList, newFloatList, newIntList, newLongList, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTagMethods inherited from class com.google.protobuf.AbstractMessage
findInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toStringMethods inherited from class com.google.protobuf.AbstractMessageLite
addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeToMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Field Details
-
FEED_FIELD_NUMBER
public static final int FEED_FIELD_NUMBER- See Also:
- Constant Field Values
-
FETCH_FIELD_NUMBER
public static final int FETCH_FIELD_NUMBER- See Also:
- Constant Field Values
-
TARGET_FIELD_NUMBER
public static final int TARGET_FIELD_NUMBER- See Also:
- Constant Field Values
-
RUN_OPTIONS_FIELD_NUMBER
public static final int RUN_OPTIONS_FIELD_NUMBER- See Also:
- Constant Field Values
-
TENSOR_CONNECTION_FIELD_NUMBER
public static final int TENSOR_CONNECTION_FIELD_NUMBER- See Also:
- Constant Field Values
-
FEED_DEVICES_FIELD_NUMBER
public static final int FEED_DEVICES_FIELD_NUMBER- See Also:
- Constant Field Values
-
FETCH_DEVICES_FIELD_NUMBER
public static final int FETCH_DEVICES_FIELD_NUMBER- See Also:
- Constant Field Values
-
FETCH_SKIP_SYNC_FIELD_NUMBER
public static final int FETCH_SKIP_SYNC_FIELD_NUMBER- See Also:
- Constant Field Values
-
-
Method Details
-
newInstance
protected java.lang.Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)- Overrides:
newInstancein classcom.google.protobuf.GeneratedMessageV3
-
getUnknownFields
public final com.google.protobuf.UnknownFieldSet getUnknownFields()- Specified by:
getUnknownFieldsin interfacecom.google.protobuf.MessageOrBuilder- Overrides:
getUnknownFieldsin classcom.google.protobuf.GeneratedMessageV3
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() -
internalGetMapField
protected com.google.protobuf.MapField internalGetMapField(int number)- Overrides:
internalGetMapFieldin classcom.google.protobuf.GeneratedMessageV3
-
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()- Specified by:
internalGetFieldAccessorTablein classcom.google.protobuf.GeneratedMessageV3
-
getFeedList
public com.google.protobuf.ProtocolStringList getFeedList()Tensors to be fed in the callable. Each feed is the name of a tensor.
repeated string feed = 1;- Specified by:
getFeedListin interfaceCallableOptionsOrBuilder- Returns:
- A list containing the feed.
-
getFeedCount
public int getFeedCount()Tensors to be fed in the callable. Each feed is the name of a tensor.
repeated string feed = 1;- Specified by:
getFeedCountin interfaceCallableOptionsOrBuilder- Returns:
- The count of feed.
-
getFeed
public java.lang.String getFeed(int index)Tensors to be fed in the callable. Each feed is the name of a tensor.
repeated string feed = 1;- Specified by:
getFeedin interfaceCallableOptionsOrBuilder- Parameters:
index- The index of the element to return.- Returns:
- The feed at the given index.
-
getFeedBytes
public com.google.protobuf.ByteString getFeedBytes(int index)Tensors to be fed in the callable. Each feed is the name of a tensor.
repeated string feed = 1;- Specified by:
getFeedBytesin interfaceCallableOptionsOrBuilder- Parameters:
index- The index of the value to return.- Returns:
- The bytes of the feed at the given index.
-
getFetchList
public com.google.protobuf.ProtocolStringList getFetchList()Fetches. A list of tensor names. The caller of the callable expects a tensor to be returned for each fetch[i] (see RunStepResponse.tensor). The order of specified fetches does not change the execution order.
repeated string fetch = 2;- Specified by:
getFetchListin interfaceCallableOptionsOrBuilder- Returns:
- A list containing the fetch.
-
getFetchCount
public int getFetchCount()Fetches. A list of tensor names. The caller of the callable expects a tensor to be returned for each fetch[i] (see RunStepResponse.tensor). The order of specified fetches does not change the execution order.
repeated string fetch = 2;- Specified by:
getFetchCountin interfaceCallableOptionsOrBuilder- Returns:
- The count of fetch.
-
getFetch
public java.lang.String getFetch(int index)Fetches. A list of tensor names. The caller of the callable expects a tensor to be returned for each fetch[i] (see RunStepResponse.tensor). The order of specified fetches does not change the execution order.
repeated string fetch = 2;- Specified by:
getFetchin interfaceCallableOptionsOrBuilder- Parameters:
index- The index of the element to return.- Returns:
- The fetch at the given index.
-
getFetchBytes
public com.google.protobuf.ByteString getFetchBytes(int index)Fetches. A list of tensor names. The caller of the callable expects a tensor to be returned for each fetch[i] (see RunStepResponse.tensor). The order of specified fetches does not change the execution order.
repeated string fetch = 2;- Specified by:
getFetchBytesin interfaceCallableOptionsOrBuilder- Parameters:
index- The index of the value to return.- Returns:
- The bytes of the fetch at the given index.
-
getTargetList
public com.google.protobuf.ProtocolStringList getTargetList()Target Nodes. A list of node names. The named nodes will be run by the callable but their outputs will not be returned.
repeated string target = 3;- Specified by:
getTargetListin interfaceCallableOptionsOrBuilder- Returns:
- A list containing the target.
-
getTargetCount
public int getTargetCount()Target Nodes. A list of node names. The named nodes will be run by the callable but their outputs will not be returned.
repeated string target = 3;- Specified by:
getTargetCountin interfaceCallableOptionsOrBuilder- Returns:
- The count of target.
-
getTarget
public java.lang.String getTarget(int index)Target Nodes. A list of node names. The named nodes will be run by the callable but their outputs will not be returned.
repeated string target = 3;- Specified by:
getTargetin interfaceCallableOptionsOrBuilder- Parameters:
index- The index of the element to return.- Returns:
- The target at the given index.
-
getTargetBytes
public com.google.protobuf.ByteString getTargetBytes(int index)Target Nodes. A list of node names. The named nodes will be run by the callable but their outputs will not be returned.
repeated string target = 3;- Specified by:
getTargetBytesin interfaceCallableOptionsOrBuilder- Parameters:
index- The index of the value to return.- Returns:
- The bytes of the target at the given index.
-
hasRunOptions
public boolean hasRunOptions()Options that will be applied to each run.
.tensorflow.RunOptions run_options = 4;- Specified by:
hasRunOptionsin interfaceCallableOptionsOrBuilder- Returns:
- Whether the runOptions field is set.
-
getRunOptions
Options that will be applied to each run.
.tensorflow.RunOptions run_options = 4;- Specified by:
getRunOptionsin interfaceCallableOptionsOrBuilder- Returns:
- The runOptions.
-
getRunOptionsOrBuilder
Options that will be applied to each run.
.tensorflow.RunOptions run_options = 4;- Specified by:
getRunOptionsOrBuilderin interfaceCallableOptionsOrBuilder
-
getTensorConnectionList
Tensors to be connected in the callable. Each TensorConnection denotes a pair of tensors in the graph, between which an edge will be created in the callable.
repeated .tensorflow.TensorConnection tensor_connection = 5;- Specified by:
getTensorConnectionListin interfaceCallableOptionsOrBuilder
-
getTensorConnectionOrBuilderList
Tensors to be connected in the callable. Each TensorConnection denotes a pair of tensors in the graph, between which an edge will be created in the callable.
repeated .tensorflow.TensorConnection tensor_connection = 5;- Specified by:
getTensorConnectionOrBuilderListin interfaceCallableOptionsOrBuilder
-
getTensorConnectionCount
public int getTensorConnectionCount()Tensors to be connected in the callable. Each TensorConnection denotes a pair of tensors in the graph, between which an edge will be created in the callable.
repeated .tensorflow.TensorConnection tensor_connection = 5;- Specified by:
getTensorConnectionCountin interfaceCallableOptionsOrBuilder
-
getTensorConnection
Tensors to be connected in the callable. Each TensorConnection denotes a pair of tensors in the graph, between which an edge will be created in the callable.
repeated .tensorflow.TensorConnection tensor_connection = 5;- Specified by:
getTensorConnectionin interfaceCallableOptionsOrBuilder
-
getTensorConnectionOrBuilder
Tensors to be connected in the callable. Each TensorConnection denotes a pair of tensors in the graph, between which an edge will be created in the callable.
repeated .tensorflow.TensorConnection tensor_connection = 5;- Specified by:
getTensorConnectionOrBuilderin interfaceCallableOptionsOrBuilder
-
getFeedDevicesCount
public int getFeedDevicesCount()Description copied from interface:CallableOptionsOrBuilderThe Tensor objects fed in the callable and fetched from the callable are expected to be backed by host (CPU) memory by default. The options below allow changing that - feeding tensors backed by device memory, or returning tensors that are backed by device memory. The maps below map the name of a feed/fetch tensor (which appears in 'feed' or 'fetch' fields above), to the fully qualified name of the device owning the memory backing the contents of the tensor. For example, creating a callable with the following options: CallableOptions { feed: "a:0" feed: "b:0" fetch: "x:0" fetch: "y:0" feed_devices: { "a:0": "/job:localhost/replica:0/task:0/device:GPU:0" } fetch_devices: { "y:0": "/job:localhost/replica:0/task:0/device:GPU:0" } } means that the Callable expects: - The first argument ("a:0") is a Tensor backed by GPU memory. - The second argument ("b:0") is a Tensor backed by host memory. and of its return values: - The first output ("x:0") will be backed by host memory. - The second output ("y:0") will be backed by GPU memory. FEEDS: It is the responsibility of the caller to ensure that the memory of the fed tensors will be correctly initialized and synchronized before it is accessed by operations executed during the call to Session::RunCallable(). This is typically ensured by using the TensorFlow memory allocators (Device::GetAllocator()) to create the Tensor to be fed. Alternatively, for CUDA-enabled GPU devices, this typically means that the operation that produced the contents of the tensor has completed, i.e., the CUDA stream has been synchronized (e.g., via cuCtxSynchronize() or cuStreamSynchronize()).map<string, string> feed_devices = 6;- Specified by:
getFeedDevicesCountin interfaceCallableOptionsOrBuilder
-
containsFeedDevices
public boolean containsFeedDevices(java.lang.String key)The Tensor objects fed in the callable and fetched from the callable are expected to be backed by host (CPU) memory by default. The options below allow changing that - feeding tensors backed by device memory, or returning tensors that are backed by device memory. The maps below map the name of a feed/fetch tensor (which appears in 'feed' or 'fetch' fields above), to the fully qualified name of the device owning the memory backing the contents of the tensor. For example, creating a callable with the following options: CallableOptions { feed: "a:0" feed: "b:0" fetch: "x:0" fetch: "y:0" feed_devices: { "a:0": "/job:localhost/replica:0/task:0/device:GPU:0" } fetch_devices: { "y:0": "/job:localhost/replica:0/task:0/device:GPU:0" } } means that the Callable expects: - The first argument ("a:0") is a Tensor backed by GPU memory. - The second argument ("b:0") is a Tensor backed by host memory. and of its return values: - The first output ("x:0") will be backed by host memory. - The second output ("y:0") will be backed by GPU memory. FEEDS: It is the responsibility of the caller to ensure that the memory of the fed tensors will be correctly initialized and synchronized before it is accessed by operations executed during the call to Session::RunCallable(). This is typically ensured by using the TensorFlow memory allocators (Device::GetAllocator()) to create the Tensor to be fed. Alternatively, for CUDA-enabled GPU devices, this typically means that the operation that produced the contents of the tensor has completed, i.e., the CUDA stream has been synchronized (e.g., via cuCtxSynchronize() or cuStreamSynchronize()).map<string, string> feed_devices = 6;- Specified by:
containsFeedDevicesin interfaceCallableOptionsOrBuilder
-
getFeedDevices
@Deprecated public java.util.Map<java.lang.String,java.lang.String> getFeedDevices()Deprecated.UsegetFeedDevicesMap()instead.- Specified by:
getFeedDevicesin interfaceCallableOptionsOrBuilder
-
getFeedDevicesMap
public java.util.Map<java.lang.String,java.lang.String> getFeedDevicesMap()The Tensor objects fed in the callable and fetched from the callable are expected to be backed by host (CPU) memory by default. The options below allow changing that - feeding tensors backed by device memory, or returning tensors that are backed by device memory. The maps below map the name of a feed/fetch tensor (which appears in 'feed' or 'fetch' fields above), to the fully qualified name of the device owning the memory backing the contents of the tensor. For example, creating a callable with the following options: CallableOptions { feed: "a:0" feed: "b:0" fetch: "x:0" fetch: "y:0" feed_devices: { "a:0": "/job:localhost/replica:0/task:0/device:GPU:0" } fetch_devices: { "y:0": "/job:localhost/replica:0/task:0/device:GPU:0" } } means that the Callable expects: - The first argument ("a:0") is a Tensor backed by GPU memory. - The second argument ("b:0") is a Tensor backed by host memory. and of its return values: - The first output ("x:0") will be backed by host memory. - The second output ("y:0") will be backed by GPU memory. FEEDS: It is the responsibility of the caller to ensure that the memory of the fed tensors will be correctly initialized and synchronized before it is accessed by operations executed during the call to Session::RunCallable(). This is typically ensured by using the TensorFlow memory allocators (Device::GetAllocator()) to create the Tensor to be fed. Alternatively, for CUDA-enabled GPU devices, this typically means that the operation that produced the contents of the tensor has completed, i.e., the CUDA stream has been synchronized (e.g., via cuCtxSynchronize() or cuStreamSynchronize()).map<string, string> feed_devices = 6;- Specified by:
getFeedDevicesMapin interfaceCallableOptionsOrBuilder
-
getFeedDevicesOrDefault
public java.lang.String getFeedDevicesOrDefault(java.lang.String key, java.lang.String defaultValue)The Tensor objects fed in the callable and fetched from the callable are expected to be backed by host (CPU) memory by default. The options below allow changing that - feeding tensors backed by device memory, or returning tensors that are backed by device memory. The maps below map the name of a feed/fetch tensor (which appears in 'feed' or 'fetch' fields above), to the fully qualified name of the device owning the memory backing the contents of the tensor. For example, creating a callable with the following options: CallableOptions { feed: "a:0" feed: "b:0" fetch: "x:0" fetch: "y:0" feed_devices: { "a:0": "/job:localhost/replica:0/task:0/device:GPU:0" } fetch_devices: { "y:0": "/job:localhost/replica:0/task:0/device:GPU:0" } } means that the Callable expects: - The first argument ("a:0") is a Tensor backed by GPU memory. - The second argument ("b:0") is a Tensor backed by host memory. and of its return values: - The first output ("x:0") will be backed by host memory. - The second output ("y:0") will be backed by GPU memory. FEEDS: It is the responsibility of the caller to ensure that the memory of the fed tensors will be correctly initialized and synchronized before it is accessed by operations executed during the call to Session::RunCallable(). This is typically ensured by using the TensorFlow memory allocators (Device::GetAllocator()) to create the Tensor to be fed. Alternatively, for CUDA-enabled GPU devices, this typically means that the operation that produced the contents of the tensor has completed, i.e., the CUDA stream has been synchronized (e.g., via cuCtxSynchronize() or cuStreamSynchronize()).map<string, string> feed_devices = 6;- Specified by:
getFeedDevicesOrDefaultin interfaceCallableOptionsOrBuilder
-
getFeedDevicesOrThrow
public java.lang.String getFeedDevicesOrThrow(java.lang.String key)The Tensor objects fed in the callable and fetched from the callable are expected to be backed by host (CPU) memory by default. The options below allow changing that - feeding tensors backed by device memory, or returning tensors that are backed by device memory. The maps below map the name of a feed/fetch tensor (which appears in 'feed' or 'fetch' fields above), to the fully qualified name of the device owning the memory backing the contents of the tensor. For example, creating a callable with the following options: CallableOptions { feed: "a:0" feed: "b:0" fetch: "x:0" fetch: "y:0" feed_devices: { "a:0": "/job:localhost/replica:0/task:0/device:GPU:0" } fetch_devices: { "y:0": "/job:localhost/replica:0/task:0/device:GPU:0" } } means that the Callable expects: - The first argument ("a:0") is a Tensor backed by GPU memory. - The second argument ("b:0") is a Tensor backed by host memory. and of its return values: - The first output ("x:0") will be backed by host memory. - The second output ("y:0") will be backed by GPU memory. FEEDS: It is the responsibility of the caller to ensure that the memory of the fed tensors will be correctly initialized and synchronized before it is accessed by operations executed during the call to Session::RunCallable(). This is typically ensured by using the TensorFlow memory allocators (Device::GetAllocator()) to create the Tensor to be fed. Alternatively, for CUDA-enabled GPU devices, this typically means that the operation that produced the contents of the tensor has completed, i.e., the CUDA stream has been synchronized (e.g., via cuCtxSynchronize() or cuStreamSynchronize()).map<string, string> feed_devices = 6;- Specified by:
getFeedDevicesOrThrowin interfaceCallableOptionsOrBuilder
-
getFetchDevicesCount
public int getFetchDevicesCount()Description copied from interface:CallableOptionsOrBuildermap<string, string> fetch_devices = 7;- Specified by:
getFetchDevicesCountin interfaceCallableOptionsOrBuilder
-
containsFetchDevices
public boolean containsFetchDevices(java.lang.String key)map<string, string> fetch_devices = 7;- Specified by:
containsFetchDevicesin interfaceCallableOptionsOrBuilder
-
getFetchDevices
@Deprecated public java.util.Map<java.lang.String,java.lang.String> getFetchDevices()Deprecated.UsegetFetchDevicesMap()instead.- Specified by:
getFetchDevicesin interfaceCallableOptionsOrBuilder
-
getFetchDevicesMap
public java.util.Map<java.lang.String,java.lang.String> getFetchDevicesMap()map<string, string> fetch_devices = 7;- Specified by:
getFetchDevicesMapin interfaceCallableOptionsOrBuilder
-
getFetchDevicesOrDefault
public java.lang.String getFetchDevicesOrDefault(java.lang.String key, java.lang.String defaultValue)map<string, string> fetch_devices = 7;- Specified by:
getFetchDevicesOrDefaultin interfaceCallableOptionsOrBuilder
-
getFetchDevicesOrThrow
public java.lang.String getFetchDevicesOrThrow(java.lang.String key)map<string, string> fetch_devices = 7;- Specified by:
getFetchDevicesOrThrowin interfaceCallableOptionsOrBuilder
-
getFetchSkipSync
public boolean getFetchSkipSync()By default, RunCallable() will synchronize the GPU stream before returning fetched tensors on a GPU device, to ensure that the values in those tensors have been produced. This simplifies interacting with the tensors, but potentially incurs a performance hit. If this options is set to true, the caller is responsible for ensuring that the values in the fetched tensors have been produced before they are used. The caller can do this by invoking `Device::Sync()` on the underlying device(s), or by feeding the tensors back to the same Session using `feed_devices` with the same corresponding device name.
bool fetch_skip_sync = 8;- Specified by:
getFetchSkipSyncin interfaceCallableOptionsOrBuilder- Returns:
- The fetchSkipSync.
-
isInitialized
public final boolean isInitialized()- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessageV3
-
writeTo
public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException- Specified by:
writeToin interfacecom.google.protobuf.MessageLite- Overrides:
writeToin classcom.google.protobuf.GeneratedMessageV3- Throws:
java.io.IOException
-
getSerializedSize
public int getSerializedSize()- Specified by:
getSerializedSizein interfacecom.google.protobuf.MessageLite- Overrides:
getSerializedSizein classcom.google.protobuf.GeneratedMessageV3
-
equals
public boolean equals(java.lang.Object obj)- Specified by:
equalsin interfacecom.google.protobuf.Message- Overrides:
equalsin classcom.google.protobuf.AbstractMessage
-
hashCode
public int hashCode()- Specified by:
hashCodein interfacecom.google.protobuf.Message- Overrides:
hashCodein classcom.google.protobuf.AbstractMessage
-
parseFrom
public static CallableOptions parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static CallableOptions parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static CallableOptions parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static CallableOptions parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static CallableOptions parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static CallableOptions parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
- Throws:
java.io.IOException
-
parseFrom
public static CallableOptions parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException- Throws:
java.io.IOException
-
parseDelimitedFrom
public static CallableOptions parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException- Throws:
java.io.IOException
-
parseDelimitedFrom
public static CallableOptions parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException- Throws:
java.io.IOException
-
parseFrom
public static CallableOptions parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException- Throws:
java.io.IOException
-
parseFrom
public static CallableOptions parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException- Throws:
java.io.IOException
-
newBuilderForType
- Specified by:
newBuilderForTypein interfacecom.google.protobuf.Message- Specified by:
newBuilderForTypein interfacecom.google.protobuf.MessageLite
-
newBuilder
-
newBuilder
-
toBuilder
- Specified by:
toBuilderin interfacecom.google.protobuf.Message- Specified by:
toBuilderin interfacecom.google.protobuf.MessageLite
-
newBuilderForType
protected CallableOptions.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)- Specified by:
newBuilderForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstance
-
parser
-
getParserForType
- Specified by:
getParserForTypein interfacecom.google.protobuf.Message- Specified by:
getParserForTypein interfacecom.google.protobuf.MessageLite- Overrides:
getParserForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstanceForType
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-