Warning: This API is deprecated and will be removed in a future
version of TensorFlow after
the replacement is stable.
ParallelDynamicStitch
Stay organized with collections
Save and categorize content based on your preferences.
Interleave the values from the `data` tensors into a single tensor.
Builds a merged tensor such that
merged[indices[m][i, ..., j], ...] = data[m][i, ..., j, ...]
For example, if each `indices[m]` is scalar or vector, we have
# Scalar indices:
merged[indices[m], ...] = data[m][...]
# Vector indices:
merged[indices[m][i], ...] = data[m][i, ...]
Each `data[i].shape` must start with the corresponding `indices[i].shape`,
and the rest of `data[i].shape` must be constant w.r.t. `i`. That is, we
must have `data[i].shape = indices[i].shape + constant`. In terms of this
`constant`, the output shape is
merged.shape = [max(indices)] + constant
Values may be merged in parallel, so if an index appears in both `indices[m][i]`
and `indices[n][j]`, the result may be invalid. This differs from the normal
DynamicStitch operator that defines the behavior in that case.
For example:
indices[0] = 6
indices[1] = [4, 1]
indices[2] = [[5, 2], [0, 3]]
data[0] = [61, 62]
data[1] = [[41, 42], [11, 12]]
data[2] = [[[51, 52], [21, 22]], [[1, 2], [31, 32]]]
merged = [[1, 2], [11, 12], [21, 22], [31, 32], [41, 42],
[51, 52], [61, 62]]
This method can be used to merge partitions created by `dynamic_partition`
as illustrated on the following example:
# Apply function (increments x_i) on elements for which a certain condition
# apply (x_i != -1 in this example).
x=tf.constant([0.1, -1., 5.2, 4.3, -1., 7.4])
condition_mask=tf.not_equal(x,tf.constant(-1.))
partitioned_data = tf.dynamic_partition(
x, tf.cast(condition_mask, tf.int32) , 2)
partitioned_data[1] = partitioned_data[1] + 1.0
condition_indices = tf.dynamic_partition(
tf.range(tf.shape(x)[0]), tf.cast(condition_mask, tf.int32) , 2)
x = tf.dynamic_stitch(condition_indices, partitioned_data)
# Here x=[1.1, -1., 6.2, 5.3, -1, 8.4], the -1. values remain
# unchanged.
Inherited Methods
From class
java.lang.Object
boolean
|
equals(Object arg0)
|
final
Class<?>
|
getClass()
|
int
|
hashCode()
|
final
void
|
notify()
|
final
void
|
notifyAll()
|
String
|
toString()
|
final
void
|
wait(long arg0, int arg1)
|
final
void
|
wait(long arg0)
|
final
void
|
wait()
|
Public Methods
public
Output<T>
asOutput
()
Returns the symbolic handle of a tensor.
Inputs to TensorFlow operations are outputs of another TensorFlow operation. This method is
used to obtain a symbolic handle that represents the computation of the input.
public
static
ParallelDynamicStitch<T>
create
(Scope scope, Iterable<Operand<Integer>> indices, Iterable<Operand<T>> data)
Factory method to create a class wrapping a new ParallelDynamicStitch operation.
Returns
- a new instance of ParallelDynamicStitch
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2022-02-12 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2022-02-12 UTC."],[],[],null,["# ParallelDynamicStitch\n\npublic final class **ParallelDynamicStitch** \nInterleave the values from the \\`data\\` tensors into a single tensor.\n\n\nBuilds a merged tensor such that \n\n merged[indices[m][i, ..., j], ...] = data[m][i, ..., j, ...]\n \nFor example, if each \\`indices\\[m\\]\\` is scalar or vector, we have \n\n # Scalar indices:\n merged[indices[m], ...] = data[m][...]\n \n # Vector indices:\n merged[indices[m][i], ...] = data[m][i, ...]\n \nEach \\`data\\[i\\].shape\\` must start with the corresponding \\`indices\\[i\\].shape\\`, and the rest of \\`data\\[i\\].shape\\` must be constant w.r.t. \\`i\\`. That is, we must have \\`data\\[i\\].shape = indices\\[i\\].shape + constant\\`. In terms of this \\`constant\\`, the output shape is\n\n\nmerged.shape = \\[max(indices)\\] + constant\n\n\nValues may be merged in parallel, so if an index appears in both \\`indices\\[m\\]\\[i\\]\\`\nand \\`indices\\[n\\]\\[j\\]\\`, the result may be invalid. This differs from the normal\nDynamicStitch operator that defines the behavior in that case.\n\n\nFor example: \n\n indices[0] = 6\n indices[1] = [4, 1]\n indices[2] = [[5, 2], [0, 3]]\n data[0] = [61, 62]\n data[1] = [[41, 42], [11, 12]]\n data[2] = [[[51, 52], [21, 22]], [[1, 2], [31, 32]]]\n merged = [[1, 2], [11, 12], [21, 22], [31, 32], [41, 42],\n [51, 52], [61, 62]]\n \nThis method can be used to merge partitions created by \\`dynamic_partition\\` as illustrated on the following example: \n\n # Apply function (increments x_i) on elements for which a certain condition\n # apply (x_i != -1 in this example).\n x=tf.constant([0.1, -1., 5.2, 4.3, -1., 7.4])\n condition_mask=tf.not_equal(x,tf.constant(-1.))\n partitioned_data = tf.dynamic_partition(\n x, tf.cast(condition_mask, tf.int32) , 2)\n partitioned_data[1] = partitioned_data[1] + 1.0\n condition_indices = tf.dynamic_partition(\n tf.range(tf.shape(x)[0]), tf.cast(condition_mask, tf.int32) , 2)\n x = tf.dynamic_stitch(condition_indices, partitioned_data)\n # Here x=[1.1, -1., 6.2, 5.3, -1, 8.4], the -1. values remain\n # unchanged.\n \n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n### Public Methods\n\n|--------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [Output](/api_docs/java/org/tensorflow/Output)\\\u003cT\\\u003e | [asOutput](/api_docs/java/org/tensorflow/op/core/ParallelDynamicStitch#asOutput())() Returns the symbolic handle of a tensor. |\n| static \\\u003cT\\\u003e [ParallelDynamicStitch](/api_docs/java/org/tensorflow/op/core/ParallelDynamicStitch)\\\u003cT\\\u003e | [create](/api_docs/java/org/tensorflow/op/core/ParallelDynamicStitch#create(org.tensorflow.op.Scope,%20java.lang.Iterable\u003corg.tensorflow.Operand\u003cjava.lang.Integer\u003e\u003e,%20java.lang.Iterable\u003corg.tensorflow.Operand\u003cT\u003e\u003e))([Scope](/api_docs/java/org/tensorflow/op/Scope) scope, Iterable\\\u003c[Operand](/api_docs/java/org/tensorflow/Operand)\\\u003cInteger\\\u003e\\\u003e indices, Iterable\\\u003c[Operand](/api_docs/java/org/tensorflow/Operand)\\\u003cT\\\u003e\\\u003e data) Factory method to create a class wrapping a new ParallelDynamicStitch operation. |\n| [Output](/api_docs/java/org/tensorflow/Output)\\\u003cT\\\u003e | [merged](/api_docs/java/org/tensorflow/op/core/ParallelDynamicStitch#merged())() |\n\n### Inherited Methods\n\nFrom class [org.tensorflow.op.PrimitiveOp](/api_docs/java/org/tensorflow/op/PrimitiveOp) \n\n|------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------|\n| final boolean | [equals](/api_docs/java/org/tensorflow/op/PrimitiveOp#equals(java.lang.Object))(Object obj) |\n| final int | [hashCode](/api_docs/java/org/tensorflow/op/PrimitiveOp#hashCode())() |\n| [Operation](/api_docs/java/org/tensorflow/Operation) | [op](/api_docs/java/org/tensorflow/op/PrimitiveOp#op())() Returns the underlying [Operation](/api_docs/java/org/tensorflow/Operation) |\n| final String | [toString](/api_docs/java/org/tensorflow/op/PrimitiveOp#toString())() |\n\nFrom class java.lang.Object \n\n|------------------|---------------------------|\n| boolean | equals(Object arg0) |\n| final Class\\\u003c?\\\u003e | getClass() |\n| int | hashCode() |\n| final void | notify() |\n| final void | notifyAll() |\n| String | toString() |\n| final void | wait(long arg0, int arg1) |\n| final void | wait(long arg0) |\n| final void | wait() |\n\nFrom interface [org.tensorflow.Operand](/api_docs/java/org/tensorflow/Operand) \n\n|--------------------------------------------------------------|---------------------------------------------------------------------------------------------------------|\n| abstract [Output](/api_docs/java/org/tensorflow/Output)\\\u003cT\\\u003e | [asOutput](/api_docs/java/org/tensorflow/Operand#asOutput())() Returns the symbolic handle of a tensor. |\n\nPublic Methods\n--------------\n\n#### public [Output](/api_docs/java/org/tensorflow/Output)\\\u003cT\\\u003e\n**asOutput**\n()\n\nReturns the symbolic handle of a tensor.\n\nInputs to TensorFlow operations are outputs of another TensorFlow operation. This method is\nused to obtain a symbolic handle that represents the computation of the input.\n\n\u003cbr /\u003e\n\n#### public static [ParallelDynamicStitch](/api_docs/java/org/tensorflow/op/core/ParallelDynamicStitch)\\\u003cT\\\u003e\n**create**\n([Scope](/api_docs/java/org/tensorflow/op/Scope) scope, Iterable\\\u003c[Operand](/api_docs/java/org/tensorflow/Operand)\\\u003cInteger\\\u003e\\\u003e indices, Iterable\\\u003c[Operand](/api_docs/java/org/tensorflow/Operand)\\\u003cT\\\u003e\\\u003e data)\n\nFactory method to create a class wrapping a new ParallelDynamicStitch operation. \n\n##### Parameters\n\n| scope | current scope |\n|-------|---------------|\n\n##### Returns\n\n- a new instance of ParallelDynamicStitch \n\n#### public [Output](/api_docs/java/org/tensorflow/Output)\\\u003cT\\\u003e\n**merged**\n()\n\n\u003cbr /\u003e"]]