#deep-learning #pytorch
#глубокое обучение #pytorch
Вопрос:
Когда я использую Keras , он загружает входной набор данных в оперативную память a
и загружает сети на VRAM, чтобы я мог обучать разные большие сети.
Однако я не могу найти способ сделать это с помощью pytorch
и это заставляет меня использовать так мало памяти, я думаю.
Есть ли какой-нибудь способ использовать обе оперативные памяти на pytorch?
Комментарии:
1. Что заставляет вас думать, что PyTorch этого еще не делает?
2. @hkchengrex Я очень новичок в pytorch, поэтому, пожалуйста, скажите мне, как
3. Как только вы определяете экземпляр модуля, вызывающий метод
.cuda()
класса вашего модуля, передает все параметры модели и буферы в память GPU.4. @jodag Можно ли переносить модель только на графический процессор и сохранять загруженные данные в оперативной памяти?
5. Данные, возвращаемые из вашего набора данных, должны быть перенесены на тот же графический процессор, что и модель, прежде чем передавать их в модель. Обычно это делается непосредственно перед вызовом модели. Например, внутри
for x, y in dataloader:
цикла у вас будет что-то вродеx, y = x.cuda(), y.cuda()
перемещения мини-пакета на то же устройство, что и модель, с последующимoutput = model(x)
вызовом прямого прохода вашей модели иloss = criterion(output, y)
вычислением функции потерь.