Путаница в документации Pytorch `torch.split`

#python #split #pytorch

Вопрос:

Когда я просматриваю объяснение функции torch.split в PyTorch, мне трудно читать как не говорящему по-английски:

torch.split(tensor, split_size_or_sections, dim=0)

[…]

Если split_size_or_sections это список, то tensor он будет разделен на len(split_size_or_sections) куски с размерами в dim соответствии с split_size_or_sections .

dim Означает ли «с размерами внутри» split_size_or_sections «с размерами вдоль измерения dim «?

Ответ №1:

Не волнуйтесь — ваш английский в порядке, эта строка немного сбивает с толку.

Да, вы правы. Это означает, что если вы передадите список, например split_size_or_sections=[1,2,4,5] , он разделит тензор на len([1,2,4,5]) куски (с разделениями , происходящими поперек dim ), и каждый кусок будет иметь длину 1 , 2 , 4 , 5 соответственно.

Это неявно предполагает , что sum([1,2,4,5]) это равно размеру dim , и вернет ошибку, если нет.