PyTorch torch.repeat_interleave-Funktion
PyTorch torch-Referenzhandbuch
torch.repeat_interleaveEs ist eine Funktion in PyTorch, die verwendet wird, um Elemente entlang einer angegebenen Dimension zu wiederholen.
Funktionsdefinition
torch.repeat_interleave(input, repeats, dim=None, *, output_size=None)
Anwendungsbeispiele
Beispiel
import torch
# Ohne Angabe von dim, entlang aller Elemente wiederholen
x = torch.tensor([1, 2, 3])
result = torch.repeat_interleave(x, 2)
print("Jedes Element 2 Mal wiederholt:")
print(result)
# Entlang dim=0 wiederholen
y = torch.tensor([[1, 2], [3, 4]])
print("nOriginaler Tensor:")
print(y)
result = torch.repeat_interleave(y, 2, dim=0)
print("n2-mal entlang dim=0 wiederholt:")
print(result)
# Unterschiedliche Wiederholungszahlen für jedes Element
result = torch.repeat_interleave(y, torch.tensor([1, 2]), dim=0)
print("nUnterschiedliche Wiederholungszahlen entlang dim=0 [1, 2]:")
print(result)
# Entlang dim=1 wiederholen
result = torch.repeat_interleave(y, 3, dim=1)
print("n3-mal entlang dim=1 wiederholt:")
print(result)
# output_size zurückgeben
result = torch.repeat_interleave(x, 2, output_size=9)
print("nAngegebene output_size=9:")
print(result)
# Ohne Angabe von dim, entlang aller Elemente wiederholen
x = torch.tensor([1, 2, 3])
result = torch.repeat_interleave(x, 2)
print("Jedes Element 2 Mal wiederholt:")
print(result)
# Entlang dim=0 wiederholen
y = torch.tensor([[1, 2], [3, 4]])
print("nOriginaler Tensor:")
print(y)
result = torch.repeat_interleave(y, 2, dim=0)
print("n2-mal entlang dim=0 wiederholt:")
print(result)
# Unterschiedliche Wiederholungszahlen für jedes Element
result = torch.repeat_interleave(y, torch.tensor([1, 2]), dim=0)
print("nUnterschiedliche Wiederholungszahlen entlang dim=0 [1, 2]:")
print(result)
# Entlang dim=1 wiederholen
result = torch.repeat_interleave(y, 3, dim=1)
print("n3-mal entlang dim=1 wiederholt:")
print(result)
# output_size zurückgeben
result = torch.repeat_interleave(x, 2, output_size=9)
print("nAngegebene output_size=9:")
print(result)
Das Ausgabeergebnis ist:
每个元素重复 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])
Andere Erweiterungen