Применение градиента одного слоя к предыдущему слою во время backprop
Я пытаюсь обойти градиент от слоя слияния (сделав его равным нулю) и применить градиент следующей области "оценка объема" на слое слияния на backprop. Я не мог найти похожий сценарий, чтобы применить его. Как я могу это сделать?
graph = tf.Graph ()
def comp (image1, image2):
with tf.variable_scope("conv1") as scope:
conv2a = conv2d(image1, [3, 3, 3, 16], strides=2)
scope.reuse_variables()
conv2b = conv2d(image2, [3, 3, 3, 16], strides=2)
with tf.name_scope("merge"):
# The gradient for this layer should not pass throug. Like making it 0
w = tf.get_variable("weights", kernel, initializer=initializer)
v = tf.nn.conv2d(image1*image2, w, strides=[1, 1, 1, 1], padding='SAME')
with tf.name_scope("estimate"):
def func(v):
L=v
A1 = 2*L**2 # No gradient must be performed
A2 = L**2/2-1 # No gradient must be performed
AA1 = A1*A1 # No gradient must be performed
AA2 = A2*A2 # No gradient must be performed
# A11A2 = A1*A2
v = v+ AA1+AA2 # gradient must be performed, and must be applied on the previous layer
return v
with tf.name_scope("FCN_layer"):
.......