Я использую python 3 с nvidia Rapids для ускорения обучения машинному обучению с использованием библиотеки cuml и графического процессора.
В моих скриптах также используются керасы с обучением на GPU (через tf) и когда я достигаю стадиигде я пытаюсь использовать CUML, я получаю ошибку памяти.Я подозреваю, что это происходит, потому что TF не освобождает память GPU (глядя на nvidia-smi). Я вижу, что вся память распределена.
Это код, который я использую для обучения модели cuml
import cuml
from cuml import LinearRegression
lr = LinearRegression()
lr.fit(encoded_data, y_train)
это ошибка, которую я получаю
[2] Вызов cuMemAlloc приводит к CUDA_ERROR_OUT_OF_MEMORY
encoded_data и y_train являются массивами numpy, encoded_data - это массив чисел с плавающей запятой n * m, а y_train - это n * 1 вектор целых чисел, которые являются метками, оба отлично работают при обучении с помощью логической регрессии sklearn.
Как я могу: 1. Использовать один и тот же графический процессор (предпочтительно), не теряя все обученные модели tf (у меня больше памяти, чем на практике использует модель tf, но процесс tf по-прежнему занимает всепамять) 2. Используйте мой второй GPU для вычислений CUML (я не могу найти способ выбрать, какой GPU запускать обучение модели RAPIDS CUML.