Izinkan saya mengambil matriks 2D sebagai contoh:

mat = torch.arange(9).view(3, -1)

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

torch.sum(mat, dim=-2)

tensor([ 9, 12, 15])

Saya menemukan hasil dari torch.sum(mat, dim=-2) sama dengan torch.sum(mat, dim=0) dan dim=-1 sama dengan dim=1. Pertanyaan saya adalah bagaimana memahami dimensi negatif di sini. Bagaimana jika matriks input memiliki 3 dimensi atau lebih?

8
skydarkdark 12 Januari 2020, 13:10

2 jawaban

Jawaban Terbaik

Minus pada dasarnya berarti Anda mundur melalui dimensi. Misalkan A adalah matriks n-dimensi. Kemudian redup=n-1=-1, redup=n-2=-2, ..., redup=1=-(n-1), redup=0=-n. Lihat numpy doc untuk informasi lebih lanjut, karena pytorch sangat didasarkan pada numpy.

4
Simdi 3 Januari 2021, 12:44

Jadi, sebuah tensor memiliki banyak dimensi, diurutkan seperti pada gambar berikut. Ini adalah pengindeksan maju, tetapi ada yang mundur. Untuk pengindeksan mundur, minus digunakan. Sebagai contoh:

-1 akan menjadi yang terakhir, dalam kasus kami ini akan menjadi redup=2

-2 akan redup = 1

-3 akan redup = 0

enter image description here

5
cristian hantig 27 Juli 2020, 06:45