Если вы хотите использовать модель только как средство извлечения функций (т. Е. В процессе нет обновления), вот что вы можете сделать
Предполагая, что у вас есть модель model
, вы сначала хотите установить ее в режим оценки.
model = FeatureExtractor().cuda()
mode.eval()
Далее, чтобы уменьшить потребление памяти графическим процессором, необходимо остановить накопление градиента и вычисление.
for p in model.parameters():
p.require_grads = False
out_a, out_p, out_n = model(data_a), model(data_p), model(data_n)
Тогда, я думаю, ваша проблема будет решена. Обратите внимание, что градиента «нет» можно пропустить через out_a
, out_p
и out_n
.