有人知道如何更新前向传播中使用的权重的子集(即只更新一些索引)吗?
我的猜测是,在应用compute_gradients之后,我可能可以这样做,如下所示:
optimizer = tf.train.GradientDescentOptimizer(learning_rate=learning_rate)
grads_vars = optimizer.compute_gradients(loss, var_list=[weights, bias_h, bias_v])然后,...and对grads_vars中的元组列表执行一些操作。
发布于 2021-07-24 17:11:15
# in TF2.0 you can solve with "tensor_scatter_nd_update"
# for example:
tensor = [0, 0, 0, 0, 0, 0, 0, 0] # tf.rank(tensor) == 1
indices = [[1], [3], [4], [7]] # num_updates == 4, index_depth == 1
updates = [9, 10, 11, 12] # num_updates == 4
print(tf.tensor_scatter_nd_update(tensor, indices, updates))
# tf.Tensor([ 0 9 0 10 11 0 0 12], shape=(8,), dtype=int32)https://stackoverflow.com/questions/34935464
复制相似问题