tf.get_static_value
Возвращает постоянное значение заданного тензора, если его можно вычислить с высокой эффективностью.
tf.get_static_value(
tensor, partial=False
)
Используется в блокнотах
| Используется в руководствах |
|---|
Эта функция пытается частично вычислить заданный тензор и, если это удается, возвращает его значение в виде массива numpy ndarray.
Пример использования:
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:
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 ndarray, содержащий постоянное значение заданного tensor, или None, если вычислить его невозможно. |
| Вызывает исключение | |
|---|---|
TypeError | если тензор не является объектом tensor.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/api_docs/python/tf/get_static_value