Spec-Zone.ru › TensorFlow 2.9

tf.get_static_value

Просмотреть исходный код на GitHub

Возвращает постоянное значение заданного тензора, если его можно эффективно вычислить.

Просмотр псевдонимов

Псевдонимы совместимости для миграции

См. Руководство по миграции для получения дополнительной информации.

tf.compat.v1.get_static_value

tf.get_static_value(
    tensor, partial=False
)

Эта функция пытается частично оценить заданный тензор и возвращает его значение в виде массива numpy, если это удается.

Пример использования:

a = tf.constant(10)
tf.get_static_value(a)
10
b = tf.constant(20)
tf.get_static_value(tf.add(a, b))
30
# `tf.Variable` is not supported.
c = tf.Variable(30)
print(tf.get_static_value(c))
None

Использование partial опции наиболее актуально при вызове get_static_value внутри tf.function. Установка ее в True вернёт результаты, но для значений, которые нельзя оценить, будут None. Например:

class Foo(object):
  def __init__(self):
    self.a = tf.Variable(1)
    self.b = tf.constant(2)

  @tf.function
  def bar(self, partial):
    packed = tf.raw_ops.Pack(values=[self.a, self.b])
    static_val = tf.get_static_value(packed, partial=partial)
    tf.print(static_val)

f = Foo()
f.bar(partial=True)  # `array([None, array(2, dtype=int32)], dtype=object)`
f.bar(partial=False)  # `None`

Совместимость (V1): Если constant_value(tensor) возвращает результат, отличный от None, то уже не будет возможности передать другое значение для tensor. Это позволяет результату этой функции влиять на создаваемую график и позволяет выполнять оптимизацию статической формы.

Аргументы
tensor Тензор, подлежащий оценке.
partial Если True, возвращаемый массив numpy может содержать частично оцененные значения. Значения, которые невозможно оценить, будут None.
Возвращает
Массив numpy, содержащий постоянное значение данного tensor, или None, если его нельзя вычислить.
Исключения
TypeError если тензор не является ops.Tensor.

© 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/get_static_value

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API