это он берёт?
"RuntimeError: CUDA out of memory. Tried to allocate 10.00 GiB {...}"
Это же про память видеокарты, наверное.
Я знаю. Рассчитывает ли pt этот объем до фактической загрузки? И если да, то возможно ли его "вытащить"?
Слово allocate означает, что он сперва пытается зарезервировать 10 гигов памяти. До каких-либо дальнейших вычислений. Не уверен, что до конца понимаю твой вопрос. Что такое «вытащить»?
Значит я правильно мыслю. Если кратко, то получить этот объём в байтах до загрузки, т.е. до tensor.to(device)
Судя по такой круглой цифре, этот объём не вычисляется, а просто в каком-нибудь конфиге задаётся.
*я не совсем про "до вычислений". Я про аллокацию
Он как раз вычисляется в зависимости от размера массива, который мы грузим
Я выяснил, как это работает, кому интересно, есть гайд по кастомному аллокатору pytorch https://zdevito.github.io/2022/08/04/cuda-caching-allocator.html
Обсуждают сегодня