zoukankan      html  css  js  c++  java
  • trunc_normal = lambda stddev: tf.truncated_normal_initializer(0.0, stddev)解析

    欢迎关注WX公众号:【程序员管小亮】

    在读Inception代码的时候,遇到代码,

    import tensorflow as tf
    
    slim = tf.contrib.slim
    trunc_normal = lambda stddev: tf.truncated_normal_initializer(0.0, stddev)
    

    分享一下它的工作原理。

    1、首先是引入TensorFlow模块

    2、lambda表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数。

    add = lambda x, y : x+y
    add(1,2)  # 结果为3
    

    等价于函数

    def a(x, y):
        return x + y
    print(a(1, 2))
    

    3、tf.truncated_normal_initializer 从截断的正态分布中输出随机值。

    生成的值服从具有指定平均值和标准偏差的正态分布,如果生成的值大于平均值2个标准偏差的值则丢弃重新选择。

    ARGS:

    mean:一个python标量或一个标量张量。(要生成的随机值的均值)

    stddev:一个python标量或一个标量张量。(要生成的随机值的标准偏差)

    seed:一个Python整数。用于创建随机种子。(查看 tf.set_random_seed 行为)

    dtype:数据类型。(只支持浮点类型)

    那么这一个函数trunc_normal就是返回 tf.truncated_normal_initializer(0.0, stddev)的值,最后产生一个平均值为0.0,标准差为stddev的截断的正太分布。

    4、具体使用这个函数的时候调用tensorflow的tf.contrib.slim就很方便啦。

    slim = tf.contrib.slim
    

    python课程推荐。
    在这里插入图片描述

  • 相关阅读:
    Http中的patch
    如何实现腾讯地图的路径规划功能?
    各类数据库分页SQL语法
    ABC222F
    ABC222 G
    LG5308 [COCI2019] Quiz(wqs二分+斜率优化DP)
    [USACO21OPEN] Portals G(Kruskal)
    【做题笔记】SP27379 BLUNIQ
    【做题笔记】CF938C Constructing Tests
    CSP-J/S2021 自闭记
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13302858.html
Copyright © 2011-2022 走看看