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脚本暴力破解栅栏密码
Oct 19 Python
CentOS6.5设置Django开发环境
Oct 13 Python
浅谈Python2.6和Python3.0中八进制数字表示的区别
Apr 28 Python
python抓取文件夹的所有文件
Feb 27 Python
Flask框架web开发之零基础入门
Dec 10 Python
Python datetime包函数简单介绍
Aug 28 Python
pandas 缺失值与空值处理的实现方法
Oct 12 Python
Python中pyecharts安装及安装失败的解决方法
Feb 18 Python
Python通过socketserver处理多个链接
Mar 18 Python
Pycharm及python安装详细步骤及PyCharm配置整理(推荐)
Jul 31 Python
Flask模板引擎Jinja2使用实例
Apr 23 Python
Python内置函数及功能简介汇总
Oct 13 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 pcntl_fork和pcntl_fork 的用法
2009/04/13 PHP
PHP更安全的密码加密机制Bcrypt详解
2017/06/18 PHP
PHP使用文件锁解决高并发问题示例
2018/03/29 PHP
关于javascript document.createDocumentFragment()
2009/04/04 Javascript
jquery 多行滚动代码(附详细解释)
2010/06/17 Javascript
检测一个函数是否是JavaScript原生函数的小技巧
2015/03/13 Javascript
javascript异步处理工作机制详解
2015/04/13 Javascript
jquery中添加属性和删除属性
2015/06/03 Javascript
Angular Js文件上传之form-data
2015/08/28 Javascript
JavaScript实现倒计时代码段Item1(非常实用)
2015/11/03 Javascript
JavaScript脚本库编写的方法
2015/12/09 Javascript
基于javascript实现右下角浮动广告效果
2016/01/08 Javascript
JavaScript中对JSON对象的基本操作示例
2016/05/21 Javascript
jQuery中JSONP的两种实现方式详解
2016/09/26 Javascript
原生js编写焦点图效果
2016/12/08 Javascript
JSON中key动态设置及JSON.parse和JSON.stringify()的区别
2016/12/29 Javascript
vue实现点击选中,其他的不选中方法
2018/09/05 Javascript
JavaScript深入V8引擎以及编写优化代码的5个技巧
2019/06/24 Javascript
Python实现加载及解析properties配置文件的方法
2018/03/29 Python
python存储16bit和32bit图像的实例
2018/12/05 Python
python TF-IDF算法实现文本关键词提取
2019/05/29 Python
python3实现微型的web服务器
2019/09/03 Python
TensorBoard 计算图的查看方式
2020/02/15 Python
PyCharm最新激活码(2020/10/27全网最新)
2020/10/27 Python
pandas 数据类型转换的实现
2020/12/29 Python
洲际酒店集团大中华区:IHG中国
2016/08/17 全球购物
可以在一个PHP文件里面include另外一个PHP文件两次吗
2015/05/22 面试题
Python使用openpyxl复制整张sheet
2021/03/24 Python
财务人员个人求职信范文
2013/12/04 职场文书
求职信需要的五点内容
2014/02/01 职场文书
竞争性谈判邀请书
2014/02/06 职场文书
2014年党的群众路线教育实践活动总结
2014/04/25 职场文书
电视新闻稿
2015/07/17 职场文书
CSS3实现的3D隧道效果
2021/04/27 HTML / CSS
JavaScript高级程序设计之变量与作用域
2021/11/17 Javascript
对讲机的最大通讯距离是多少
2022/02/18 无线电