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利用pyHook实现监听用户鼠标与键盘事件
Aug 21 Python
Python二分法搜索算法实例分析
May 11 Python
python运行时间的几种方法
Jun 17 Python
Mac中升级Python2.7到Python3.5步骤详解
Apr 27 Python
使用Python开发SQLite代理服务器的方法
Dec 07 Python
python实现连续图文识别
Dec 18 Python
Python Django 实现简单注册功能过程详解
Jul 29 Python
Pycharm 2020最新永久激活码(附最新激活码和插件)
Sep 17 Python
PyCharm汉化安装及永久激活详细教程(靠谱)
Jan 16 Python
Python selenium爬取微博数据代码实例
May 22 Python
python计算auc的方法
Sep 09 Python
pycharm 2020.2.4 pip install Flask 报错 Error:Non-zero exit code的问题
Dec 04 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
收音机史话 - 1960年代前后的DIY
2021/03/02 无线电
php冒泡排序与快速排序实例详解
2015/12/07 PHP
php中str_pad()函数用法分析
2017/03/28 PHP
PHP与以太坊交互详解
2018/08/24 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
2020/02/27 PHP
js继承 Base类的源码解析
2008/12/30 Javascript
Iframe实现跨浏览器自适应高度解决方法
2014/09/02 Javascript
EasyUI,点击开启编辑框,并且编辑框获得焦点的方法
2015/03/01 Javascript
对象转换为原始值的实现方法
2016/06/06 Javascript
基于BootStrap栅格栏系统完成网站底部版权信息区
2016/12/23 Javascript
微信小程序 定位到当前城市实现实例代码
2017/02/23 Javascript
jQuery实现贪吃蛇小游戏(附源码下载)
2017/03/04 Javascript
JavaScript实现AOP详解(面向切面编程,装饰者模式)
2017/12/19 Javascript
vue slot 在子组件中显示父组件传递的模板
2018/03/02 Javascript
详解VUE 对element-ui中的ElTableColumn扩展
2018/03/28 Javascript
vue项目中自定义video视频控制条的实现代码
2020/04/26 Javascript
Vue $emit()不能触发父组件方法的原因及解决
2020/07/28 Javascript
用Python写的图片蜘蛛人代码
2012/08/27 Python
Python自定义线程类简单示例
2018/03/23 Python
Python迭代器与生成器用法实例分析
2018/07/09 Python
python生成13位或16位时间戳以及反向解析时间戳的实例
2020/03/03 Python
python GUI库图形界面开发之PyQt5结合Qt Designer创建信号与槽的详细方法与实例
2020/03/08 Python
django中related_name的用法说明
2020/05/20 Python
Pycharm-community-2020.2.3 社区版安装教程图文详解
2020/12/08 Python
调解员先进事迹材料
2014/02/07 职场文书
测试工程师程序员求职信范文
2014/02/20 职场文书
合作意向书范本
2014/03/31 职场文书
股权转让协议书
2014/04/12 职场文书
同居协议书范本
2014/04/23 职场文书
中学生英语演讲稿
2014/04/26 职场文书
反邪教标语
2014/06/23 职场文书
十八大宣传标语
2014/10/09 职场文书
2014年学生会部门工作总结
2014/11/07 职场文书
运动会闭幕词
2015/01/28 职场文书
2015大学党建带团建工作总结
2015/07/23 职场文书
漫画「日和酱的要求是绝对的」第3卷封面公开
2022/03/21 日漫