Я использую python 3 с nvidia Rapids, чтобы ускорить обучение машинному обучению с помощью библиотеки cuml и графического процессора.
Мои скрипты также используют keras с обучением графическому процессору (через 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. использовать мои второй графический процессор для вычислений CUML (я не могу найти способ выбрать, какой графический процессор будет запускать обучение модели RAPIDS CUML.