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 正则式使用心得
May 07 Python
在Python中操作字符串之rstrip()方法的使用
May 19 Python
Python实现八大排序算法
Aug 13 Python
关于pip的安装,更新,卸载模块以及使用方法(详解)
May 19 Python
mac下如何将python2.7改为python3
Jul 13 Python
Python告诉你木马程序的键盘记录原理
Feb 02 Python
Python实现将蓝底照片转化为白底照片功能完整实例
Dec 13 Python
python实现高斯投影正反算方式
Jan 17 Python
关于windows下Tensorflow和pytorch安装教程
Feb 04 Python
Python文件操作方法详解
Feb 09 Python
Python web如何在IIS发布应用过程解析
May 27 Python
python学习之panda数据分析核心支持库
May 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
评分9.0以上的动画电影,剧情除了经典还很燃
2020/03/04 日漫
PHP读取汉字的点阵数据
2015/06/22 PHP
ext combox 下拉框不出现自动提示,自动选中的解决方法
2010/02/24 Javascript
可以用来调试JavaScript错误的解决方案
2010/08/07 Javascript
javascript 二进制运算技巧解析
2012/11/27 Javascript
js优化针对IE6.0起作用(详细整理)
2012/12/25 Javascript
JS阻止冒泡事件以及默认事件发生的简单方法
2014/01/17 Javascript
基于javascript实现图片预加载
2016/01/05 Javascript
详解jQuery中的empty、remove和detach
2016/04/11 Javascript
使用JS实现图片展示瀑布流效果的实例代码
2016/09/12 Javascript
JavaScript模板引擎Template.js使用详解
2016/12/15 Javascript
webpack配置之后端渲染详解
2017/10/26 Javascript
微信小程序 数据缓存实现方法详解
2019/08/26 Javascript
weui中的picker使用js进行动态绑定数据问题
2019/11/06 Javascript
你可能从未使用过的11+个JavaScript特性(小结)
2020/01/08 Javascript
[02:28]DOTA2亚洲邀请赛附加赛 RECAP赛事回顾
2015/01/29 DOTA
python中定义结构体的方法
2013/03/04 Python
Python(Tornado)模拟登录小米抢手机
2013/11/12 Python
Python中遍历字典过程中更改元素导致异常的解决方法
2016/05/12 Python
python绘制简单折线图代码示例
2017/12/19 Python
详解Python3注释知识点
2019/02/19 Python
11个Python3字典内置方法大全与示例汇总
2019/05/13 Python
Django forms表单 select下拉框的传值实例
2019/07/19 Python
python tkinter之 复选、文本、下拉的实现
2020/03/04 Python
Python爬取YY评级分数并保存数据实现过程解析
2020/06/01 Python
Python连接Mysql进行增删改查的示例代码
2020/08/03 Python
python 基于wx实现音乐播放
2020/11/24 Python
python3列表删除大量重复元素remove()方法的问题详解
2021/01/04 Python
什么是数据抽象
2016/11/26 面试题
国际贸易毕业生求职信范文
2014/02/21 职场文书
股份转让协议书范本
2015/01/27 职场文书
培训计划通知
2015/07/15 职场文书
银行岗位培训心得体会
2016/01/09 职场文书
vue组件的路由高亮问题解决方法
2021/05/11 Vue.js
python基础之错误和异常处理
2021/10/24 Python
Windows 11要来了?微软文档揭示Win11太阳谷 / Win10有两个不同版本
2021/11/21 数码科技