首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在批处理更新过程中缩放keras的梯度?

如何在批处理更新过程中缩放keras的梯度?
EN

Stack Overflow用户
提问于 2018-12-06 23:45:23
回答 1查看 518关注 0票数 3

我使用的是一个标准的keras模型,我正在进行批处理培训(使用train_on_batch函数)。现在,我想获取批处理中每个元素的梯度,并对其进行缩放(将每个样本梯度乘以我所拥有的样本特定值),并且在每个梯度被缩放之后,它可以被求和并用于更新现有的权重。不管怎么说,有这个给定的角函数吗?如果没有,有没有办法让我用tensorflow来操纵这个?(给出了模型,其余的都是用keras编写的)

这个函数如下所示(循环是为了说明它发生在批处理中的所有样本)

代码语言:javascript
运行
复制
grad = 0, w= #array of size batch_size
for i in batch_size:
    grad <- grad + w_i*grad_i
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-07 00:02:25

  • 在模型的sample_weights方法中使用fit参数。
  • 或者,如果使用生成器,则使生成器不仅返回X_train, y_train,而且返回X_train, y_train, sample_weights

在这两种情况下,sample_weights应该是一个一维向量,与数据的样本数相同。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53661344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档