Spec-Zone.ru › TensorFlow

tf.experimental.dtensor.DVariable

Замена tf.Variable, учитывающая размещение начального значения.

Наследует от: Variable

tf.experimental.dtensor.DVariable(
    initial_value, *args, dtype=None, **kwargs
)

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

Используется в руководстве Используется в учебных пособиях
  • Распределённое обучение с Core API и DTensor
  • Основные понятия DTensor
  • Распределённое обучение с DTensor

Класс также обрабатывает операции сохранения и восстановления в DTensor. Обратите внимание: в данный момент DVariable может использовать обычный tf.Variable, если initial_value не является DTensor.

Атрибуты
aggregation
constraint Возвращает функцию ограничения, связанную с этой переменной.
create Операция, отвечающая за инициализацию этой переменной.
device Устройство, на котором находится эта переменная.
dtype Тип данных этой переменной.
graph Graph этой переменной.
handle Дескриптор, с помощью которого можно получить доступ к этой переменной.
initial_value Возвращает Tensor, используемый в качестве начального значения переменной.
initializer Операция, отвечающая за инициализацию этой переменной.
name Имя дескриптора этой переменной.
op Операция для этой переменной.
save_as_bf16
shape Форма этой переменной.
synchronization
trainable

Дочерние классы

class SaveSliceInfo

Методы

assign

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

assign(
    value, use_locking=None, name=None, read_value=True
)

Присваивает этой переменной новое значение.

Аргументы
value Tensor. Новое значение этой переменной.
use_locking Если True, во время присваивания используется блокировка.
name Имя, используемое для присваивания.
read_value bool. Нужно ли считывать и возвращать новое значение переменной.
Возвращает
Если read_value равно True, этот метод вернёт новое значение переменной после завершения присваивания. В противном случае в режиме графа будет возвращён Operation, выполняющий присваивание, а в режиме eager — None.

assign_add

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

assign_add(
    delta, use_locking=None, name=None, read_value=True
)

Прибавляет значение к этой переменной.

Аргументы
delta Tensor. Значение, которое нужно прибавить к этой переменной.
use_locking Если True, во время операции используется блокировка.
name Имя, используемое для операции.
read_value bool. Нужно ли считывать и возвращать новое значение переменной.
Возвращает
Если read_value равно True, этот метод вернёт новое значение переменной после завершения присваивания. В противном случае в режиме графа будет возвращён Operation, выполняющий присваивание, а в режиме eager — None.

assign_sub

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

assign_sub(
    delta, use_locking=None, name=None, read_value=True
)

Вычитает значение из этой переменной.

Аргументы
delta Tensor. Значение, которое нужно вычесть из этой переменной.
use_locking Если True, во время операции используется блокировка.
name Имя, используемое для операции.
read_value bool. Нужно ли считывать и возвращать новое значение переменной.
Возвращает
Если read_value равно True, этот метод вернёт новое значение переменной после завершения присваивания. В противном случае в режиме графа будет возвращён Operation, выполняющий присваивание, а в режиме eager — None.

batch_scatter_update

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

batch_scatter_update(
    sparse_delta, use_locking=False, name=None
)

Пакетно присваивает этой переменной значения tf.IndexedSlices.

Аналогично batch_gather. Предполагается, что эта переменная и разреженный тензор sparse_delta IndexedSlices имеют ряд одинаковых для всех них начальных измерений, а обновления выполняются по последнему измерению индексов. Иными словами, измерения должны быть следующими:

num_prefix_dims = sparse_delta.indices.ndims - 1 batch_dim = num_prefix_dims + 1 sparse_delta.updates.shape = sparse_delta.indices.shape + var.shape[ batch_dim:]

где

sparse_delta.updates.shape[:num_prefix_dims] == sparse_delta.indices.shape[:num_prefix_dims] == var.shape[:num_prefix_dims]

Выполняемую операцию можно представить так:

var[i_1, ..., i_n, sparse_delta.indices[i_1, ..., i_n, j]] = sparse_delta.updates[ i_1, ..., i_n, j]

Если sparse_delta.indices — это одномерный тензор, эта операция эквивалентна scatter_update.

Чтобы избежать этой операции, можно выполнить цикл по первому ndims переменной и использовать scatter_update для подтензоров, полученных при срезе первого измерения. Это допустимый вариант для ndims = 1, но он менее эффективен, чем данная реализация.

Аргументы
sparse_delta tf.IndexedSlices, присваиваемые этой переменной.
use_locking Если True, во время операции используется блокировка.
name имя операции.
Возвращает
Обновлённую переменную.
Вызывает исключение
TypeError если sparse_delta не является IndexedSlices.

count_up_to

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

count_up_to(
    limit
)

Увеличивает значение этой переменной, пока оно не достигнет limit. (устарело)

Устарело: ЭТА ФУНКЦИЯ УСТАРЕЛА. Она будет удалена в будущей версии. Рекомендации по обновлению: вместо неё используйте Dataset.range.

При выполнении этой операции значение переменной увеличивается на 1. Если в результате увеличения значение переменной превысит limit, операция вызовет исключение OutOfRangeError.

Если ошибка не возникает, операция возвращает значение переменной до увеличения.

По сути, это краткая форма записи count_up_to(self, limit).

Аргументы
limit Значение, при достижении которого увеличение переменной вызывает ошибку.
Возвращает
Tensor, содержащий значение переменной до увеличения. Если никакая другая операция не изменяет эту переменную, все полученные значения будут различными.

eval

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

eval(
    session=None
)

Вычисляет и возвращает значение этой переменной.

experimental_ref

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

experimental_ref()

УСТАРЕВШАЯ ФУНКЦИЯ

Устарело: ЭТА ФУНКЦИЯ УСТАРЕЛА. Она будет удалена в будущей версии. Рекомендации по обновлению: используйте ref().

from_proto

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

@staticmethod
from_proto(
    variable_def, import_scope=None
)

Возвращает объект Variable, созданный из variable_def.

gather_nd

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

gather_nd(
    indices, name=None
)

Разреженно считывает значение этой переменной с помощью gather_nd.

get_shape

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

get_shape() -> tf.TensorShape

Псевдоним Variable.shape.

initialized_value

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

initialized_value()

Возвращает значение инициализированной переменной. (устарело)

Устарело: ЭТА ФУНКЦИЯ УСТАРЕЛА. Она будет удалена в будущей версии. Рекомендации по обновлению: используйте Variable.read_value. Переменные в версии 2.X инициализируются автоматически как в eager-режиме, так и в режиме графа (внутри tf.defun).

Используйте этот метод вместо самой переменной, чтобы инициализировать другую переменную значением, зависящим от значения этой переменной.

# Initialize 'v' with a random tensor.
v = tf.Variable(tf.random.truncated_normal([10, 40]))
# Use `initialized_value` to guarantee that `v` has been
# initialized before its value is used to initialize `w`.
# The random values are picked only once.
w = tf.Variable(v.initialized_value() * 2.0)
Возвращает
Tensor, содержащее значение этой переменной после выполнения её инициализатора.

is_initialized

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

is_initialized(
    name=None
)

Проверяет, инициализирована ли переменная-ресурс.

Выводит скалярное булево значение, указывающее, инициализирован ли тензор.

Аргументы
name Имя операции (необязательно).
Возвращает
Tensor типа bool.

load

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

load(
    value, session=None
)

Загружает в эту переменную новое значение. (устарело)

Устарело: ЭТА ФУНКЦИЯ УСТАРЕЛА. Она будет удалена в будущей версии. Рекомендации по обновлению: предпочтительно использовать Variable.assign, которая в версии 2.X ведёт себя аналогичным образом.

Записывает новое значение в память переменной. Не добавляет операции в граф.

Для этого метода требуется сеанс, в котором запущен граф, содержащий эту переменную. Если сеанс не передан, используется сеанс по умолчанию. Дополнительные сведения о запуске графа и сеансах см. в разделе tf.compat.v1.Session.

v = tf.Variable([1, 2])
init = tf.compat.v1.global_variables_initializer()

with tf.compat.v1.Session() as sess:
    sess.run(init)
    # Usage passing the session explicitly.
    v.load([2, 3], sess)
    print(v.eval(sess)) # prints [2 3]
    # Usage with the default session.  The 'with' block
    # above makes 'sess' the default session.
    v.load([3, 4], sess)
    print(v.eval()) # prints [3 4]
Аргументы
value Новое значение переменной
session Сеанс для вычисления этой переменной. Если не указан, используется сеанс по умолчанию.
Вызывает исключение
ValueError Сеанс не передан, и сеанс по умолчанию отсутствует

numpy

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

numpy()

read_value

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

read_value()

Создаёт операцию, считывающую значение этой переменной.

Используйте этот метод при нескольких операциях чтения или если значение нужно считывать только после выполнения некоторого условия.

Возвращает
Значение переменной.

read_value_no_copy

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

read_value_no_copy()

Создаёт операцию, считывающую значение этой переменной без копирования.

Переменная считывается без создания копии, даже если доступ к ней осуществлялся разреженно. Переменные в режиме копирования при чтении будут преобразованы в режим копирования при записи.

Возвращает
Значение переменной.

ref

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

ref()

Возвращает хешируемый объект-ссылку на эту Variable.

Основной сценарий использования этого API — добавление переменных в множество или словарь. Мы не можем добавлять переменные в множество или словарь, поскольку variable.__hash__() больше недоступен начиная с TensorFlow 2.0.

Следующий код будет вызывать исключение начиная с версии 2.0

x = tf.Variable(5)
y = tf.Variable(10)
z = tf.Variable(10)
variable_set = {x, y, z}
Traceback (most recent call last):

TypeError: Variable is unhashable. Instead, use tensor.ref() as the key.
variable_dict = {x: 'five', y: 'ten'}
Traceback (most recent call last):

TypeError: Variable is unhashable. Instead, use tensor.ref() as the key.

Вместо этого можно использовать variable.ref().

variable_set = {x.ref(), y.ref(), z.ref()}
x.ref() in variable_set
True
variable_dict = {x.ref(): 'five', y.ref(): 'ten', z.ref(): 'ten'}
variable_dict[y.ref()]
'ten'

Кроме того, объект-ссылка предоставляет функцию .deref(), которая возвращает исходную Variable.

x = tf.Variable(5)
x.ref().deref()
<tf.Variable 'Variable:0' shape=() dtype=int32, numpy=5>

scatter_add

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

scatter_add(
    sparse_delta, use_locking=False, name=None
)

Прибавляет tf.IndexedSlices к этой переменной.

Аргументы
sparse_delta tf.IndexedSlices, которые нужно прибавить к этой переменной.
use_locking Если True, во время операции используется блокировка.
name имя операции.
Возвращает
Обновлённую переменную.
Вызывает исключение
TypeError если sparse_delta не является IndexedSlices.

scatter_div

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

scatter_div(
    sparse_delta, use_locking=False, name=None
)

Делит эту переменную на tf.IndexedSlices.

Аргументы
sparse_delta tf.IndexedSlices, на которые нужно разделить эту переменную.
use_locking Если True, во время операции используется блокировка.
name имя операции.
Возвращает
Обновлённую переменную.
Вызывает исключение
TypeError если sparse_delta не является IndexedSlices.

scatter_max

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

scatter_max(
    sparse_delta, use_locking=False, name=None
)

Обновляет эту переменную, присваивая ей максимум из tf.IndexedSlices и её текущего значения.

Аргументы
sparse_delta tf.IndexedSlices, используемые как аргумент функции max вместе с этой переменной.
use_locking Если True, во время операции используется блокировка.
name имя операции.
Возвращает
Обновлённую переменную.
Вызывает исключение
TypeError если sparse_delta не является IndexedSlices.

scatter_min

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

scatter_min(
    sparse_delta, use_locking=False, name=None
)

Обновляет эту переменную, присваивая ей минимум из tf.IndexedSlices и её текущего значения.

Аргументы
sparse_delta tf.IndexedSlices, используемые как аргумент функции min вместе с этой переменной.
use_locking Если True, во время операции используется блокировка.
name имя операции.
Возвращает
Обновлённую переменную.
Вызывает исключение
TypeError если sparse_delta не является IndexedSlices.

scatter_mul

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

scatter_mul(
    sparse_delta, use_locking=False, name=None
)

Умножает эту переменную на tf.IndexedSlices.

Аргументы
sparse_delta tf.IndexedSlices, на которые нужно умножить эту переменную.
use_locking Если True, во время операции используется блокировка.
name имя операции.
Возвращает
Обновлённую переменную.
Вызывает исключение
TypeError если sparse_delta не является IndexedSlices.

scatter_nd_add

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

scatter_nd_add(
    indices, updates, name=None
)

Выполняет разреженное сложение для отдельных значений или срезов переменной.

ref — это Tensor ранга P, а indices — это Tensor ранга Q.

indices должен быть целочисленным тензором, содержащим индексы в ref. Он должен иметь форму [d_0, ..., d_{Q-2}, K], где 0 < K <= P.

Внутреннее измерение indices (длиной K) соответствует индексам элементов (если K = P) или срезов (если K < P) вдоль измерения номер K в ref.

updates — это Tensor ранга Q-1+P-K с формой:

[d_0, ..., d_{Q-2}, ref.shape[K], ..., ref.shape[P-1]].

Например, предположим, что мы хотим добавить 4 разбросанных элемента в тензор ранга 1 из 8 элементов. В Python это обновление выглядело бы так:

ref = tf.Variable([1, 2, 3, 4, 5, 6, 7, 8])
indices = tf.constant([[4], [3], [1] ,[7]])
updates = tf.constant([9, 10, 11, 12])
add = ref.scatter_nd_add(indices, updates)
with tf.compat.v1.Session() as sess:
  print sess.run(add)

В результате ref будет обновлён следующим образом:

[1, 13, 3, 14, 14, 6, 7, 20]

Подробнее об обновлении срезов см. в разделе tf.scatter_nd.

Аргументы
indices Индексы, используемые в операции.
updates Значения, используемые в операции.
name имя операции.
Возвращает
Обновлённая переменная.

scatter_nd_max

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

scatter_nd_max(
    indices, updates, name=None
)

Обновляет эту переменную, устанавливая максимум из tf.IndexedSlices и её текущего значения.

ref — это Tensor ранга P, а indices — это Tensor ранга Q.

indices должен быть целочисленным тензором, содержащим индексы в ref. Он должен иметь форму [d_0, ..., d_{Q-2}, K], где 0 < K <= P.

Внутреннее измерение indices (длиной K) соответствует индексам элементов (если K = P) или срезов (если K < P) вдоль измерения номер K в ref.

updates — это Tensor ранга Q-1+P-K с формой:

[d_0, ..., d_{Q-2}, ref.shape[K], ..., ref.shape[P-1]].

Подробнее об обновлении срезов см. в разделе tf.scatter_nd.

Аргументы
indices Индексы, используемые в операции.
updates Значения, используемые в операции.
name имя операции.
Возвращает
Обновлённая переменная.

scatter_nd_min

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

scatter_nd_min(
    indices, updates, name=None
)

Обновляет эту переменную, устанавливая минимум из tf.IndexedSlices и её текущего значения.

ref — это Tensor ранга P, а indices — это Tensor ранга Q.

indices должен быть целочисленным тензором, содержащим индексы в ref. Он должен иметь форму [d_0, ..., d_{Q-2}, K], где 0 < K <= P.

Внутреннее измерение indices (длиной K) соответствует индексам элементов (если K = P) или срезов (если K < P) вдоль измерения номер K в ref.

updates — это Tensor ранга Q-1+P-K с формой:

[d_0, ..., d_{Q-2}, ref.shape[K], ..., ref.shape[P-1]].

Подробнее об обновлении срезов см. в разделе tf.scatter_nd.

Аргументы
indices Индексы, используемые в операции.
updates Значения, используемые в операции.
name имя операции.
Возвращает
Обновлённая переменная.

scatter_nd_sub

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

scatter_nd_sub(
    indices, updates, name=None
)

Выполняет разреженное вычитание отдельных значений или срезов в Variable.

ref — это Tensor ранга P, а indices — это Tensor ранга Q.

indices должен быть целочисленным тензором, содержащим индексы в ref. Он должен иметь форму [d_0, ..., d_{Q-2}, K], где 0 < K <= P.

Внутреннее измерение indices (длиной K) соответствует индексам элементов (если K = P) или срезов (если K < P) вдоль измерения номер K в ref.

updates — это Tensor ранга Q-1+P-K с формой:

[d_0, ..., d_{Q-2}, ref.shape[K], ..., ref.shape[P-1]].

Например, предположим, что мы хотим добавить 4 разбросанных элемента в тензор ранга 1 из 8 элементов. В Python это обновление выглядело бы так:

ref = tf.Variable([1, 2, 3, 4, 5, 6, 7, 8])
indices = tf.constant([[4], [3], [1] ,[7]])
updates = tf.constant([9, 10, 11, 12])
op = ref.scatter_nd_sub(indices, updates)
with tf.compat.v1.Session() as sess:
  print sess.run(op)

В результате ref будет обновлён следующим образом:

[1, -9, 3, -6, -6, 6, 7, -4]

Подробнее об обновлении срезов см. в разделе tf.scatter_nd.

Аргументы
indices Индексы, используемые в операции.
updates Значения, используемые в операции.
name имя операции.
Возвращает
Обновлённая переменная.

scatter_nd_update

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

scatter_nd_update(
    indices, updates, name=None
)

Выполняет разреженное присваивание отдельных значений или срезов в Variable.

ref — это Tensor ранга P, а indices — это Tensor ранга Q.

indices должен быть целочисленным тензором, содержащим индексы в ref. Он должен иметь форму [d_0, ..., d_{Q-2}, K], где 0 < K <= P.

Внутреннее измерение indices (длиной K) соответствует индексам элементов (если K = P) или срезов (если K < P) вдоль измерения номер K в ref.

updates — это Tensor ранга Q-1+P-K с формой:

[d_0, ..., d_{Q-2}, ref.shape[K], ..., ref.shape[P-1]].

Например, предположим, что мы хотим добавить 4 разбросанных элемента в тензор ранга 1 из 8 элементов. В Python это обновление выглядело бы так:

ref = tf.Variable([1, 2, 3, 4, 5, 6, 7, 8])
indices = tf.constant([[4], [3], [1] ,[7]])
updates = tf.constant([9, 10, 11, 12])
op = ref.scatter_nd_update(indices, updates)
with tf.compat.v1.Session() as sess:
  print sess.run(op)

В результате ref будет обновлён следующим образом:

[1, 11, 3, 10, 9, 6, 7, 12]

Подробнее об обновлении срезов см. в разделе tf.scatter_nd.

Аргументы
indices Индексы, используемые в операции.
updates Значения, используемые в операции.
name имя операции.
Возвращает
Обновлённая переменная.

scatter_sub

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

scatter_sub(
    sparse_delta, use_locking=False, name=None
)

Вычитает tf.IndexedSlices из этой переменной.

Аргументы
sparse_delta tf.IndexedSlices, которое нужно вычесть из этой переменной.
use_locking Если True, во время операции используется блокировка.
name имя операции.
Возвращает
Обновлённая переменная.
Вызывает исключение
TypeError если sparse_delta не является IndexedSlices.

scatter_update

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

scatter_update(
    sparse_delta, use_locking=False, name=None
)

Присваивает этой переменной значение tf.IndexedSlices.

Аргументы
sparse_delta tf.IndexedSlices, которое нужно присвоить этой переменной.
use_locking Если True, во время операции используется блокировка.
name имя операции.
Возвращает
Обновлённая переменная.
Вызывает исключение
TypeError если sparse_delta не является IndexedSlices.

set_shape

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

set_shape(
    shape
)

Переопределяет форму этой переменной.

Аргументы
shape TensorShape, представляющий переопределённую форму.

sparse_read

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

sparse_read(
    indices, name=None
)

Разреженно считывает значение этой переменной, используя gather.

to_proto

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

to_proto(
    export_scope=None
)

Преобразует ResourceVariable в протокол буфера VariableDef.

Аргументы
export_scope Необязательный string. Область имён, которую нужно удалить.
Вызывает исключение
RuntimeError При выполнении в режиме EAGER.
Возвращает
Протокол буфера VariableDef или None, если Variable не входит в указанную область имён.

value

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

value()

Кэшированная операция, считывающая значение этой переменной.

__abs__

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

__abs__(
    name=None
)

__add__

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

__add__(
    y
)

__and__

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

__and__(
    y
)

__array__

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

__array__(
    dtype=None
)

Позволяет напрямую преобразовать значение в массив numpy.

np.array(tf.Variable([1.0]))
array([1.], dtype=float32)
Возвращает
Значение переменной в виде массива numpy.

__bool__

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

__bool__()

__div__

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

__div__(
    y
)

__eq__

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

__eq__(
    other
)

Поэлементно сравнивает две переменные на равенство.

__floordiv__

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

__floordiv__(
    y
)

__ge__

__ge__(
    y: Annotated[Any, tf.raw_ops.Any],
    name=None
) -> Annotated[Any, tf.raw_ops.Any]

Поэлементно возвращает истинность выражения (x >= y).

Примечание: math.greater_equal поддерживает широковещательное вещание. Подробнее о широковещательном вещании — здесь

Пример:

x = tf.constant([5, 4, 6, 7])
y = tf.constant([5, 2, 5, 10])
tf.math.greater_equal(x, y) ==> [True, True, True, False]

x = tf.constant([5, 4, 6, 7])
y = tf.constant([5])
tf.math.greater_equal(x, y) ==> [True, False, True, True]
Аргументы
x Tensor. Должен иметь один из следующих типов: float32, float64, int32, uint8, int16, int8, int64, bfloat16, uint16, half, uint32, uint64.
y Tensor. Должен иметь тот же тип, что и x.
name Имя операции (необязательно).
Возвращает
Tensor типа bool.

__getitem__

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

__getitem__(
    slice_spec
)

Создаёт вспомогательный объект среза для заданной переменной.

Это позволяет создать подтензор из части текущего содержимого переменной. Подробные примеры создания срезов см. в разделе tf.Tensor.getitem.

Кроме того, эта функция позволяет присваивать значения выбранному диапазону. Это аналогично функциональности __setitem__ в Python. Однако синтаксис отличается, чтобы пользователь мог сохранить операцию присваивания для группировки или передачи в sess.run() в TF1. Например:

import tensorflow as tf
A = tf.Variable([[1,2,3], [4,5,6], [7,8,9]], dtype=tf.float32)
print(A[:2, :2])  # => [[1,2], [4,5]]

A[:2,:2].assign(22. * tf.ones((2, 2))))
print(A) # => [[22, 22, 3], [22, 22, 6], [7,8,9]]

Обратите внимание, что присваивания пока не поддерживают семантику широковещательного вещания NumPy.

Аргументы
var Объект ops.Variable.
slice_spec Аргументы для Tensor.getitem.
Возвращает
Соответствующий срез «tensor», определяемый «slice_spec», в виде оператора. У оператора также есть метод assign(), который можно использовать для создания оператора присваивания.
Вызывает исключение
ValueError Если размер диапазона среза отрицателен.
TypeError TypeError: если индексы среза не являются int, slice, ellipsis, tf.newaxis или тензорами int32/int64.

__gt__

__gt__(
    y: Annotated[Any, tf.raw_ops.Any],
    name=None
) -> Annotated[Any, tf.raw_ops.Any]

Поэлементно возвращает истинность выражения (x > y).

Примечание: math.greater поддерживает широковещательное вещание. Подробнее о широковещательном вещании — здесь

Пример:

x = tf.constant([5, 4, 6])
y = tf.constant([5, 2, 5])
tf.math.greater(x, y) ==> [False, True, True]

x = tf.constant([5, 4, 6])
y = tf.constant([5])
tf.math.greater(x, y) ==> [False, False, True]
Аргументы
x Tensor. Должен иметь один из следующих типов: float32, float64, int32, uint8, int16, int8, int64, bfloat16, uint16, half, uint32, uint64.
y Tensor. Должен иметь тот же тип, что и x.
name Имя операции (необязательно).
Возвращает
Tensor типа bool.

__invert__

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

__invert__(
    name=None
)

__iter__

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

__iter__()

При eager-выполнении выполняет итерацию по значению переменной.

__le__

__le__(
    y: Annotated[Any, tf.raw_ops.Any],
    name=None
) -> Annotated[Any, tf.raw_ops.Any]

Поэлементно возвращает истинность выражения (x <= y).

Примечание: math.less_equal поддерживает широковещательное вещание. Подробнее о широковещательном вещании — здесь

Пример:

x = tf.constant([5, 4, 6])
y = tf.constant([5])
tf.math.less_equal(x, y) ==> [True, True, False]

x = tf.constant([5, 4, 6])
y = tf.constant([5, 6, 6])
tf.math.less_equal(x, y) ==> [True, True, True]
Аргументы
x Tensor. Должен иметь один из следующих типов: float32, float64, int32, uint8, int16, int8, int64, bfloat16, uint16, half, uint32, uint64.
y Tensor. Должен иметь тот же тип, что и x.
name Имя операции (необязательно).
Возвращает
Tensor типа bool.

__lt__

__lt__(
    y: Annotated[Any, tf.raw_ops.Any],
    name=None
) -> Annotated[Any, tf.raw_ops.Any]

Поэлементно возвращает истинность выражения (x < y).

Примечание: math.less поддерживает широковещательное вещание. Подробнее о широковещательном вещании — здесь

Пример:

x = tf.constant([5, 4, 6])
y = tf.constant([5])
tf.math.less(x, y) ==> [False, True, False]

x = tf.constant([5, 4, 6])
y = tf.constant([5, 6, 7])
tf.math.less(x, y) ==> [False, True, True]
Аргументы
x Tensor. Должен иметь один из следующих типов: float32, float64, int32, uint8, int16, int8, int64, bfloat16, uint16, half, uint32, uint64.
y Tensor. Должен иметь тот же тип, что и x.
name Имя операции (необязательно).
Возвращает
Tensor типа bool.

__matmul__

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

__matmul__(
    y
)

__mod__

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

__mod__(
    y
)

__mul__

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

__mul__(
    y
)

__ne__

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

__ne__(
    other
)

Поэлементно сравнивает две переменные на равенство.

__neg__

__neg__(
    name=None
) -> Annotated[Any, tf.raw_ops.Any]

Вычисляет поэлементное отрицательное значение.

То есть \(y = -x\).

Аргументы
x Tensor. Должен иметь один из следующих типов: bfloat16, half, float32, float64, int8, int16, int32, int64, complex64, complex128.
name Имя операции (необязательно).
Возвращает
Tensor. Имеет тот же тип, что и x.

__nonzero__

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

__nonzero__()

__or__

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

__or__(
    y
)

__pow__

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

__pow__(
    y
)

__radd__

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

__radd__(
    x
)

__rand__

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

__rand__(
    x
)

__rdiv__

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

__rdiv__(
    x
)

__rfloordiv__

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

__rfloordiv__(
    x
)

__rmatmul__

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

__rmatmul__(
    x
)

__rmod__

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

__rmod__(
    x
)

__rmul__

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

__rmul__(
    x
)

__ror__

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

__ror__(
    x
)

__rpow__

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

__rpow__(
    x
)

__rsub__

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

__rsub__(
    x
)

__rtruediv__

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

__rtruediv__(
    x
)

__rxor__

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

__rxor__(
    x
)

__sub__

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

__sub__(
    y
)

__truediv__

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

__truediv__(
    y
)

__xor__

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

__xor__(
    y
)

© 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/experimental/dtensor/DVariable

Spec-Zone.ru

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