[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.        ]]
时间: 2024-11-05 11:27:03

[tf] tensorflow中dropout小坑记录的相关文章

NSMutableDictionary中的小坑与初始化方法详解

今天来讲NSMutableDictionary这个基础,是因为在今天的开发中遇到了一个小小的坑,当发现了这个问题后,着实觉得很不应该,所以在这里做一个记录,也同时同他人分享,少走我的弯路.本案例代码上传至 https://github.com/chenyufeng1991/InitNSMutableDictionary  . 今天遇到的问题是这样的,某个方法返回两种结果,NSMutableDictionary或者nil,当然我是用NSMutableDictionary类型来接收返回值.当我要对这

HTML和CSS中的小坑需注意

iphone6发布,新一轮移动端的适配又要开始了,小伙伴们纷纷 言归正传,浏览器版本的更新加上技术的发展导致一些我们用到的属性突然失效或者出现意想不到的事情,今天就说那么几个我遇到的 One:-webkit-text-size-adjust:none/100% 这个属性是用来解决chrome下无法设置字体小于12px的,但PC端chrome27的时候停止了对其的支持,所以以前设置的在现在就无效了,不过移动端还是可以使用的,亲测三星盖世自带的安卓浏览器和iphone的safari还是支持这个属性,

python3中的小坑一个,八进制数值的表达

在python2 中 os.chmod('/root/text',0744) 可以直接改文件权限 在python3中 os.chmod('/root/text',0744) SyntaxError: invalid token 翻墙谷歌了下 顺便再次祝病魔早日战胜方教授 python3 中必须用 0o744 这样的方式 没错.数字零加字幕o 结果 os.chmod('/root/text',0o744) ll -d /root/text -rwxr--r-- 1 root root 0 Apr

jquery事件委托遇到的小坑记录

<script type="text/javascript" src="../../lib/jquery-1.11.2.min.js"></script> $(document).on('click',"li", function() { //do something }); 这样的写法,在pc,安卓上都是木有问题的,但在苹果手机,平板上就没有效果, 改成: $("div#id").on('click'

CentOS安装时小坑记录

在安装CentOS的时候,由于第一次安装小白,将VM虚拟机的内存设置为512M,导致进行安装的时候无法进入正常的画面安装模式,只能使用简版安装界面,可能对于很多小白不是很熟悉,特此记录,安装CentOS如果出现的画面不是该画面,而是一个选择项式的提示画面就是问题,这个问题是由于VM虚拟机的内存给的太少,当时我给定的内存为512M,但是,经过网友介绍,这个内存在CentOS需要大于628M才能启动该画面,调整内存为800M,进入该画面成功 网友地址:http://www.osyunwei.com/

php 小坑记录

1 empty  PHP<=5.5不能用于判断一个表达式的执行结果并且netbeans 和eclipse编辑器识别不出来此错误 含有此用法的 类 和页面将会报错 1 empty($this->data)//error 2 empty($data) //succ

微信小程序 之wx.getLocation()获取地理信息中的小坑

提到wx.getLocation()这个方法,大家都知道是获取地理信息的 今天用这个方法获取定位经纬度后传给后台取得附近markers标记集合, 在开发工具上都正常有标记出现 ,但是在手机测试时,死活没有显示 , 最后发现是在手机测试时,后台已经报参数不合法抛出错误通知了 原因是因为,在开发工具上获取经纬度只有小数点后5位,而我们传给后台接口的数据规定只有后6位, 这在开发工具上是正常可以请求成功,但是在手机上测试时,定位更加精确,例如"longitude":"121.534

【Swift】iOS开发小坑历险记(二)

前言 这个系列主要是一些开发中遇到的坑记录分享,有助于初学者跨过这些坑,攒够 7 条发一篇. 声明  欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com 正文 1.用动画更新约束没有动画效果? 缺少 layoutIfNeeded ,事例: UIView.animateWithDuration(0.15, animations: { () -> Void in self.heightConst

【tf.keras】tf.keras使用tensorflow中定义的optimizer

我的 tensorflow+keras 版本: print(tf.VERSION) # '1.10.0' print(tf.keras.__version__) # '2.1.6-tf' tf.keras 没有实现 AdamW,即 Adam with Weight decay.论文<DECOUPLED WEIGHT DECAY REGULARIZATION>提出,在使用 Adam 时,weight decay 不等于 L2 regularization.具体可以参见 当前训练神经网络最快的方式