InferenceInput


class InferenceInput
kotlin.Any
   ↳ android.adservices.ondevicepersonalization.InferenceInput

Contains all the information needed for a run of model inference. The input of android.adservices.ondevicepersonalization.ModelManager#run.

Summary

Nested classes

A builder for InferenceInput

Public methods
Boolean
equals(other: Any?)

Indicates whether some other object is "equal to" this one.

Int

The number of input examples.

InferenceOutput

The empty InferenceOutput representing the expected output structure.

Array<Any!>

An array of input data.

InferenceInput.Params

The configuration that controls runtime interpreter behavior.

Int

Public methods

equals

fun equals(other: Any?): Boolean

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
obj the reference object with which to compare.
o This value may be null.
Return
Boolean true if this object is the same as the obj argument; false otherwise.

getBatchSize

fun getBatchSize(): Int

The number of input examples. Adopter can set this field to run batching inference. The batch size is 1 by default. The batch size should match the input data size.

getExpectedOutputStructure

fun getExpectedOutputStructure(): InferenceOutput

The empty InferenceOutput representing the expected output structure. For TFLite, the inference code will verify whether this expected output structure matches model output signature.

If a model produce string tensors:

<code>String[] output = new String[3][2];  // Output tensor shape is [3, 2].
  HashMap&lt;Integer, Object&gt; outputs = new HashMap&lt;&gt;();
  outputs.put(0, output);
  expectedOutputStructure = new InferenceOutput.Builder().setDataOutputs(outputs).build();
  </code>
Return
InferenceOutput This value cannot be null.

getInputData

fun getInputData(): Array<Any!>

An array of input data. The inputs should be in the same order as inputs of the model.

For example, if a model takes multiple inputs:

<code>String[] input0 = {"foo", "bar"}; // string tensor shape is [2].
  int[] input1 = new int[]{3, 2, 1}; // int tensor shape is [3].
  Object[] inputData = {input0, input1, ...};
  </code>
For TFLite, this field is mapped to inputs of runForMultipleInputsOutputs: https://www.tensorflow.org/lite/api_docs/java/org/tensorflow/lite/InterpreterApi#parameters_9
Return
Array<Any!> This value cannot be null.

getParams

fun getParams(): InferenceInput.Params

The configuration that controls runtime interpreter behavior.

Return
InferenceInput.Params This value cannot be null.

hashCode

fun hashCode(): Int
Return
Int a hash code value for this object.