
#theory
🎲 Broadcasting
При работе с тензорами в торче (не путать с мат. тензорами) важно знать про то, как работает broadcasting. Это когда вы проделываете операции с тензорами разной размерности, например, умножаете друг на друга.
Если broadcasting происходит, то операция считается без дополнительного выделения памяти, что обычно ведет к ускорению.
Чтобы это случилось должны выполняться три условия (кроме того, что в обоих тензорах должна быть хотя бы одна размерность). Начиная с последней размерности (смотрим картинку), они должны:
1️⃣ Либо совпадать
2️⃣ Либо одна из них должна быть единичкой
3️⃣ Либо одной из них не должно быть
👉 Чтобы потренироваться с этим, а заодно решить несколько задачек вот вам классный репозиторий Tensor-Puzzles. Прилагается Colab.
А для истинных копателей у автора есть еще и GPU-Puzzles.
🎲 Broadcasting
При работе с тензорами в торче (не путать с мат. тензорами) важно знать про то, как работает broadcasting. Это когда вы проделываете операции с тензорами разной размерности, например, умножаете друг на друга.
Если broadcasting происходит, то операция считается без дополнительного выделения памяти, что обычно ведет к ускорению.
Чтобы это случилось должны выполняться три условия (кроме того, что в обоих тензорах должна быть хотя бы одна размерность). Начиная с последней размерности (смотрим картинку), они должны:
1️⃣ Либо совпадать
2️⃣ Либо одна из них должна быть единичкой
3️⃣ Либо одной из них не должно быть
👉 Чтобы потренироваться с этим, а заодно решить несколько задачек вот вам классный репозиторий Tensor-Puzzles. Прилагается Colab.
А для истинных копателей у автора есть еще и GPU-Puzzles.