【发布时间】:2019-03-14 07:46:31
【问题描述】:
在支持 GPU 的 tensorflow 中编写自己的自定义操作时,the guide 建议使用 python 计算梯度。 Elsewhere 人们使用 C++ 和 Eigen 等库以同样的方式更有效地实现渐变。
我的问题是;在 GPU 上训练时,将自定义操作参数张量作为指向设备内存的指针提供(这是正确的吗?):
OpKernelContext* context
const Tensor& grad = context->input(0);
是否可以通过在 GPU 上计算 win CUDA 操作的梯度来避免主机和设备之间的数据复制?
这会减少计算时间吗? (我知道这取决于梯度计算是否适合并行计算,但假设确实如此)
有什么理由不应该这样做吗?/潜在的速度增加是否太微不足道以至于不值得?
【问题讨论】:
标签: c++ tensorflow eigen