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 相关文章推荐
浅谈Django REST Framework限速
Dec 12 Python
Python实现的径向基(RBF)神经网络示例
Feb 06 Python
Ubuntu下使用Python实现游戏制作中的切分图片功能
Mar 30 Python
Python从使用线程到使用async/await的深入讲解
Sep 16 Python
对python的bytes类型数据split分割切片方法
Dec 04 Python
Python使用修饰器进行异常日志记录操作示例
Mar 19 Python
python 实现手机自动拨打电话的方法(通话压力测试)
Aug 08 Python
python 函数的缺省参数使用注意事项分析
Sep 17 Python
python打包成so文件过程解析
Sep 28 Python
python三引号如何输入
Jul 06 Python
对Python 字典元素进行删除的方法
Jul 31 Python
Python特殊属性property原理及使用方法解析
Oct 09 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入门教程 精简版
2009/12/13 PHP
通用PHP动态生成静态HTML网页的代码
2010/03/04 PHP
采集邮箱的php代码(抓取网页中的邮箱地址)
2012/07/17 PHP
sql注入与转义的php函数代码
2013/06/17 PHP
php获取文章上一页与下一页的方法
2014/12/01 PHP
yii gridview实现时间段筛选功能
2017/08/15 PHP
PHP实现的二分查找算法实例分析
2017/12/19 PHP
jQuery 判断元素上是否绑定了事件
2009/10/28 Javascript
JavaScript instanceof 的使用方法示例介绍
2013/10/23 Javascript
jquery下div 的resize事件示例代码
2014/03/09 Javascript
jQuery选择器源码解读(六):Sizzle选择器匹配逻辑分析
2015/03/31 Javascript
jQuery实现带滑动条的菜单效果代码
2015/08/26 Javascript
jquery简单实现带渐显效果的选项卡菜单代码
2015/09/01 Javascript
轮播图组件js代码
2016/08/08 Javascript
原生javascript实现的全屏滚动功能示例
2017/09/19 Javascript
node使用promise替代回调函数
2018/05/07 Javascript
浅谈VUE-CLI脚手架热更新太慢的原因和解决方法
2018/09/28 Javascript
angular4笔记系列之内置指令小结
2018/11/09 Javascript
JavaScript 九种跨域方式实现原理
2019/02/11 Javascript
浅谈vue中resetFields()使用注意事项
2020/08/12 Javascript
[54:06]OG vs TNC 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python网络编程学习笔记(九):数据库客户端 DB-API
2014/06/09 Python
跟老齐学Python之print详解
2014/09/28 Python
使用Python编写Linux系统守护进程实例
2015/02/03 Python
Python通过OpenCV的findContours获取轮廓并切割实例
2018/01/05 Python
浅谈Python在pycharm中的调试(debug)
2018/11/29 Python
html5 Canvas画图教程(7)—canvas里画曲线之quadraticCurveTo方法
2013/01/09 HTML / CSS
什么是动态端口(Dynamic Ports)?动态端口的范围是多少?
2014/12/12 面试题
大学生简历的个人自我评价
2013/12/04 职场文书
高等教育学自荐书范文
2014/02/10 职场文书
有关骆驼祥子的读书笔记
2015/06/26 职场文书
奖学金主要事迹范文
2015/11/04 职场文书
合作意向书范本
2019/04/17 职场文书
导游词之烟台威海蓬莱
2019/11/14 职场文书
利用ajax+php实现商品价格计算
2021/03/31 PHP
十大公认最好看的动漫:《咒术回战》在榜,《钢之炼金术师》第一
2022/03/18 日漫