本文介绍了停止通过keras中的特定图层进行梯度反向支撑的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

x = Conv2D(768, (3, 3), padding='same', activation='relu', kernel_initializer='normal', 
           name='rpn_conv1',trainable=trainable)(base_layers)

x_class = Conv2D(num_anchors, (1, 1), activation='sigmoid', kernel_initializer='uniform', 
                 name='rpn_out_class',trainable=trainable)(x)

    # stop gradient backflow through regression layer
x_regr = Conv2D(num_anchors * 4, (1, 1), activation='linear', kernel_initializer='zero', 
                name='rpn_out_regress',trainable=trainable)(x)

如何单独使用K.stop_gradient()通过回归层(x_reg)停止渐变反向传播?

How to use K.stop_gradient() to stop gradient back-prop via the regression layer (x_reg) alone?

推荐答案

使用自定义函数需要一个Lambda层.

You need a Lambda layer for using custom functions.

x_regr_constant = Lambda(
                          lambda x: K.stop_gradient(x), 
                          output_shape=notNecessaryWithTensorflow
                        )(x_regr)

这篇关于停止通过keras中的特定图层进行梯度反向支撑的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-15 21:19