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 | Возвращает список измерений или None, если форма не указана. |
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. |
| Возвращает | |
|---|---|
Объект 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. |
| Возвращает | |
|---|---|
Объект 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/r1.15/api_docs/python/tf/TensorShape