问题标签 [rapids]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python Nvidia 在使用 cuml 训练机器学习模型时出现内存错误
我将 python 3 与 nvidia Rapids 一起使用,以便使用 cuml 库和 GPU 加速机器学习训练。
我的脚本还使用 keras 和 GPU 训练(通过 tf),当我到达尝试使用 CUML 的阶段时,我得到了内存错误。我怀疑这是因为 TF 没有释放 GPU 内存(查看 nvidia-smi)我看到所有内存都已分配。
这是我用来训练 cuml 模型的代码
这是我得到的错误
[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.使用我的用于 CUML 计算的第二个 GPU(我找不到选择哪个 GPU 来运行 RAPIDS CUML 模型训练的方法。
rapids - 替换 C 列中的值,其中 A 列中的值为 x
问题
在将空值替换为布尔值的过程中,我们在列中找到空值fireplace_count
。
如果fireplaceflag
value 是False
valuefireplace_count
null
应该替换为0
为熊猫而写
rapids - 如何在 GPU DataFrame-cuDF 中应用 if 条件来过滤 DataFrame?
我想根据列值过滤 cuDF 数据框,然后根据指定的条件创建一个新列。基本上,我如何在 cuDF 中应用以下内容?
df.loc[df.column_name condition, 'new column name'] = 'value if condition is met'
python - 如何将 dask.dataframe 预缓存到所有工作人员和分区以减少通信需求
有时它很适合dask.dataframe.map_partitions
用于合并等操作。在某些情况下,在 aleft_df
和 a right_df
using之间进行合并时map_partitions
,我想在执行合并之前进行预缓存right_df
,以减少网络开销/本地改组。有什么明确的方法可以做到这一点吗?感觉应该可以使用 , 或其他一些智能广播中的一个或client.scatter(the_df)
组合client.run(func_to_cache_the_df)
。
left_df
在对一个大得多的大的right_df
(本质上是一个查找表)进行左连接的情况下,这一点尤为突出。感觉这right_df
应该能够读入内存并持久化/分散到合并前的所有工作人员/分区,以减少对跨分区通信的需求,直到最后。我怎样才能分散right_df
成功地做到这一点?
以下是使用 cuDF 和 Dask 进行这种不平衡合并的一个较小示例(但从概念上讲,这与 pandas 和 Dask 相同):
python - 相当于 cuDF 中的 pd.Series.str.slice() 和 pd.Series.apply()
我想将以下代码(在 pandas 中运行)转换为在 cuDF 中运行的代码。
来自被操作系列的样本数据.head()
被插入到第 3 个代码单元格中的 OG 代码中——应该能够复制/粘贴运行。
熊猫中的原始代码
被操纵的数据
调整代码以从该示例数据开始
这是使用上面提供的数据而不是整个数据框时代码的外观。
根据尝试转换时遇到的错误,此问题属于系列级别,因此将下面的单元格转换为在 cuDF 中执行应该可以解决问题。
预期变化(输出)
df_train['census_tractnumber'].head()
df_train['block_number'].head()
series - 如何使用 cudf.Series.applymap()?
有人可以提供一些如何applymap
在 cuDF 系列上使用该方法的示例吗?
以下是从文档中复制的,这里是文档的链接。
pandas - 用什么代替 pandas.Series.filter?
熊猫-> cuDF
将一些为 pandas 编写的 python 转换为在 Rapids 上运行
熊猫
有人知道用什么代替pandas.Series.filter
相同的结果cuDF
吗?
rapids - 将 cuDF 数据框列转换为“真”/“假”值的 1 或 0
我正在使用 RAPIDS(0.9 版本)docker 容器。如何使用 RAPIDS cuDF 执行以下操作?
df['new_column'] = df['column_name'] > condition
df[['new_column']] *= 1
python - 在 Ubuntu 上安装 CUDA + RAPIDS - “没有可用的内核映像”
编辑:在下面的评论中解决。
我正在尝试开始使用 CUDA + RAPIDS。为此,我使用 Ubuntu 18.04 和 NVIDIA Tesla K80 在 Google Compute 上启动了一个 VM。以下是我为了安装软件而运行的命令:
然后我尝试使用 cudf 而不是 pandas 运行一点 Python,我收到以下错误:
我不确定我错过了什么,因为我已经阅读了许多指南,这些指南都说:“你只需要运行这些少数命令,你就可以开始了!” 列出相同的命令。最近,我发现我应该使用 nvcc 从源代码编译 CUDA 驱动程序,但是我在任何地方都找不到显示要使用哪些命令的指南(每个人都指向几百页长的 PDF由 NVIDIA 而不是实际提供有用的命令)。那么,我还需要做什么才能让 CUDA + RAPIDS 在使用 Tesla K80 的 Ubuntu 18.04 系统上运行?
谢谢!
gpu - 在没有 GPU 的情况下运行 RAPIDS 进行开发?
有没有办法在没有 GPU 的情况下运行 RAPIDS?我通常在没有 GPU 的小型本地机器上开发,然后将我的代码推送到功能强大的远程服务器以供实际使用。TensorFlow 之类的东西允许在 CPU 和 GPU 之间切换,具体取决于它们是否可用。可以用 RAPIDS 做同样的事情吗?即使速度很慢,能够在没有 GPU 的机器上进行测试也会非常有帮助。