冻结张量流中权重矩阵中的特定值

时间:2017-09-19 19:07:34

标签: tensorflow

假设我的权重矩阵看起来像b,Tensorflow中是否可以将cfor的值修改为零,以便它们不会发生变化在优化期间?

2 个答案:

答案 0 :(得分:2)

一些示例代码:

A = tf.Variable([[1., 0.], [3., 0.]])
A1 = A[:,0:1] # just some slicing of your variable
A2 = A[:,1:2]
A2_stop = tf.stop_gradient(tf.identity(A2)) 
A = tf.concat((A1, A2_stop), axis=1)

实际上,在A2之前需要tf.identity来停止渐变。

答案 1 :(得分:1)

有三种方法可以做到这一点,你可以

  1. 将您的体重矩阵分解为多个变量,并且只使其中一些可训练。
  2. 将常量元素的梯度计算设为零。
  3. 破解渐变应用程序以重置常量元素的值。