Функция PyTorch torch.vmap


Pytorch torch 参考手册Справочное руководство Pytorch torch

torch.vmapЭто функция в PyTorch, используемая для векторного отображения. Она принимает функцию на вход и возвращает новую функцию, которая может автоматически работать с батчевыми тензорами, аналогично vmap в JAX.

Определение функции

torch.vmap(func, in_dims, out_dims, randomness)

Описание параметра

  • func: функция, подлежащая векторизации
  • in_dims: размерность пакета входного тензора (необязательно)
  • out_dims: размерность пакета выходного тензора (необязательно)
  • randomness: случайное поведение, необязательно "error", "different", "same"

Пример использования

Пример

import torch

# Определяем простую функцию
def simple_func(x):
    return x * 2 + 1

# Используйте vmap для векторизации функции
vectorized_func = torch.vmap(simple_func)

# Пакетный ввод (размерность пакета равна 0)
batch_input = torch.randn(4, 3)

# Примените векторизованную функцию
output = vectorized_func(batch_input)

print("Форма входных данных:", batch_input.shape)
print("Форма выхода:", output.shape)
print("Вывод:")
print(output)

Результат вывода:

输入形状: torch.Size([4, 3])
输出形状: torch.Size([4, 3])
输出:
tensor([[ 0.2345,  1.5678, -0.3456],
        [ 2.1234, -1.2345,  0.5678],
        [-0.8765,  1.2345,  2.3456],
        [ 1.5678,  0.1234, -1.2345]])

Pytorch torch 参考手册Справочное руководство Pytorch torch

Другие расширения