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

Сначала я обучил одну сверточную нейронную сеть кофейная рамки, чья модель весила 80Mb. Хотя я заметил, что после загрузки в мой проект, это занимает почти 1 Гб оперативной памяти. В интернете я узнал, что любая CNN отнимает много памяти. Вот почему я думал, что меньший CNN решит мою проблему. Я тренировал другой с меньшим количеством слоев. В итоге модель весила всего 60 МБ, но все равно заняла 1 ГБ оперативной памяти.

Прежде чем ответить на мой вопрос, учтите, что:

1) Когда я измерял количество занятой памяти, я прокомментировал каждую строку моего проекта, и единственной оставшейся вещью была загруженная модель.

2) Я проверил количество памяти, занятой терминальной командой ‘htop’ (да, они равны)

Постскриптум Я новичок в DNN, есть ли другое решение? Спасибо за помощь!

ОБНОВИТЬ

Я создал сеть с одним скрытым слоем (только для эксперимента) и загрузил ее в свой проект. Принимая во внимание, что модель весит всего 160 КБ и все еще занимает 1 ГБ оперативной памяти, я, конечно, не понимаю, как загрузить модель caffe в проект. Я использую библиотеку caffe и загружаю модель классом классификатора. Еще раз спасибо за вашу помощь!

2

Решение

Очевидно, что размер вашего процесса в оперативной памяти не зависит от размера сети. Там должно быть что-то еще. Если вам интересно, что именно — есть инструменты профилирования памяти, которые могут сообщить, куда ушла память.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]