tf.truncated_normal与tf.random_normal的详细用法


Posted in Python onMarch 05, 2018

本文介绍了tf.truncated_normal与tf.random_normal的详细用法,分享给大家,具体如下:

tf.truncated_normal

tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)

从截断的正态分布中输出随机值。

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

在正态分布的曲线中,横轴区间(μ-σ,μ+σ)内的面积为68.268949%。

横轴区间(μ-2σ,μ+2σ)内的面积为95.449974%。

横轴区间(μ-3σ,μ+3σ)内的面积为99.730020%。

X落在(μ-3σ,μ+3σ)以外的概率小于千分之三,在实际问题中常认为相应的事件是不会发生的,基本上可以把区间(μ-3σ,μ+3σ)看作是随机变量X实际可能的取值区间,这称之为正态分布的“3σ”原则。

在tf.truncated_normal中如果x的取值在区间(μ-2σ,μ+2σ)之外则重新进行选择。这样保证了生成的值都在均值附近。

参数:

shape: 一维的张量,也是输出的张量。
mean: 正态分布的均值。
stddev: 正态分布的标准差。
dtype: 输出的类型。
seed: 一个整数,当设置之后,每次生成的随机数都一样。
name: 操作的名字。

import tensorflow as tf; 
import numpy as np; 
import matplotlib.pyplot as plt; 
 
c = tf.truncated_normal(shape=[10,10], mean=0, stddev=1) 
 
with tf.Session() as sess: 
  print sess.run(c)

输出:

[[ 1.95758033 -0.68666345 -1.83860338 0.78213859 -1.08119416 -1.44530308
0.38035342 0.57904619 -0.57145643 -1.22899497]
[-0.75853795 0.48202974 1.03464043 1.19210851 -0.15739718 0.8506189
1.18259966 -0.99061841 -0.51968449 1.38996458]
[ 1.05636907 -0.02668529 0.64182931 0.4110294 -0.4978295 -0.64912242
1.27779591 -0.01533993 0.47417602 -1.28639436]
[-1.65927458 -0.364887 -0.45535028 0.078814 -0.30295736 1.91779387
-0.66928798 -0.14847915 0.91875714 0.61889237]
[-0.01308221 -0.38468206 1.34700036 0.64531708 1.15899456 1.09932268
1.22457981 -1.1610316 0.59036094 -1.97302651]
[-0.24886213 0.82857937 0.09046989 0.39251322 0.21155456 -0.27749416
0.18883201 0.08812679 -0.32917103 0.20547724]
[ 0.05388507 0.45474565 0.23398806 1.32670367 -0.01957406 0.52013856
-1.13907862 -1.71957874 0.75772947 -1.01719368]
[ 0.27155915 0.05900437 0.81448066 -0.37997526 -0.62020499 -0.88820189
1.53407145 -0.01600445 -0.4236775 -1.68852305]
[ 0.78942037 -1.32458341 -0.91667277 -0.00963761 0.76824385 -0.5405798
-0.73307443 -1.19854116 -0.66179073 0.26329204]
[ 0.59473759 -0.37507254 -1.21623695 -1.30528259 1.18013096 -1.32077384
-0.59241474 -0.28063133 0.12341146 0.48480138]]

tf.random_normal

tf.random_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)

从正态分布中输出随机值。

参数:

  1. shape: 一维的张量,也是输出的张量。
  2. mean: 正态分布的均值。
  3. stddev: 正态分布的标准差。
  4. dtype: 输出的类型。
  5. seed: 一个整数,当设置之后,每次生成的随机数都一样。
  6. name: 操作的名字。

代码

a = tf.Variable(tf.random_normal([2,2],seed=1))
b = tf.Variable(tf.truncated_normal([2,2],seed=2))
init = tf.global_variables_initializer()
with tf.Session() as sess:
  sess.run(init)
  print(sess.run(a))
  print(sess.run(b))

输出:

[[-0.81131822  1.48459876]
 [ 0.06532937 -2.44270396]]
[[-0.85811085 -0.19662298]
 [ 0.13895047 -1.22127688]]

指定seed之后,a的值不变,b的值也不变。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
基于python元祖与字典与集合的粗浅认识
Aug 23 Python
python中将一个全部为int的list 转化为str的list方法
Apr 09 Python
Python实现的生产者、消费者问题完整实例
May 30 Python
用Python和WordCloud绘制词云的实现方法(内附让字体清晰的秘笈)
Jan 08 Python
使用Python的Turtle绘制哆啦A梦实例
Nov 21 Python
python shapely.geometry.polygon任意两个四边形的IOU计算实例
Apr 12 Python
Jupyter Notebook输出矢量图实例
Apr 14 Python
如何在django中运行scrapy框架
Apr 22 Python
Python爬虫爬取糗事百科段子实例分享
Jul 31 Python
python判断变量是否为列表的方法
Sep 17 Python
Docker如何部署Python项目的实现详解
Oct 26 Python
python制作一个简单的gui 数据库查询界面
Nov 19 Python
用tensorflow搭建CNN的方法
Mar 05 #Python
利用TensorFlow训练简单的二分类神经网络模型的方法
Mar 05 #Python
python使用Pycharm创建一个Django项目
Mar 05 #Python
python爬虫基本知识
Mar 05 #Python
用tensorflow构建线性回归模型的示例代码
Mar 05 #Python
详解python实现线程安全的单例模式
Mar 05 #Python
分析python动态规划的递归、非递归实现
Mar 04 #Python
You might like
php魔术方法与魔术变量、内置方法与内置变量的深入分析
2013/06/03 PHP
PHP eval函数使用介绍
2013/12/08 PHP
linux实现php定时执行cron任务详解
2013/12/24 PHP
php修改文件上传限制方法汇总
2015/04/07 PHP
php 解决substr()截取中文字符乱码问题
2016/07/18 PHP
JSON两种结构之对象和数组的理解
2016/07/19 PHP
php 可变函数使用小结
2018/06/12 PHP
关于Curl在Swoole协程中的解决方案详析
2019/09/12 PHP
node.js中的http.createClient方法使用说明
2014/12/15 Javascript
推荐一款jQuery插件模板
2015/01/09 Javascript
微信浏览器内置JavaScript对象WeixinJSBridge使用实例
2015/05/25 Javascript
JavaScript使用RegExp进行正则匹配的方法
2015/07/11 Javascript
Clipboard.js 无需Flash的JavaScript复制粘贴库
2015/10/02 Javascript
bootstrap学习使用(导航条、下拉菜单、轮播、栅格布局等)
2016/12/01 Javascript
jQuery层级选择器_动力节点节点Java学院整理
2017/07/04 jQuery
微信小程序三级联动地址选择器的实例代码
2017/07/12 Javascript
AngularJS遍历获取数组元素的方法示例
2017/11/11 Javascript
React Native中NavigatorIOS组件的简单使用详解
2018/01/27 Javascript
浅析Visual Studio Code断点调试Vue
2018/02/27 Javascript
nodeJS服务器的创建和重新启动的实现方法
2018/05/12 NodeJs
Element-UI+Vue模式使用总结
2020/01/02 Javascript
利用PHP实现递归删除链表元素的方法示例
2020/10/23 Javascript
Python新手在作用域方面经常容易碰到的问题
2015/04/03 Python
python 网络编程详解及简单实例
2017/04/25 Python
Python Requests模拟登录实现图书馆座位自动预约
2018/04/27 Python
Python unittest单元测试框架总结
2018/09/08 Python
Python中is和==的区别详解
2018/11/15 Python
python3 property装饰器实现原理与用法示例
2019/05/15 Python
10分钟教你用python动画演示深度优先算法搜寻逃出迷宫的路径
2019/08/12 Python
对Pytorch中nn.ModuleList 和 nn.Sequential详解
2019/08/18 Python
Python3 A*寻路算法实现方式
2019/12/24 Python
关于HTML5的22个初级技巧(图文教程)
2012/06/21 HTML / CSS
可口可乐唇膏:Lip Smackers
2019/08/27 全球购物
Made in Design德国:设计师家具、灯具和装饰
2019/10/31 全球购物
小学运动会开幕词
2015/01/28 职场文书
庆七一晚会主持词
2015/06/30 职场文书