【问题标题】:Fast Cross Entropy in NumpyNumpy中的快速交叉熵
【发布时间】:2020-06-23 23:44:06
【问题描述】:

我提出了两个版本的交叉熵,一个是矢量化点积格式,另一个是您在任何 ML 讲座中都会看到的典型版本。我正在尝试加速我的算法,因此会利用任何机会来加速它。

  cost = -(1.0/m) * np.sum(Y*np.log(A) + (1-Y)*np.log(1-A))

    Vectorized Version
  cost = -(1.0/m) * (np.dot(np.log(A), Y.T) + np.dot(np.log(1-A), (1-Y).T))

我的问题:考虑到 Numpy 库的架构和其他约束,上述交叉熵损失的哪一种实现计算速度最快。

【问题讨论】:

  • 刚刚编辑过。

标签: numpy machine-learning


【解决方案1】:

了解标签的典型值有助于进行基准测试。如果标签太短,纯 python 实现实际上可能比使用 NumPy 更快

回到您的问题,我想说点积已经是标量(单个数字),“np 点样式”中不需要 np.sum(对其他样式的产品数组求和 - see) ”。

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2019-07-13
    • 2020-01-03
    • 2021-10-24
    • 2017-03-04
    • 2017-12-26
    • 2019-03-23
    • 2016-09-18
    • 2017-11-13
    • 2021-08-25
    相关资源
    最近更新 更多