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集合类型用法分析
Apr 08 Python
python简单实现基数排序算法
May 16 Python
Python数据类型详解(四)字典:dict
May 12 Python
Python3.7中安装openCV库的方法
Jul 11 Python
深入理解Django自定义信号(signals)
Oct 15 Python
mac PyCharm添加Python解释器及添加package路径的方法
Oct 29 Python
基于python 微信小程序之获取已存在模板消息列表
Aug 05 Python
对python中UDP,socket的使用详解
Aug 22 Python
python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例
Feb 27 Python
python 代码运行时间获取方式详解
Sep 18 Python
Python中super().__init__()测试以及理解
Dec 06 Python
Python Matplotlib绘制等高线图与渐变色扇形图
Apr 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面向对象重点知识分享
2019/09/27 PHP
JS去除字符串的空格增强版(可以去除中间的空格)
2009/08/26 Javascript
常用的jquery模板插件——jQuery Boilerplate介绍
2014/09/23 Javascript
javascript实现图片延迟加载方法汇总(三种方法)
2015/08/27 Javascript
jquery实现表单验证简单实例演示
2015/11/23 Javascript
JavaScript实现图片滑动切换的代码示例分享
2016/03/06 Javascript
javascript事件冒泡简单示例
2016/06/20 Javascript
JS判断iframe是否加载完成的方法
2016/08/03 Javascript
JavaScript 中 avalon绑定属性总结
2016/10/19 Javascript
将input框中输入内容显示在相应的div中【三种方法可选】
2017/05/08 Javascript
激动人心的 Angular HttpClient的源码解析
2017/07/10 Javascript
JavaScript之事件委托实例(附原生js和jQuery代码)
2017/07/22 jQuery
jquery-file-upload 文件上传带进度条效果
2017/11/21 jQuery
Angular 实现输入框中显示文章标签的实例代码
2018/11/07 Javascript
vue.js循环radio的实例
2019/11/07 Javascript
JS实现购物车基本功能
2020/11/08 Javascript
Vue 实现可视化拖拽页面编辑器
2021/02/01 Vue.js
Python的Flask框架中实现登录用户的个人资料和头像的教程
2015/04/20 Python
Python xlrd读取excel日期类型的2种方法
2015/04/28 Python
django站点管理详解
2017/12/12 Python
python如何让类支持比较运算
2018/03/20 Python
python 对key为时间的dict排序方法
2018/10/17 Python
python实现创建新列表和新字典,并使元素及键值对全部变成小写
2019/01/15 Python
python监控进程状态,记录重启时间及进程号的实例
2019/07/15 Python
pycharm永久激活超详细教程
2020/10/29 Python
Skyscanner英国:苏格兰的全球三大领先航班搜索服务之一
2017/11/09 全球购物
史蒂夫·马登加拿大官网:Steve Madden加拿大
2017/11/18 全球购物
size?荷兰官方网站:英国高级运动鞋精品店
2020/07/24 全球购物
J2EE中的容器都包括哪些
2013/08/21 面试题
运动会广播稿80字
2014/01/23 职场文书
宿舍打麻将检讨书
2014/01/24 职场文书
地震捐款倡议书
2014/08/29 职场文书
教师节校长致辞
2015/07/31 职场文书
2019年个人工作总结范文
2019/03/25 职场文书
Golang表示枚举类型的详细讲解
2021/09/04 Golang
IDEA 2022 Translation 未知错误 翻译文档失败
2022/04/24 Java/Android