РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
36 of 769 menu

Метод chunk

Метод chunk разделяет тензор на указанное количество частей по заданному измерению. Метод принимает два основных параметра: количество частей (chunks) и измерение (dim), по которому производится разделение. Возвращается кортеж тензоров.

Синтаксис

t.chunk(chunks, dim=0)

Пример

Давайте разделим одномерный тензор на две части:

import torch t = torch.tensor([1, 2, 3, 4, 5, 6]) res = t.chunk(2) print(res)

Результат выполнения кода:

(tensor([1, 2, 3]), tensor([4, 5, 6]))

Пример

Разделим двумерный тензор по строкам (измерение 0):

import torch t = torch.tensor([ [1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], ]) res = t.chunk(2, dim=0) print(res)

Результат выполнения кода:

(tensor([ [1, 2, 3], [4, 5, 6], ]), tensor([ [7, 8, 9], [10, 11, 12], ]))

Пример

Разделим тензор по столбцам (измерение 1):

import torch t = torch.tensor([ [1, 2, 3, 4], [5, 6, 7, 8], ]) res = t.chunk(2, dim=1) print(res)

Результат выполнения кода:

(tensor([ [1, 2], [5, 6], ]), tensor([ [3, 4], [7, 8], ]))

Пример

Если размерность не делится на количество частей нацело, последняя часть будет меньше остальных:

import torch t = torch.tensor([1, 2, 3, 4, 5]) res = t.chunk(3) print(res)

Результат выполнения кода:

(tensor([1, 2]), tensor([3, 4]), tensor([5]))

Смотрите также

  • метод split,
    который разбивает тензор на части по размеру
  • метод unbind,
    который разбивает тензор на отдельные тензоры по измерению
  • метод cat,
    который объединяет тензоры по заданному измерению
  • метод stack,
    который объединяет тензоры с новым измерением
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить