| View source on GitHub | 
Returns the constant value of the given tensor, if efficiently calculable.
tf.get_static_value(
    tensor, partial=False
)
  This function attempts to partially evaluate the given tensor, and returns its value as a numpy ndarray if this succeeds.
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
Using partial option is most relevant when calling get_static_value inside a tf.function. Setting it to True will return the results but for the values that cannot be evaluated will be None. For example:
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`
 Compatibility(V1): If constant_value(tensor) returns a non-None result, it will no longer be possible to feed a different value for tensor. This allows the result of this function to influence the graph that is constructed, and permits static shape optimizations.
| Args | |
|---|---|
| tensor | The Tensor to be evaluated. | 
| partial | If True, the returned numpy array is allowed to have partially evaluated values. Values that can't be evaluated will be None. | 
| Returns | |
|---|---|
| A numpy ndarray containing the constant value of the given tensor, or None if it cannot be calculated. | 
| Raises | |
|---|---|
| TypeError | if tensor is not an 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