Notația Einstein în PyTorch cu torch.einsum în PyTorch & Deep Learning Practic

Sintaxă & invocare Python
torch.einsum('bik,bkj->bij', A, B)

Funcția torch.einsum() (Einstein Summation) oferă o sintaxă extrem de expresivă pentru a descrie operații tensoriale complexe (transpuneri, urme, înmulțiri pe loturi, produse Diagonale) utilizând indici literați simpli.

import torch

# Batch Matrix Multiplication (BMM) clasic
batch_size, seq_len, d_model = 8, 128, 64
q = torch.randn(batch_size, seq_len, d_model)
k = torch.randn(batch_size, seq_len, d_model)

# Calcul similaritate Atenție: Q * K^T -> (batch_size, seq_len, seq_len)
# Formula einsum: 'b i d, b j d -> b i j'
scores = torch.einsum('bid,bjd->bij', q, k)
print("Formă scoruri atenție:", scores.shape)  # torch.Size([8, 128, 128])

einsum elimină necesitatea combinării complicate de comenzi permute(), view() și bmm(), permițând compilatorului PyTorch să optimizeze buclele de calcul la nivel hardware.

Învață AI • Comunitate & Q&A

Întrebări & Exemple practice: Notația Einstein în PyTorch cu torch.einsum

Ai o întrebare despre Notația Einstein în PyTorch cu torch.einsum sau ai descoperit un truc, prompt sau fragment de cod util? Distribuie-l cu ceilalți membri ai comunității!

🤖

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau resurse pentru această pagină. Dacă ai testat un prompt sau ai un snippet util, adaugă-l mai jos pentru comunitate.

Comunitate AI Adaugă o întrebare sau distribuie un cod / prompt

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.