计算时对网络权重进行自定义操作

时间:2018-06-04 22:03:56

标签: python tensorflow neural-network

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

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

2 个答案:

答案 0 :(得分:1)

您可以使用tf.assign操作。链接是here。 metaflow的这个blog也很有用。

答案 1 :(得分:1)

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

例如:

__exit__