首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >计算时对网络权重的自定义操作

计算时对网络权重的自定义操作
EN

Stack Overflow用户
提问于 2018-06-05 06:03:56
回答 2查看 140关注 0票数 2

我正在使用TensorFlow和Python创建自定义神经网络。在传递每个输入数据之前,我需要对权重和偏差进行更改。网络的架构是常见的(顺序的,有监督的,有反向传播的),唯一的区别是在每次遍历之前,我需要做一些计算。

例如,我有一些输入(x),在我通过网络传递它们并计算网络结果(y)之前,在每次传递中,我需要运行一个函数来改变权重。我的问题是,如何才能做到这一点,在我计算了新的权重和偏差之后,网络将进一步正常地计算其他所有内容(整个网络计算、损失和优化函数)?如果可能,我如何达到权重,然后创建额外的自定义步骤?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-05 11:37:31

您应该首先收集应该在集合like this way中更改的所有权重,或者按名称选择变量,然后可以进行更改,然后将更改后的值分配给原始变量。在sess.run之后,您可以在现实中更改它们。

例如:

代码语言:javascript
复制
t_vars = tf.trainable_variables()
d_vars = [var for var in t_vars if 'this_' in var.name]
clip_D = [p.assign(tf.clip_by_value(p, -1, 1)) for p in d_vars]
票数 1
EN

Stack Overflow用户

发布于 2018-06-05 08:12:42

您可以使用tf.assign操作。链接是here。这种基于元流的blog也很有用。

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

https://stackoverflow.com/questions/50689401

复制
相关文章

相似问题

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