TGViewer
partially unsupervised partially unsupervised @partially_unsupervised · 10.4K subscribers
Post #16 1.24K
Два дня боролся с утечкой памяти в доставшемся по наследству deep learning пайплайне. Оказалось, что на самом деле их две, а ведь в языках с автоматической очисткой памяти это довольно редкий зверь.

Первый лик нашелся относительно легко при помощи pympler. Дальше началось странное, потому что pympler не видел новые объекты, а память потихоньку утекала - медленно, но верно.

Для победы пришлось отбросить ковбойский подход "ща я тут дебаггером влезу, на код гляну и все быстро пойму" и перейти к divide and conquer:
- беру кусок пайплайна;
- вместо настоящего выполнения кэширую;
- смотрю, течет или нет.

После N итераций в подозреваемых остался один большой и запутанный модуль - все еще много. Смотреть глазами на графики потребления памяти стало сложно, глаз замылился. На картинке один из таких графиков, в качестве такого себе доказательства.

Пришлось добавить статистики и вместо графиков смотреть на p-value, что проще и не требует умственных усилий. Так удалось локализовать проблему до одной функции, изолировать ее и найти проблему: подвыборка из тензора по индексам оставляла неявный референс.

Мораль такая: даже если ты не разбираешься в проблеме, декомпозиция и базовая автоматизация (инструменты, склеенные скотчем) помогут.
More from @partially_unsupervised
  1. Sep 23, 2026Мои любимые HFT рекламодатели из Wunder Fund попросили рассказать про их новое соревновани…
  2. Sep 21, 2026Jev, про который говорят на каждом углу - это может и не революция технически, но чертовск…
  3. Sep 17, 2026Минутка рекламы. Если вы ненавидите двигать квадратики в джире так же люто, как и я, но ещ…
  4. Sep 8, 2026Не люблю комментировать релизы, но Astra (и, внезапно, gemini 3.8) вернули забытое чувство…
  5. Aug 24, 2026Мой соавтор по первой книжке не удержался и недавно заспойлерил вторую. А если шило в мешк…
  6. Aug 9, 2026Когда я учился в школе, на каком-то этапе мои учителя математики и информатики объявили, ч…
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 →