zoukankan      html  css  js  c++  java
  • tf.nn.l2_loss()的用法

    l2_loss()这个函数的作用是利用L2范数来计算张量的误差值,但是没有开发并且只取L2范数的值的一半

    函数:

    tf.nn.l2_loss(

        t,

        name=None

    )

    参数:

    t:一个张量(tensor),类型可以为:half, bfloat16, float32, float64

    name:op的一个名字,即为这个操作取个名字

    作用:使用sqrt计算张量的L2范数的一半

    输出:

    一个tensor,数据类型和t相同,是一个标量

    计算公式:

    output = sum(t**2)/2

    简单的可以理解成张量中的每一个元素进行平方,然后求和,最后乘一个1/2

    l2_loss一般用于优化目标函数中的正则项,防止参数太多复杂容易过拟合(所谓的过拟合问题是指当一个模型很复杂时,它可以很好的“记忆”每一个训练数据中的随机噪声的部分而忘记了要去“学习”训练数据中通用的趋势)

    import tensorflow as tf
    x = tf.constant([1,2,3],dtype=tf.float32)
    with tf.Session() as sess:
        print(sess.run(tf.nn.l2_loss(x)))

    1/2(1**2+2**2+3**2) = 1/2(1+4+9) = 7.0

  • 相关阅读:
    [NOI2016] 网格
    [十二省联考2019]春节十二响
    wordcloud的方法参数归纳汇总
    选择困难症
    连通能力
    [Tjoi2017]城市
    bzoj3732 Network
    bzoj3252 攻略
    Noip2018旅行
    [HEOI2015]兔子与樱花
  • 原文地址:https://www.cnblogs.com/tingtin/p/12552026.html
Copyright © 2011-2022 走看看