【问题标题】:Rapids.ai / difference of computation with log between Pandas and cudfRapids.ai / Pandas 和 cudf 之间的计算差异
【发布时间】:2022-08-06 17:43:08
【问题描述】:

这是我比较 cudf 和 pandas 性能的代码:

gpuDF2 = cudf.DataFrame({\'col_1\': np.arange(0, 10_000_000), \'col_2\': np.arange(0, 10_000_000)})
pandasDF2= pd.DataFrame({\'col_1\':np.arange(0,10_000_000), \'col_2\':np.arange(0,10_000_000)})
gpuDF2[\'log_2\'] = np.log(gpuDF2[\'col_1\'])
pandasDF2[\'log_1\'] = np.log(pandasDF2[\'col_1\'])

如何在两个计算之间保持一致性?

  • 我无法在当前版本的 cuDF 中重现这一点。
  • 我使用的是谷歌 Colab。你也是 ?
  • Colab 仅支持最高 v21.12 的 RAPIDS。如果您需要免费的 GPU 来运行 cuDF,您可能想尝试 SageMaker Studio Lab。 rapids.ai/start.html

标签: python pandas cupy rapids cudf


【解决方案1】:

我可以复制原始帖子,但为了获得一致的结果,您将需要使用 cupy 而不是 numpy。修复生成相同的答案:

import cudf
import pandas as pd
import cupy

gpuDF2 = cudf.DataFrame({'col_1': np.arange(0, 10_000_000), 'col_2': np.arange(0, 10_000_000)})
pandasDF2= pd.DataFrame({'col_1':np.arange(0,10_000_000), 'col_2':np.arange(0,10_000_000)})
gpuDF2['log_2'] = cupy.log(gpuDF2['col_1'])
pandasDF2['log_1'] = np.log(pandasDF2['col_1'])

# this passes
cupy.testing.assert_array_almost_equal(pandasDF2['log_1'], gpuDF2['log_2'])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-02
    相关资源
    最近更新 更多