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常用函数详解
Sep 13 Python
Python 详解基本语法_函数_返回值
Jan 22 Python
python机器学习案例教程——K最近邻算法的实现
Dec 28 Python
Pycharm+Scrapy安装并且初始化项目的方法
Jan 15 Python
python多线程同步实例教程
Aug 11 Python
python实现智能语音天气预报
Dec 02 Python
python 实现二维字典的键值合并等函数
Dec 06 Python
python基于event实现线程间通信控制
Jan 13 Python
Python在终端通过pip安装好包以后在Pycharm中依然无法使用的问题(三种解决方案)
Mar 10 Python
python tkiner实现 一个小小的图片翻页功能的示例代码
Jun 24 Python
在CentOS7下安装Python3教程解析
Jul 09 Python
Selenium+BeautifulSoup+json获取Script标签内的json数据
Dec 07 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中的类-什么叫类
2006/11/20 PHP
PHP中::、->、self、$this几种操作符的区别介绍
2013/04/24 PHP
PHP运行SVN命令显示某用户的文件更新记录的代码
2014/01/03 PHP
Thinkphp的volist标签嵌套循环使用教程
2014/07/08 PHP
在Windows系统下使用PHP生成Word文档的教程
2015/07/03 PHP
php实现在线通讯录功能(附源码)
2016/05/13 PHP
Zend Framework入门教程之Zend_Registry组件用法详解
2016/12/09 PHP
php实现统计二进制中1的个数算法示例
2018/01/23 PHP
IE8 chrome中table隔行换色解决办法
2010/07/09 Javascript
javascript 兼容所有浏览器的DOM扩展功能
2012/08/01 Javascript
创建、调用JavaScript对象的方法集锦
2014/12/24 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 简史
2015/01/09 Javascript
浅谈JSON.parse()和JSON.stringify()
2015/07/14 Javascript
javascript设计简单的秒表计时器
2020/09/05 Javascript
js弹出框、对话框、提示框、弹窗实现方法总结(推荐)
2016/05/31 Javascript
JS沙箱模式实例分析
2017/09/04 Javascript
JS实现按钮添加背景音乐示例代码
2017/10/17 Javascript
微信小程序scroll-view实现字幕滚动
2018/07/14 Javascript
Node.js 获取微信JS-SDK CONFIG的方法示例
2019/05/21 Javascript
JS实现给数组对象排序的方法分析
2019/06/24 Javascript
BootStrap前端框架使用方法详解
2020/02/26 Javascript
python中异常报错处理方法汇总
2016/11/20 Python
python3如何将docx转换成pdf文件
2018/03/23 Python
Django如何实现上传图片功能
2019/08/16 Python
彻底解决pip下载pytorch慢的问题方法
2021/03/01 Python
html5 css3实例教程 一款html5和css3实现的小机器人走路动画
2014/10/20 HTML / CSS
办公室文秘自我鉴定
2013/09/21 职场文书
物业招聘计划书
2014/01/10 职场文书
企业安全生产承诺书
2014/05/22 职场文书
爱护公物演讲稿
2014/09/09 职场文书
2014最新实习证明模板
2014/10/02 职场文书
践行党的群众路线心得体会
2014/11/05 职场文书
2014年语文教研组工作总结
2014/12/06 职场文书
2016清明节森林防火广播稿
2015/12/17 职场文书
掌握一个领域知识,高效学习必备方法
2019/08/08 职场文书
Python-OpenCV教程之图像的位运算详解
2021/06/21 Python