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. |
| Возвращает | |
|---|---|
Объект 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/r2.3/api_docs/python/tf/TensorShape