Spec-Zone.ru › TensorFlow

tf.constant

Создает тензор-константу на основе объекта, подобного тензору.

tf.constant(
    value, dtype=None, shape=None, name='Const'
) -> Union[tf.Operation, ops._EagerTensorBase]

Используется в блокнотах

Используется в руководстве Используется в учебных материалах
  • Повышение производительности с помощью tf.function
  • Повышение типов в TF-NumPy
  • Введение в тензоры
  • Введение в графы и tf.function
  • Перенос `tf.feature_column` в слои предварительной обработки Keras
  • DeepDream
  • Загрузка текста
  • Игра в CartPole с помощью метода Actor-Critic
  • Перенос художественного стиля с помощью нейросети
  • Пользовательский цикл обучения с Keras и MultiWorkerMirroredStrategy
Примечание: Все значения tf.Tensor в eager-режиме неизменяемы (в отличие от tf.Variable). В возвращаемом значении tf.constant нет ничего особенно постоянного. Эта функция принципиально не отличается от tf.convert_to_tensor. Название tf.constant связано с тем, что value встраивается в узел Const в tf.Graph. tf.constant полезна для проверки того, что значение можно встроить таким образом.

Если аргумент dtype не указан, тип выводится из типа value.

# Constant 1-D Tensor from a python list.
tf.constant([1, 2, 3, 4, 5, 6])
<tf.Tensor: shape=(6,), dtype=int32,
    numpy=array([1, 2, 3, 4, 5, 6], dtype=int32)>
# Or a numpy array
a = np.array([[1, 2, 3], [4, 5, 6]])
tf.constant(a)
<tf.Tensor: shape=(2, 3), dtype=int64, numpy=
  array([[1, 2, 3],
         [4, 5, 6]])>

Если указан dtype, значения результирующего тензора приводятся к указанному dtype.

tf.constant([1, 2, 3, 4, 5, 6], dtype=tf.float64)
<tf.Tensor: shape=(6,), dtype=float64,
    numpy=array([1., 2., 3., 4., 5., 6.])>

Если задан shape, value изменяет форму в соответствии с ним. Скалярные значения расширяются, чтобы заполнить shape:

tf.constant(0, shape=(2, 3))
  <tf.Tensor: shape=(2, 3), dtype=int32, numpy=
  array([[0, 0, 0],
         [0, 0, 0]], dtype=int32)>
tf.constant([1, 2, 3, 4, 5, 6], shape=[2, 3])
<tf.Tensor: shape=(2, 3), dtype=int32, numpy=
  array([[1, 2, 3],
         [4, 5, 6]], dtype=int32)>

tf.constant не влияет на результат, если в качестве value передан тензор eager-режима; градиенты также передаются:

v = tf.Variable([0.0])
with tf.GradientTape() as g:
    loss = tf.constant(v + v)
g.gradient(loss, v).numpy()
array([2.], dtype=float32)

Однако, поскольку tf.constant встраивает значение в tf.Graph, это не работает для символических тензоров:

with tf.compat.v1.Graph().as_default():
  i = tf.compat.v1.placeholder(shape=[None, None], dtype=tf.float32)
  t = tf.constant(i)
Traceback (most recent call last):

TypeError: ...

tf.constant создает тензоры на текущем устройстве. Размещение входных данных, которые уже являются тензорами, не изменяется.

Связанные операции:

  • tf.convert_to_tensor похожа, но:

    • У нее нет аргумента shape.
    • Символические тензоры можно передавать без изменений.
    with tf.compat.v1.Graph().as_default():
      i = tf.compat.v1.placeholder(shape=[None, None], dtype=tf.float32)
      t = tf.convert_to_tensor(i)
      
  • tf.fill: отличается несколькими особенностями:

    • tf.constant поддерживает произвольные константы, а не только однородные скалярные тензоры, такие как tf.fill.
    • tf.fill создает операцию в графе, которая разворачивается во время выполнения, поэтому с ее помощью можно эффективно представлять большие тензоры.
    • Поскольку tf.fill не встраивает значение, она может создавать выходные данные с динамическим размером.
Аргументы
value Постоянное значение (или список) выходного типа dtype.
dtype Тип элементов результирующего тензора.
shape Необязательные размеры результирующего тензора.
name Необязательное имя тензора.
Возвращает
Тензор-константу.
Вызывает исключения
TypeError если форма указана неверно или не поддерживается.
ValueError при вызове для символического тензора.

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

Spec-Zone.ru

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