• [tf] tensorflow中dropout小坑记录


    tensorflow中dropout小坑记录

    几天看别人写的代码,有几行总觉得没什么用,自己写了小程序测试了下,果然。
    虽然平时这么写的人不多,但是还是记录下吧。
    对tensorflow使用时要转变下思维,和平时写的C++不太一样,只是建立了一个静态图。

    1. 在list中进行for循环,内部操作是局部变量操作,与原list无关。
    2. tf.nn.dropout操作,在随机舍掉部分节点的同时为了保证输出值的平稳会将保留下的节点数据除以keep_prob进行扩大。
    3. 赋值操作即使赋值给原数据,也是两个op节点,空间变量名是不相同的。

    code

    import tensorflow as tf
    a1 = tf.get_variable(name='a1', shape=[2,3],
            initializer=tf.random_normal_initializer(mean=0, stddev=1,seed = 1))  
    a3 = tf.get_variable(name='a3', shape=[2,3], initializer=tf.ones_initializer())  
    d = [a1,a3]
    for i in d:
        i = tf.nn.dropout(i,keep_prob=0.4)
    super_d = tf.concat(d,1)
    super_d2 = super_d
    print("haha1")
    print(super_d)
    super_d = tf.nn.dropout(super_d,keep_prob = 0.5)
    print("haha2")
    print(super_d)
    with tf.Session() as sess:
        sess.run(tf.global_variables_initializer())
        print('*******d*********')
        print(sess.run(d))
        print('*******super_d*********')
        print(sess.run(super_d))
        print('*******super d2*********')
    	print(sess.run(super_d2))
    

    output

    haha1
    Tensor("concat:0", shape=(2, 6), dtype=float32)
    haha2
    Tensor("dropout_2/mul:0", shape=(2, 6), dtype=float32)
    *******d*********
    [array([[-0.81131822,  1.48459876,  0.06532937],
           [-2.4427042 ,  0.0992484 ,  0.59122431]], dtype=float32), array([[ 1.,  1.,  1.],
           [ 1.,  1.,  1.]], dtype=float32)]
    *******super_d*********
    [[-1.62263644  2.96919751  0.13065875  0.          0.          0.        ]
     [-0.          0.          1.18244863  0.          2.          2.        ]]
    *******super d2*********
    [[-0.81131822  1.48459876  0.06532937  1.          1.          1.        ]
     [-2.4427042   0.0992484   0.59122431  1.          1.          1.        ]]
    
  • 相关阅读:
    删除git上已经提交的文件
    spark安装
    Ganglia+nagios 监控hadoop资源与报警
    自定义标签库开发与el表达式
    JavaBean与MVC
    Jsp-查漏补缺
    HttpSession
    Cookie
    HttpServleRequest
    Servlet学习-查漏补缺
  • 原文地址:https://www.cnblogs.com/zhanxiage1994/p/7912063.html
Copyright © 2020-2023  润新知