tf.TensorShape
| Просмотр исходного кода на GitHub |
Представляет форму Tensor.
tf.TensorShape(
dims
)
TensorShape представляет собой возможно частичное описание формы Tensor. Оно может быть одним из следующих:
-
Полностью определенная форма: содержит известное количество измерений и известный размер для каждого измерения. Пример:
TensorShape([16, 256]) -
Частично определенная форма: содержит известное количество измерений и неизвестный размер для одного или нескольких измерений. Пример:
TensorShape([None, 256]) -
Неопределенная форма: содержит неизвестное количество измерений и неизвестный размер во всех измерениях. Пример:
TensorShape(None)
Если тензор создаётся операцией типа "Foo", его форма может быть выведена, если существует зарегистрированная функция определения формы для "Foo". Подробности о функциях определения формы и способах их регистрации см. в Функциях определения формы. В качестве альтернативы, форму можно задать явно с помощью tf.Tensor.set_shape.
| Аргументы | |
|---|---|
dims | Список измерений или None, если форма не указана. |
| Исключения | |
|---|---|
TypeError | Если значения dims невозможно преобразовать в список измерений. |
| Атрибуты | |
|---|---|
dims | Устарело. Возвращает список измерений для этой формы. Рекомендуется использовать |
ndims | Устаревший доступ к rank. |
rank | Возвращает ранг этой формы или None, если он не определён. |
Методы
as_list
as_list()
Возвращает список целых чисел или None для каждого измерения.
| Возвращаемое значение | |
|---|---|
Список целых чисел или None для каждого измерения. |
| Исключения | |
|---|---|
ValueError | Если self является неопределённой формой с неопределённым рангом. |
as_proto
as_proto()
Возвращает эту форму в виде TensorShapeProto.
assert_has_rank
assert_has_rank(
rank
)
Выбрасывает исключение, если self несовместима с заданным rank.
| Аргументы | |
|---|---|
rank | Целое число. |
| Исключения | |
|---|---|
ValueError | Если self не представляет форму с заданным rank. |
assert_is_compatible_with
assert_is_compatible_with(
other
)
Выбрасывает исключение, если self и other не представляют одну и ту же форму.
Этот метод можно использовать для утверждения, что существует форма, которую представляют как self, так и other.
| Аргументы | |
|---|---|
other | Другая TensorShape. |
| Исключения | |
|---|---|
ValueError | Если self и other не представляют одну и ту же форму. |
assert_is_fully_defined
assert_is_fully_defined()
Выбрасывает исключение, если self не полностью определена во всех измерениях.
| Исключения | |
|---|---|
ValueError | Если self не имеет известного значения для каждого измерения. |
assert_same_rank
assert_same_rank(
other
)
Выбрасывает исключение, если self и other не имеют совместимых рангов.
| Аргументы | |
|---|---|
other | Другая TensorShape. |
| Исключения | |
|---|---|
ValueError | Если self и other не представляют формы с одинаковым рангом. |
concatenate
concatenate(
other
)
Возвращает конкатенацию измерений в self и other.
Примечание: Если либоselfилиotherполностью неизвестны, конкатенация игнорирует информацию об другой форме. В будущем мы можем поддержать конкатенацию, сохраняющую эту информацию для использования с операцией среза.
| Аргументы | |
|---|---|
other | Другая TensorShape. |
| Возвращаемое значение | |
|---|---|
TensorShape с измерениями, представляющими конкатенацию измерений в self и other. |
is_compatible_with
is_compatible_with(
other
)
Возвращает True, если self совместима с other.
Две возможно частично определённые формы совместимы, если существует полностью определённая форма, которую оба значения могут представлять. Таким образом, совместимость позволяет коду вывода форм рассуждать о частично определённых формах. Например:
TensorShape(None) совместима со всеми формами.
TensorShape([None, None]) совместима со всеми двумерными формами, такими как TensorShape([32, 784]), а также TensorShape(None). Она не совместима, например, с TensorShape([None]) или TensorShape([None, None, None]).
TensorShape([32, None]) совместима со всеми двумерными формами с размером 32 в 0-м измерении, а также TensorShape([None, None]) и TensorShape(None). Она не совместима, например, с TensorShape([32]), TensorShape([32, None, 1]) или TensorShape([64, None]).
TensorShape([32, 784]) совместима сама с собой, а также с TensorShape([32, None]), TensorShape([None, 784]), TensorShape([None, None]) и TensorShape(None). Она не совместима, например, с TensorShape([32, 1, 784]) или TensorShape([None]).
Отношение совместимости рефлексивно и симметрично, но не транзитивно. Например, TensorShape([32, 784]) совместима с TensorShape(None), а TensorShape(None) совместима с TensorShape([4, 4]), но TensorShape([32, 784]) не совместима с TensorShape([4, 4]).
| Аргументы | |
|---|---|
other | Другая TensorShape. |
| Возвращаемое значение | |
|---|---|
True, если self совместима с other. |
is_fully_defined
is_fully_defined()
Возвращает True, если self полностью определена во всех измерениях.
merge_with
merge_with(
other
)
Возвращает TensorShape, объединяющее информацию в self и other.
Измерения в self и other объединяются поэлементно в соответствии с правилами, определёнными для Dimension.merge_with().
| Аргументы | |
|---|---|
other | Другой TensorShape. |
| Возвращает | |
|---|---|
A TensorShape содержащий объединённую информацию self и other. |
| Возбуждает | |
|---|---|
ValueError | Если self и other несовместимы. |
most_specific_compatible_shape
most_specific_compatible_shape(
other
)
Возвращает наиболее конкретную TensorShape, совместимую с self и other.
TensorShape([None, 1]) — наиболее конкретная TensorShape, совместимая с TensorShape([2, 1]) и TensorShape([5, 1]). Обратите внимание, что TensorShape(None) также совместима с вышеупомянутыми TensorShape.
TensorShape([1, 2, 3]) — наиболее конкретная TensorShape, совместимая с TensorShape([1, 2, 3]) и TensorShape([1, 2, 3]). Существует более общих TensorShape, совместимых с вышеупомянутыми TensorShape, например, TensorShape([1, 2, None]), TensorShape(None).
| Аргументы | |
|---|---|
other | Другой TensorShape. |
| Возвращает | |
|---|---|
A TensorShape которая является наиболее специфичной совместимой формой self и other |
num_elements
num_elements()
Возвращает общее количество элементов или None для неполных форм.
with_rank
with_rank(
rank
)
Возвращает форму на основе self с заданным рангом.
Этот метод преобразует полностью неизвестную форму в форму с известным рангом.
| Аргументы | |
|---|---|
rank | Целое число. |
| Возвращает | |
|---|---|
Форма, которая является по крайней мере столь же конкретной, как self с заданным рангом. |
| Возбуждает | |
|---|---|
ValueError | Если self не представляет форму с данным rank. |
with_rank_at_least
with_rank_at_least(
rank
)
Возвращает форму, основанную на self с по крайней мере заданным рангом.
| Аргументы | |
|---|---|
rank | Целое число. |
| Возвращает | |
|---|---|
Форма, которая является по крайней мере столь же конкретной, как self с по крайней мере заданным рангом. |
| Возбуждает | |
|---|---|
ValueError | Если self не представляет форму с по крайней мере заданным rank. |
with_rank_at_most
with_rank_at_most(
rank
)
Возвращает форму, основанную на self с не более чем заданным рангом.
| Аргументы | |
|---|---|
rank | Целое число. |
| Возвращает | |
|---|---|
Форма, которая является по крайней мере столь же конкретной, как self с не более чем заданным рангом. |
| Возбуждает | |
|---|---|
ValueError | Если self не представляет форму с не более чем заданным rank. |
__add__
__add__(
other
)
__bool__
__bool__()
Возвращает True, если эта форма содержит ненулевую информацию.
__concat__
__concat__(
other
)
__eq__
__eq__(
other
)
Возвращает True, если self эквивалентно other.
__getitem__
__getitem__(
key
)
Возвращает значение измерения или формы в зависимости от ключа.
| Аргументы | |
|---|---|
key | Если key является целым числом, возвращает измерение в этом индексе; в противном случае, если key является слайсом, возвращает TensorShape, чьи измерения выбраны из слайса с self. |
| Возвращает | |
|---|---|
Целое число, если key является целым числом, или TensorShape, если key является слайсом. |
| Возбуждает | |
|---|---|
ValueError | Если key является слайсом и self полностью неизвестна, а шаг установлен. |
__iter__
__iter__()
Возвращает self.dims , если ранг известен, в противном случае генерирует ValueError.
__len__
__len__()
Возвращает ранг этой формы, или генерирует ValueError, если он не определён.
__ne__
__ne__(
other
)
Возвращает True, если self известно отличным от other.
__nonzero__
__nonzero__()
Возвращает True, если эта форма содержит ненулевую информацию.
__radd__
__radd__(
other
)
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/TensorShape