Fonction torch.repeat_interleave de PyTorch
Manuel de référence PyTorch torch
torch.repeat_interleaveC'est une fonction de PyTorch utilisée pour répéter des éléments le long d'une dimension spécifiée.
Définition de fonction
torch.repeat_interleave(input, repeats, dim=None, *, output_size=None)
Exemples d'utilisation
Exemple
import torch
# Sans spécifier dim, répéter sur tous les éléments
x = torch.tensor([1, 2, 3])
result = torch.repeat_interleave(x, 2)
print("Chaque élément répété 2 fois :")
print(result)
# Répéter le long de dim=0
y = torch.tensor([[1, 2], [3, 4]])
print("nTenseur original :")
print(y)
result = torch.repeat_interleave(y, 2, dim=0)
print("Répété 2 fois selon dim=0 :")
print(result)
# Différents nombres de répétitions pour chaque élément
result = torch.repeat_interleave(y, torch.tensor([1, 2]), dim=0)
print("nDifférents nombres de répétitions selon dim=0 [1, 2] :")
print(result)
# Répéter selon dim=1
result = torch.repeat_interleave(y, 3, dim=1)
print("nRépété 3 fois selon dim=1 :")
print(result)
# Retourner output_size
result = torch.repeat_interleave(x, 2, output_size=9)
print("noutput_size=9 spécifié :")
print(result)
# Sans spécifier dim, répéter sur tous les éléments
x = torch.tensor([1, 2, 3])
result = torch.repeat_interleave(x, 2)
print("Chaque élément répété 2 fois :")
print(result)
# Répéter le long de dim=0
y = torch.tensor([[1, 2], [3, 4]])
print("nTenseur original :")
print(y)
result = torch.repeat_interleave(y, 2, dim=0)
print("Répété 2 fois selon dim=0 :")
print(result)
# Différents nombres de répétitions pour chaque élément
result = torch.repeat_interleave(y, torch.tensor([1, 2]), dim=0)
print("nDifférents nombres de répétitions selon dim=0 [1, 2] :")
print(result)
# Répéter selon dim=1
result = torch.repeat_interleave(y, 3, dim=1)
print("nRépété 3 fois selon dim=1 :")
print(result)
# Retourner output_size
result = torch.repeat_interleave(x, 2, output_size=9)
print("noutput_size=9 spécifié :")
print(result)
Le résultat de sortie est:
每个元素重复 2 次:
tensor([1, 1, 2, 2, 3, 3])
原始张量:
tensor([[1, 2],
[3, 4]])
沿 dim=0 重复 2 次:
tensor([[1, 2],
[1, 2],
[3, 4],
[3, 4]])
沿 dim=0 不同重复次数 [1, 2]:
tensor([[1, 2],
[3, 4],
[3, 4]])
沿 dim=1 重复 3 次:
tensor([[1, 1, 1, 2, 2, 2],
[3, 3, 3, 4, 4, 4]])
指定 output_size=9:
tensor([1, 1, 2, 2, 3, 3, 1, 2, 3])
Autres extensions