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中xrange用法分析
Apr 15 Python
在Python中操作日期和时间之gmtime()方法的使用
May 22 Python
Python中的集合类型知识讲解
Aug 19 Python
Python中使用装饰器来优化尾递归的示例
Jun 18 Python
Python解析excel文件存入sqlite数据库的方法
Nov 15 Python
Python实现定时精度可调节的定时器
Apr 15 Python
如何用Python破解wifi密码过程详解
Jul 12 Python
Django Rest framework三种分页方式详解
Jul 26 Python
Python进度条的制作代码实例
Aug 31 Python
Python 自动登录淘宝并保存登录信息的方法
Sep 04 Python
flask利用flask-wtf验证上传的文件的方法
Jan 17 Python
Python3+RIDE+RobotFramework自动化测试框架搭建过程详解
Sep 23 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三元运算符的结合性介绍
2012/01/10 PHP
phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
2012/03/26 PHP
php过滤XSS攻击的函数
2013/11/12 PHP
PHP对接微信公众平台消息接口开发流程教程
2014/03/25 PHP
php之可变变量的实例详解
2017/09/12 PHP
利用Laravel生成Gravatar头像地址的优雅方法
2017/12/30 PHP
PHP全局使用Laravel辅助函数dd
2019/12/26 PHP
最简单的jQuery程序 入门者学习
2009/07/09 Javascript
JavaScript的parseInt 取整使用
2011/05/09 Javascript
js实现数组去重、判断数组以及对象中的内容是否相同
2013/11/29 Javascript
详解JavaScript的流程控制语句
2015/11/30 Javascript
angular ngClick阻止冒泡使用默认行为的方法
2016/11/03 Javascript
微信小程序 定位到当前城市实现实例代码
2017/02/23 Javascript
JS正则表达式验证账号、手机号、电话和邮箱是否合法
2017/03/08 Javascript
Vue.js之slot深度复制详解
2017/03/10 Javascript
JS优化与惰性载入函数实例分析
2017/04/06 Javascript
详解vue中router-link标签所必备了解的属性
2019/04/15 Javascript
微信小程序自定义弹窗滚动与页面滚动冲突的解决方法
2019/07/16 Javascript
解决vue动态下拉菜单 有数据未反应的问题
2020/08/06 Javascript
JavaScript 闭包的使用场景
2020/09/17 Javascript
Flask框架配置与调试操作示例
2018/07/23 Python
Django forms组件的使用教程
2018/10/08 Python
Python3调用百度AI识别图片中的文字功能示例【测试可用】
2019/03/13 Python
CentOS6.9 Python环境配置(python2.7、pip、virtualenv)
2019/05/06 Python
selenium+PhantomJS爬取豆瓣读书
2019/08/26 Python
Python 批量刷博客园访问量脚本过程解析
2019/08/30 Python
Django admin禁用编辑链接和添加删除操作详解
2019/11/15 Python
Django多数据库配置及逆向生成model教程
2020/03/28 Python
Pycharm插件(Grep Console)自定义规则输出颜色日志的方法
2020/05/27 Python
python pymysql链接数据库查询结果转为Dataframe实例
2020/06/05 Python
python导入库的具体方法
2020/06/18 Python
大学生旅游业创业计划书
2014/01/29 职场文书
个人简历自我评价范文
2014/02/04 职场文书
商务司机岗位职责
2015/04/10 职场文书
业余无线电通联Q语
2022/02/18 无线电
baselines示例程序train_cartpole.py的ImportError
2022/05/20 Python