Class CallableOptions

All Implemented Interfaces:
Message, MessageLite, MessageLiteOrBuilder, MessageOrBuilder, Serializable, CallableOptionsOrBuilder

public final class CallableOptions extends 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:
  • Field Details

    • FEED_FIELD_NUMBER

      public static final int FEED_FIELD_NUMBER
      See Also:
    • FETCH_FIELD_NUMBER

      public static final int FETCH_FIELD_NUMBER
      See Also:
    • TARGET_FIELD_NUMBER

      public static final int TARGET_FIELD_NUMBER
      See Also:
    • RUN_OPTIONS_FIELD_NUMBER

      public static final int RUN_OPTIONS_FIELD_NUMBER
      See Also:
    • TENSOR_CONNECTION_FIELD_NUMBER

      public static final int TENSOR_CONNECTION_FIELD_NUMBER
      See Also:
    • FEED_DEVICES_FIELD_NUMBER

      public static final int FEED_DEVICES_FIELD_NUMBER
      See Also:
    • FETCH_DEVICES_FIELD_NUMBER

      public static final int FETCH_DEVICES_FIELD_NUMBER
      See Also:
    • FETCH_SKIP_SYNC_FIELD_NUMBER

      public static final int FETCH_SKIP_SYNC_FIELD_NUMBER
      See Also:
  • Method Details

    • newInstance

      protected Object newInstance(GeneratedMessageV3.UnusedPrivateParameter unused)
      Overrides:
      newInstance in class GeneratedMessageV3
    • getUnknownFields

      public final UnknownFieldSet getUnknownFields()
      Specified by:
      getUnknownFields in interface MessageOrBuilder
      Overrides:
      getUnknownFields in class GeneratedMessageV3
    • getDescriptor

      public static final Descriptors.Descriptor getDescriptor()
    • internalGetMapField

      protected MapField internalGetMapField(int number)
      Overrides:
      internalGetMapField in class GeneratedMessageV3
    • internalGetFieldAccessorTable

      protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class GeneratedMessageV3
    • getFeedList

      public ProtocolStringList getFeedList()
      Tensors to be fed in the callable. Each feed is the name of a tensor.
      
      repeated string feed = 1;
      Specified by:
      getFeedList in interface CallableOptionsOrBuilder
      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:
      getFeedCount in interface CallableOptionsOrBuilder
      Returns:
      The count of feed.
    • getFeed

      public 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:
      getFeed in interface CallableOptionsOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The feed at the given index.
    • getFeedBytes

      public 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:
      getFeedBytes in interface CallableOptionsOrBuilder
      Parameters:
      index - The index of the value to return.
      Returns:
      The bytes of the feed at the given index.
    • getFetchList

      public 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:
      getFetchList in interface CallableOptionsOrBuilder
      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:
      getFetchCount in interface CallableOptionsOrBuilder
      Returns:
      The count of fetch.
    • getFetch

      public 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:
      getFetch in interface CallableOptionsOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The fetch at the given index.
    • getFetchBytes

      public 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:
      getFetchBytes in interface CallableOptionsOrBuilder
      Parameters:
      index - The index of the value to return.
      Returns:
      The bytes of the fetch at the given index.
    • getTargetList

      public 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:
      getTargetList in interface CallableOptionsOrBuilder
      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:
      getTargetCount in interface CallableOptionsOrBuilder
      Returns:
      The count of target.
    • getTarget

      public 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:
      getTarget in interface CallableOptionsOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The target at the given index.
    • getTargetBytes

      public 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:
      getTargetBytes in interface CallableOptionsOrBuilder
      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:
      hasRunOptions in interface CallableOptionsOrBuilder
      Returns:
      Whether the runOptions field is set.
    • getRunOptions

      public RunOptions getRunOptions()
      Options that will be applied to each run.
      
      .tensorflow.RunOptions run_options = 4;
      Specified by:
      getRunOptions in interface CallableOptionsOrBuilder
      Returns:
      The runOptions.
    • getRunOptionsOrBuilder

      public RunOptionsOrBuilder getRunOptionsOrBuilder()
      Options that will be applied to each run.
      
      .tensorflow.RunOptions run_options = 4;
      Specified by:
      getRunOptionsOrBuilder in interface CallableOptionsOrBuilder
    • getTensorConnectionList

      public List<TensorConnection> 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:
      getTensorConnectionList in interface CallableOptionsOrBuilder
    • getTensorConnectionOrBuilderList

      public List<? extends TensorConnectionOrBuilder> 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:
      getTensorConnectionOrBuilderList in interface CallableOptionsOrBuilder
    • 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:
      getTensorConnectionCount in interface CallableOptionsOrBuilder
    • getTensorConnection

      public TensorConnection getTensorConnection(int index)
      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:
      getTensorConnection in interface CallableOptionsOrBuilder
    • getTensorConnectionOrBuilder

      public TensorConnectionOrBuilder getTensorConnectionOrBuilder(int index)
      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:
      getTensorConnectionOrBuilder in interface CallableOptionsOrBuilder
    • getFeedDevicesCount

      public int getFeedDevicesCount()
      Description copied from interface: CallableOptionsOrBuilder
      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:
      getFeedDevicesCount in interface CallableOptionsOrBuilder
    • containsFeedDevices

      public boolean containsFeedDevices(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:
      containsFeedDevices in interface CallableOptionsOrBuilder
    • getFeedDevices

      @Deprecated public Map<String,String> getFeedDevices()
      Deprecated.
      Use getFeedDevicesMap() instead.
      Specified by:
      getFeedDevices in interface CallableOptionsOrBuilder
    • getFeedDevicesMap

      public Map<String,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:
      getFeedDevicesMap in interface CallableOptionsOrBuilder
    • getFeedDevicesOrDefault

      public String getFeedDevicesOrDefault(String key, 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:
      getFeedDevicesOrDefault in interface CallableOptionsOrBuilder
    • getFeedDevicesOrThrow

      public String getFeedDevicesOrThrow(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:
      getFeedDevicesOrThrow in interface CallableOptionsOrBuilder
    • getFetchDevicesCount

      public int getFetchDevicesCount()
      Description copied from interface: CallableOptionsOrBuilder
      map<string, string> fetch_devices = 7;
      Specified by:
      getFetchDevicesCount in interface CallableOptionsOrBuilder
    • containsFetchDevices

      public boolean containsFetchDevices(String key)
      map<string, string> fetch_devices = 7;
      Specified by:
      containsFetchDevices in interface CallableOptionsOrBuilder
    • getFetchDevices

      @Deprecated public Map<String,String> getFetchDevices()
      Deprecated.
      Specified by:
      getFetchDevices in interface CallableOptionsOrBuilder
    • getFetchDevicesMap

      public Map<String,String> getFetchDevicesMap()
      map<string, string> fetch_devices = 7;
      Specified by:
      getFetchDevicesMap in interface CallableOptionsOrBuilder
    • getFetchDevicesOrDefault

      public String getFetchDevicesOrDefault(String key, String defaultValue)
      map<string, string> fetch_devices = 7;
      Specified by:
      getFetchDevicesOrDefault in interface CallableOptionsOrBuilder
    • getFetchDevicesOrThrow

      public String getFetchDevicesOrThrow(String key)
      map<string, string> fetch_devices = 7;
      Specified by:
      getFetchDevicesOrThrow in interface CallableOptionsOrBuilder
    • 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:
      getFetchSkipSync in interface CallableOptionsOrBuilder
      Returns:
      The fetchSkipSync.
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface MessageLiteOrBuilder
      Overrides:
      isInitialized in class GeneratedMessageV3
    • writeTo

      public void writeTo(CodedOutputStream output) throws IOException
      Specified by:
      writeTo in interface MessageLite
      Overrides:
      writeTo in class GeneratedMessageV3
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface MessageLite
      Overrides:
      getSerializedSize in class GeneratedMessageV3
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in interface Message
      Overrides:
      equals in class AbstractMessage
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface Message
      Overrides:
      hashCode in class AbstractMessage
    • parseFrom

    • parseFrom

      public static CallableOptions parseFrom(ByteBuffer data, ExtensionRegistryLite extensionRegistry) throws InvalidProtocolBufferException
      Throws:
      InvalidProtocolBufferException
    • parseFrom

    • parseFrom

      public static CallableOptions parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry) throws InvalidProtocolBufferException
      Throws:
      InvalidProtocolBufferException
    • parseFrom

      public static CallableOptions parseFrom(byte[] data) throws InvalidProtocolBufferException
      Throws:
      InvalidProtocolBufferException
    • parseFrom

      public static CallableOptions parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry) throws InvalidProtocolBufferException
      Throws:
      InvalidProtocolBufferException
    • parseFrom

      public static CallableOptions parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static CallableOptions parseFrom(InputStream input, ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static CallableOptions parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static CallableOptions parseDelimitedFrom(InputStream input, ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static CallableOptions parseFrom(CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static CallableOptions parseFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • newBuilderForType

      public CallableOptions.Builder newBuilderForType()
      Specified by:
      newBuilderForType in interface Message
      Specified by:
      newBuilderForType in interface MessageLite
    • newBuilder

      public static CallableOptions.Builder newBuilder()
    • newBuilder

      public static CallableOptions.Builder newBuilder(CallableOptions prototype)
    • toBuilder

      public CallableOptions.Builder toBuilder()
      Specified by:
      toBuilder in interface Message
      Specified by:
      toBuilder in interface MessageLite
    • newBuilderForType

      protected CallableOptions.Builder newBuilderForType(GeneratedMessageV3.BuilderParent parent)
      Specified by:
      newBuilderForType in class GeneratedMessageV3
    • getDefaultInstance

      public static CallableOptions getDefaultInstance()
    • parser

      public static Parser<CallableOptions> parser()
    • getParserForType

      public Parser<CallableOptions> getParserForType()
      Specified by:
      getParserForType in interface Message
      Specified by:
      getParserForType in interface MessageLite
      Overrides:
      getParserForType in class GeneratedMessageV3
    • getDefaultInstanceForType

      public CallableOptions getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface MessageOrBuilder