在tensorflow中冻结权重矩阵中的特定值
假设我有一个权重矩阵,看起来像在tensorflow中冻结权重矩阵中的特定值,tensorflow,Tensorflow,假设我有一个权重矩阵,看起来像[[a,b],[c,d],那么在Tensorflow中是否可以将b和c的值固定为零,这样它们在优化过程中不会改变?有三种方法可以做到这一点,您可以 把你的权重矩阵分解成多个变量,只让其中一些变量可以训练 将常数元素的梯度计算设为零 破解gradient应用程序以重置常量元素的值 有三种方法可以做到这一点,你可以 把你的权重矩阵分解成多个变量,只让其中一些变量可以训练 将常数元素的梯度计算设为零 破解gradient应用程序以重置常量元素的值 一些示例代码: A =
[[a,b],[c,d]
,那么在Tensorflow中是否可以将b
和c
的值固定为零,这样它们在优化过程中不会改变?有三种方法可以做到这一点,您可以
有三种方法可以做到这一点,你可以
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)
实际上,tf.identity
需要在A2之前停止渐变。一些示例代码:
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)
实际上,
tf.identity
需要在A2之前停止梯度。那么你想要一个张量,其中一些值是变量,可训练的,其他值是常量?那么你想要一个张量,其中一些值是变量,可训练的,其他值是常量?