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 | Нужно ли хранить промежуточные значения, необходимые для градиентов, в ЦП вместо видеокарты. |
maximum_iterations | Разрешает ограничение общего количества итераций, выполняемых циклом. |
shape_invariants | Разрешает управлять аргументом с тем же именем, переданным в tf.while_loop. В отличие от tf.while_loop, это список пар (tensor, shape) . |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/autograph/experimental/set_loop_options