Java教程

tensorflo实现Droppath

本文主要是介绍tensorflo实现Droppath,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
# def drop_path(inputs, keep_prob, is_training=True, scope=None):
def drop_path(inputs, keep_prob, is_training=True):
    """Drops out a whole example hiddenstate with the specified probability.
    """
    # with tf.name_scope(scope, 'drop_path', [inputs]):
    net = inputs
    if is_training:
        batch_size = tf.shape(net)[0]
        noise_shape = [batch_size, 1, 1, 1]
        random_tensor = keep_prob
        random_tensor += tf.random_uniform(noise_shape, dtype=tf.float32)
        binary_tensor = tf.floor(random_tensor)
        net = tf.div(net, keep_prob) * binary_tensor
    return net


class DropPath(keras.layers.Layer):
    def __init__(self, drop_prob=None):
        super(DropPath, self).__init__()
        self.drop_prob = drop_prob

    def call(self, inputs,training=None):
        return drop_path(inputs, self.drop_prob, training)

 

搜索

复制

这篇关于tensorflo实现Droppath的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!