tf.autograph.experimental.set_loop_options
Stay organized with collections
Save and categorize content based on your preferences.
Specifies additional arguments to be passed to the enclosing while_loop.
tf.autograph.experimental.set_loop_options(
parallel_iterations=UNSPECIFIED,
swap_memory=UNSPECIFIED,
maximum_iterations=UNSPECIFIED,
shape_invariants=UNSPECIFIED
)
The parameters apply to and only to the immediately enclosing loop. It only
has effect if the loop is staged as a TF while_loop; otherwise the parameters
have no effect.
Usage |
>>> @tf.function(autograph=True)
... def f():
... n = 0
... for i in tf.range(10):
... tf.autograph.experimental.set_loop_options(maximum_iterations=3)
... n += 1
... return n
@tf.function(autograph=True)
def f():
v = tf.constant((0,))
for i in tf.range(3):
tf.autograph.experimental.set_loop_options(
shape_invariants=[(v, tf.TensorShape([None]))]
)
v = tf.concat((v, [i]), 0)
return v
|
Also see tf.while_loop.
Args |
parallel_iterations
|
The maximum number of iterations allowed to run in
parallel at any given time. Note that this does not guarantee parallel
execution.
|
swap_memory
|
Whether to store intermediate values needed for
gradients on the CPU instead of GPU.
|
maximum_iterations
|
Allows limiting the total number of iterations executed
by the loop.
|
shape_invariants
|
Allows controlling the argument with the same name passed
to tf.while_loop. Unlike tf.while_loop, this is a list of
(tensor, shape) pairs.
|
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. Some content is licensed under the numpy license.
Last updated 2024-04-26 UTC.
[null,null,["Last updated 2024-04-26 UTC."],[],[],null,["# tf.autograph.experimental.set_loop_options\n\n\u003cbr /\u003e\n\n|---------------------------------------------------------------------------------------------------------------------------------------|\n| [View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.16.1/tensorflow/python/autograph/lang/directives.py#L45-L94) |\n\nSpecifies additional arguments to be passed to the enclosing while_loop.\n\n#### View aliases\n\n\n**Compat aliases for migration**\n\nSee\n[Migration guide](https://www.tensorflow.org/guide/migrate) for\nmore details.\n\n[`tf.compat.v1.autograph.experimental.set_loop_options`](https://www.tensorflow.org/api_docs/python/tf/autograph/experimental/set_loop_options)\n\n\u003cbr /\u003e\n\n tf.autograph.experimental.set_loop_options(\n parallel_iterations=UNSPECIFIED,\n swap_memory=UNSPECIFIED,\n maximum_iterations=UNSPECIFIED,\n shape_invariants=UNSPECIFIED\n )\n\nThe parameters apply to and only to the immediately enclosing loop. It only\nhas effect if the loop is staged as a TF while_loop; otherwise the parameters\nhave no effect.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Usage ----- ||\n|---|---|\n| \u003cbr /\u003e \u003e\u003e\u003e @tf.function(autograph=True) ... def f(): ... n = 0 ... for i in tf.range(10): ... tf.autograph.experimental.set_loop_options(maximum_iterations=3) ... n += 1 ... return n @tf.function(autograph=True) def f(): v = tf.constant((0,)) for i in tf.range(3): tf.autograph.experimental.set_loop_options( shape_invariants=[(v, tf.TensorShape([None]))] ) v = tf.concat((v, [i]), 0) return v \u003cbr /\u003e ||\n\n\u003cbr /\u003e\n\nAlso see tf.while_loop.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ---- ||\n|-----------------------|----------------------------------------------------------------------------------------------------------------------------------------------|\n| `parallel_iterations` | The maximum number of iterations allowed to run in parallel at any given time. Note that this does not guarantee parallel execution. |\n| `swap_memory` | Whether to store intermediate values needed for gradients on the CPU instead of GPU. |\n| `maximum_iterations` | Allows limiting the total number of iterations executed by the loop. |\n| `shape_invariants` | Allows controlling the argument with the same name passed to tf.while_loop. Unlike tf.while_loop, this is a list of `(tensor, shape)` pairs. |\n\n\u003cbr /\u003e"]]