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的Flask框架实现视频的流媒体传输
Mar 31 Python
网红编程语言Python将纳入高考你怎么看?
Jun 07 Python
python 实时得到cpu和内存的使用情况方法
Jun 11 Python
[原创]Python入门教程5. 字典基本操作【定义、运算、常用函数】
Nov 01 Python
python实现弹跳小球
May 13 Python
详解python中__name__的意义以及作用
Aug 07 Python
python super函数使用方法详解
Feb 14 Python
PyTorch在Windows环境搭建的方法步骤
May 12 Python
python 写一个文件分发小程序
Dec 05 Python
基于Python 函数和方法的区别说明
Mar 24 Python
在前女友婚礼上,用Python破解了现场的WIFI还把名称改成了
May 28 Python
基于Python实现nc批量转tif格式
Aug 14 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的ob_start();控制您的浏览器cache!
2006/11/25 PHP
php生成随机密码的三种方法小结
2010/09/04 PHP
作为PHP程序员应该了解MongoDB的五件事
2013/06/03 PHP
php实现微信公众号无限群发
2015/10/11 PHP
PHP 芝麻信用接入的注意事项
2016/12/01 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
jQuery 写的简单打字游戏可以提示正确和错误的次数
2014/07/01 Javascript
jQuery中$.each使用详解
2015/01/29 Javascript
javascript弹出窗口实现代码
2015/11/12 Javascript
js eval函数使用,js对象和字符串互转实例
2017/03/06 Javascript
js鼠标跟随运动效果
2017/03/11 Javascript
JavaScript评论点赞功能的实现方法
2017/03/13 Javascript
JavaScript数据类型的存储方法详解
2017/08/25 Javascript
Angular使用Md5加密的解决方法
2017/09/16 Javascript
Mint UI组件库CheckList使用及踩坑总结
2018/12/20 Javascript
浅谈TypeScript的类型保护机制
2020/02/23 Javascript
关于JavaScript数组去重的一些理解汇总
2020/09/10 Javascript
[06:37]2014DOTA2国际邀请赛 昔日王者渴望重回巅峰
2014/07/12 DOTA
简单介绍Python中的floor()方法
2015/05/15 Python
在Python程序中操作文件之flush()方法的使用教程
2015/05/24 Python
Python日期的加减等操作的示例
2017/08/15 Python
Python多进程multiprocessing用法实例分析
2017/08/18 Python
python机器学习之神经网络(三)
2017/12/20 Python
解决phantomjs截图失败,phantom.exit位置的问题
2018/05/17 Python
Python中asyncio与aiohttp入门教程
2018/10/16 Python
python主线程与子线程的结束顺序实例解析
2019/12/17 Python
opencv 图像轮廓的实现示例
2020/07/08 Python
Notino瑞典:购买香水和美容产品
2019/07/26 全球购物
Ajax请求总共有多少种Callback
2016/07/17 面试题
客房主管岗位职责
2013/12/09 职场文书
大一学生的职业生涯规划书范文
2014/01/19 职场文书
我的中国梦演讲稿小学篇
2014/08/19 职场文书
政府班子四风问题整改措施思想汇报
2014/10/08 职场文书
住房公积金贷款工资证明
2015/06/12 职场文书
中学语文教学反思
2016/02/16 职场文书
Java中多线程下载图片并压缩能提高效率吗
2021/07/01 Java/Android