tf.autograph.experimental.set_loop_options
Указывает дополнительные аргументы, которые необходимо передать в окружающий цикл while_loop.
tf.autograph.experimental.set_loop_options(
parallel_iterations=UNSPECIFIED,
swap_memory=UNSPECIFIED,
maximum_iterations=UNSPECIFIED,
shape_invariants=UNSPECIFIED
)
Параметры применяются только к ближайшему окружающему циклу. Они действуют только в том случае, если цикл отформатирован как цикл TF while_loop; в противном случае параметры не действуют.
Использование:
@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
См. также tf.while_loop.
| Аргументы | |
|---|---|
parallel_iterations | Максимальное количество итераций, которые разрешено выполнять параллельно в любой момент времени. Обратите внимание, что это не гарантирует параллельного выполнения. |
swap_memory | Нужно ли хранить промежуточные значения, необходимые для градиентов, на процессоре CPU вместо GPU. |
maximum_iterations | Разрешает ограничение общего количества итераций, выполняемых циклом. |
shape_invariants | Разрешает управление аргументом с тем же именем, передаваемым в tf.while_loop. В отличие от tf.while_loop, это список пар (tensor, shape). |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/autograph/experimental/set_loop_options