Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Keras 如何访问小批量中每个示例的渐变?_Keras_Theano - Fatal编程技术网

Keras 如何访问小批量中每个示例的渐变?

Keras 如何访问小批量中每个示例的渐变?,keras,theano,Keras,Theano,我正在为Keras编写一个优化器,并希望某些参数的更新取决于minibatch中梯度的统计信息。因此,我需要一些方法来访问minibatch中每个示例的渐变 有没有一种优雅的方式可以做到这一点,例如,在Theano?我现在不知道该怎么做theano.gradients.grad将一个完整的小批量张量作为输入/输出,但如果不完全重新定义所有操作和grad,就无法单独访问每个梯度 或者,在Keras中有没有一种不优雅的方式可以做到这一点?我可以从优化器的get\u gradients中调用keras

我正在为Keras编写一个优化器,并希望某些参数的更新取决于minibatch中梯度的统计信息。因此,我需要一些方法来访问minibatch中每个示例的渐变

有没有一种优雅的方式可以做到这一点,例如,在Theano?我现在不知道该怎么做
theano.gradients.grad
将一个完整的小批量张量作为输入/输出,但如果不完全重新定义所有操作和
grad
,就无法单独访问每个梯度

或者,在Keras中有没有一种不优雅的方式可以做到这一点?我可以从优化器的
get\u gradients
中调用
keras.model.train\u on\u batch
,但这需要我能够从优化器中访问输入数据。目前情况并非如此;输入不是
模型的属性,因此无法访问。因此,代理问题是如何从优化器中访问小批量输入/输出?

目前,这种不雅观的方式可能效率极低。更重要的是,我要弄清楚这个优化算法是否真的有效