PyTorch torch.searchsorted Funktion
PyTorch torch-Referenzhandbuch
torch.searchsortedDies ist eine Funktion in PyTorch, mit der die Position gesucht wird, an der ein Element in einen sortierten Tensor eingefügt werden soll. Der zurückgegebene Wert ist die Indexposition, an der das Element eingefügt werden soll.
Funktionsdefinition
torch.searchsorted(sorted_sequence, values, side='left', out_int32=False, right=False)
Parameterbeschreibung:
sorted_sequence: Sortierter eindimensionaler oder mehrdimensionaler Tensorvalues: Zu suchender Wertside: 'left' oder 'right', bestimmt, ob die linke oder rechte Einfügeposition zurückgegeben werden sollout_int32: Ob der int32-Typ zurückgegeben werden sollright: Veraltet, stattdessen side verwenden
Anwendungsbeispiel
Beispiel
import torch
# Eine sortierte Sequenz erstellen
sorted_seq = torch.tensor([1, 3, 5, 7, 9])
# Die Position eines Werts suchen
values = torch.tensor([3, 6, 8])
y = torch.searchsorted(sorted_seq, values)
print(y)
# Eine sortierte Sequenz erstellen
sorted_seq = torch.tensor([1, 3, 5, 7, 9])
# Die Position eines Werts suchen
values = torch.tensor([3, 6, 8])
y = torch.searchsorted(sorted_seq, values)
print(y)
Das Ausgabeergebnis ist:
tensor([1, 3, 3]) </p> <div class="example"> <h2 class="example">实例</h2> <div class="example_code"> <span style="color: Green;font-weight:bold;">import</span> torch<br /> <br /> <span style="color: #a50"># 创建已排序的序列</span><br /> sorted_seq <span style="color: Gray;">=</span> torch.<span style="color: #05a;">tensor</span><span style="color: Olive;">(</span><span style="color: Olive;">[</span><span style="color: Maroon;">1</span><span style="color: Gray;">,</span> <span style="color: Maroon;">3</span><span style="color: Gray;">,</span> <span style="color: Maroon;">5</span><span style="color: Gray;">,</span> <span style="color: Maroon;">7</span><span style="color: Gray;">,</span> <span style="color: Maroon;">9</span><span style="color: Olive;">]</span><span style="color: Olive;">)</span><br /> <br /> <span style="color: #a50"># 使用 side='right' 搜索</span><br /> values <span style="color: Gray;">=</span> torch.<span style="color: #05a;">tensor</span><span style="color: Olive;">(</span><span style="color: Olive;">[</span><span style="color: Maroon;">3</span><span style="color: Gray;">,</span> <span style="color: Maroon;">6</span><span style="color: Gray;">,</span> <span style="color: Maroon;">8</span><span style="color: Olive;">]</span><span style="color: Olive;">)</span><br /> y <span style="color: Gray;">=</span> torch.<span style="color: #05a;">searchsorted</span><span style="color: Olive;">(</span>sorted_seq<span style="color: Gray;">,</span> values<span style="color: Gray;">,</span> side<span style="color: Gray;">=</span><span style="color: #a11;">'right'</span><span style="color: Olive;">)</span><br /> <span style="color: Green;font-weight:bold;">print</span><span style="color: Olive;">(</span>y<span style="color: Olive;">)</span><br /> </div> </div> <p>输出结果为:</p> <pre> tensor([2, 3, 4])
Beispiel
import torch
# Für mehrdimensionale Arrays
sorted_seq = torch.tensor([[1, 3, 5], [2, 4, 6]])
values = torch.tensor([[1.5], [3.5]])
y = torch.searchsorted(sorted_seq, values)
print(y)
# Für mehrdimensionale Arrays
sorted_seq = torch.tensor([[1, 3, 5], [2, 4, 6]])
values = torch.tensor([[1.5], [3.5]])
y = torch.searchsorted(sorted_seq, values)
print(y)
Das Ausgabeergebnis ist:
tensor([[1],
[1]])
Andere Erweiterungen