绕过SparseApply*的基于gpu梯度的稀疏更新的变通方法——tensorflow中有吗?
从一些上下文开始:绕过SparseApply*的基于gpu梯度的稀疏更新的变通方法——tensorflow中有吗?,tensorflow,gradient-descent,Tensorflow,Gradient Descent,从一些上下文开始: SparseApply*GPU未实现运算符(从0.11开始) 这些操作需要使用动量和ADAM以及其他各种基于梯度的优化器 CPU版本会导致CPU和GPU之间的数据传输和延迟 我希望Momentum/ADAM在一个模型上使用tf.gather在许多地方广泛使用,并且不影响GPU的利用率。我的变量的密集版本不是特别大,特别是与计算图中激活和其他张量使用的内存相比 除了为GPU实施这些SparseApply*ops之外,我想到了一个解决方案,我想听听它是否可行、其他建议或只是一
GPU未实现运算符(从0.11开始)SparseApply*
- 这些操作需要使用动量和ADAM以及其他各种基于梯度的优化器
- CPU版本会导致CPU和GPU之间的数据传输和延迟
tf.gather
在许多地方广泛使用,并且不影响GPU的利用率。我的变量的密集版本不是特别大,特别是与计算图中激活和其他张量使用的内存相比
除了为GPU实施这些SparseApply*
ops之外,我想到了一个解决方案,我想听听它是否可行、其他建议或只是一般性的批评:
D
中跟踪我的模型中的所有模型参数变量tf收集D
中参数的梯度。梯度
编辑:重命名我的问题/标题,以便关键字显示在标题的前面。另一个选项是使用普通tensorflow ops实现这些优化器,并使用District_add进行最终添加,这应该可以工作,因为District_add已在GPU中注册