Рубрики
Без рубрики

Как использовать Pytorch Torch.max ()

В этой статье мы посмотрим на использование функции Pytorch Torch.max (). Как вы можете ожидать, это очень простая функция, но интересно, она имеет

Автор оригинала: Pankaj Kumar.

В этой статье мы посмотрим на использование Pytorch torich.max () функция.

Как вы можете ожидать, это очень простая функция, но интересно, у него больше, чем вы себе представляете.

Давайте посмотрим на использование этой функции, используя несколько простых примеров.

Примечание : На момент написания пищевой версии Pytorch используется Pytorch 1.5.0

Pytorch Torch.max () – основной синтаксис

Использовать pytorch torich.max () , первый импорт Факел Отказ

import torch

Теперь эта функция возвращает максимум среди элементов в тензоре.

Поведение по умолчанию Pytorch Torch.max ()

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

max_element = torch.max(input_tensor)

Вот пример:

p = torch.randn([2, 3])
print(p)
max_element = torch.max(p)
print(max_element)

Выход

tensor([[-0.0665,  2.7976,  0.9753],
        [ 0.0688, -1.0376,  1.4443]])
tensor(2.7976)

Действительно, это дает нам глобальный максимальный элемент в тензоре!

Используйте Torch.max () вдоль измерения

Тем не менее, вы можете получить максимум по определенному измерению, как тензор, а не один элемент.

Чтобы указать размерность ( ось – в numpy ), есть еще один дополнительный аргумент ключевых слов, называемый смущать

Это представляет направление, которое мы принимаем для максимума.

Это возвращает кортеж, Max_Elements и max_indices Отказ

  • Max_Elements -> Все максимальные элементы тензора.
  • max_indices -> Индексы, соответствующие максимальным элементам.
max_elements, max_indices = torch.max(input_tensor, dim)

Это вернет тензор, который имеет максимальные элементы вдоль измерения тусклый Отказ

Давайте теперь посмотрим на некоторые примеры.

p = torch.randn([2, 3])
print(p)

# Get the maximum along dim = 0 (axis = 0)
max_elements, max_idxs = torch.max(p, dim=0)
print(max_elements)
print(max_idxs)

Выход

tensor([[-0.0665,  2.7976,  0.9753],
        [ 0.0688, -1.0376,  1.4443]])
tensor([0.0688, 2.7976, 1.4443])
tensor([1, 0, 1])

Как видите, мы находим максимум вдоль размерности 0 (максимум по столбцам).

Кроме того, мы получаем индексы, соответствующие элементам. Например, 0,0688 Имеет индекс 1 вдоль столбца 0.

Точно так же, если вы хотите найти максимум вдоль рядов, используйте dim = 1 Отказ

# Get the maximum along dim = 1 (axis = 1)
max_elements, max_idxs = torch.max(p, dim=1)
print(max_elements)
print(max_idxs)

Выход

tensor([2.7976, 1.4443])
tensor([1, 2])

Действительно, мы получаем максимальные элементы вдоль строки, а соответствующий индекс (вдоль строки).

Использование Torch.max () для сравнения

Мы также можем использовать torich.max () Чтобы получить максимальные значения между двумя тензорами.

output_tensor = torch.max(a, b)

Здесь А и B должны иметь одинаковые размеры или должны быть «вещательные» тензорами.

Вот простой пример для сравнения двух тензоров, имеющих одинаковые размеры.

p = torch.randn([2, 3])
q = torch.randn([2, 3])

print("p =", p)
print("q =",q)

# Compare elements of p and q and get the maximum
max_elements = torch.max(p, q)

print(max_elements)

Выход

p = tensor([[-0.0665,  2.7976,  0.9753],
        [ 0.0688, -1.0376,  1.4443]])
q = tensor([[-0.0678,  0.2042,  0.8254],
        [-0.1530,  0.0581, -0.3694]])
tensor([[-0.0665,  2.7976,  0.9753],
        [ 0.0688,  0.0581,  1.4443]])

Действительно, мы получаем выходной тензор, имеющий максимальные элементы между P и Q Отказ

Заключение

В этой статье мы узнали об использовании функции Torch.max (), чтобы узнать максимальный элемент тензора.

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

Для подобных статей пройдите через наш контент на наших учебных пособиях Pytorch! Оставайтесь настроиться на большее время!

Рекомендации