【发布时间】:2019-06-06 09:35:38
【问题描述】:
我将 python 3 与 nvidia Rapids 一起使用,以便使用 cuml 库和 GPU 加速机器学习训练。
我的脚本还使用带有 GPU 训练的 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.使用相同的GPU(首选)而不丢失我训练的所有tf模型(我有更多的内存,然后tf模型在实践中需要,但tf进程仍然占用所有内存) 2.使用我的第二个GPU进行CUML计算(我找不到选择哪个GPU来运行RAPIDS CUML模型训练的方法。
【问题讨论】:
标签: python tensorflow gpu nvidia rapids