TGViewer
КПД КПД @quant_prune_distill · 3.51K subscribers
Post #166 576
Ответ на задачку и обьяснение (за спойлером):

1) [tensor([0]), tensor([1])], 2) [tensor([1]), tensor([1])]
Почему так?

Выражение x = [torch.empty(size=(1,))] * 2 создает один обьект в памяти, на который продублированы ссылаются x[0], x[1].

В случае 1) обращение происходит по имени, и x[0] теперь ссылается на обьект tensor([0]) и x[1] на обьект tensor([1]).

В случае 2) обращение происходит по ссылке, и сначала обьект, на который ссылаются как x[0] и x[1] записывается значение tensor([0]), а затем tensor([1]).

Как ваш покорный слуга сам напоролся на сий вроде бы очевидный, но заковыристый нюанс?

Когда работал с torch.distributed.gather заполнял тензоры на разных процессах (которые вообще говоря должны были генерировать разные значения), чтобы собрать затем на главном потоке. Какого же было мое удивление, когда увидел копии одного и того же тензора в полученном списке:)
  • 👍 3
More from @quant_prune_distill
  1. Oct 16, 2026LUT3 в NVIDIA Rubin Блогпост от какого-то челика Описание хранения в PTX ISA Последнее пок…
  2. Oct 16, 2026Post #870
  3. Oct 15, 2026⚙️ Метод При низкоранговом сжатии можно пытаться приближать ошибку аппроксимации весов (SV…
  4. Oct 15, 2026🧠 Learning Functional Subspaces for Neural Network Compression 📄 Статья Вообще говоря, п…
  5. Oct 15, 2026I have a Universal Transformer I have a Universal Attention I have a Universal Transformer…
  6. Oct 15, 2026Считаю что статьи без кода, если это только не теор DL или position paper, надо деск редже…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →