TensorFlow 随机值与随机函数
2018-05-15 本文已影响17人
采香行处蹙连钱
参考文献:
- 随机函数:https://blog.csdn.net/tz_zs/article/details/75948350
- 数学与随机值:https://blog.csdn.net/xierhacker/article/details/53462070
常用随机函数
tf.random_normal:从正态分布输出随机值
random_normal(shape,mean=0.0,stddev=1.0,dtype=tf.float32,seed=None,name=None) shape:一个一维整数张量或Python数组。代表张量的形状。 mean:数据类型为dtype的张量值或Python值。是正态分布的均值。 stddev:数据类型为dtype的张量值或Python值。是正态分布的标准差 dtype: 输出的数据类型。 seed:一个Python整数。是随机种子。 name: 操作的名称(可选)
tf.random_uniform:从均匀分布中返回随机值
random_uniform( shape,# 生成的张量的形状 minval=0, maxval=None, dtype=tf.float32, seed=None, name=None ) 返回值的范围默认是0到1的左闭右开区间,即[0,1)。 minval为指定最小边界,默认为1。 maxval为指定的最大边界,如果是数据浮点型则默认为1,如果数据为整形则必须指定。
tf.truncated_normal:截断的正态分布函数。生成的值遵循一个正态分布,但不会大于平均值2个标准差
truncated_normal( shape,#一个一维整数张量或Python数组。代表张量的形状。 mean=0.0,#数据类型为dtype的张量值或Python值。是正态分布的均值。 stddev=1.0,#数据类型为dtype的张量值或Python值。是正态分布的标准差 dtype=tf.float32,#输出的数据类型。 seed=None,#一个Python整数。是随机种子。 name=None#操作的名称(可选) )
tf.random_shuffle:沿着被洗牌的张量的第一个维度,随机打乱
random_shuffle( value,# 要被洗牌的张量 seed=None, name=None ) [[1, 2], [[5, 6], [3, 4], ==> [1, 2], [5, 6]] [3, 4]]
over
TensorFlow API框架简介
核心代码目录Core
● common_runtime:公共运行库,包含 会话(session)、线程(thread),内存管理(memory), 设备调度(device)等基本运行库。
● distributed_runtime:分布式运行库,与上面类似,作为分布式情况下的运行库,提供运行支撑。
● framework:框架基础模块定义,主要是通用组件的结构格式定义;
● graph:计算流图相关基础操作(类结构),包括 拆分、合并、执行 等操作,被外面的 executor 调用;
● kernels:核心操作定义,像常用的运算 matmul,sigmoid 等操作;
● lib:基础库用于内部调用,包括 hash、io、jpeg、math 等;
● ops:对 kernel 下的op进行注册和对外声明;
● protobuf:Google 的传输交换模块,用于传输时的数据序列化;
Graph
首先搞清一个概念,Graph 是 Tensorflow 必须要存在的,是灵魂核心,你所看到的任何一个 图都是通过 Graph来组织的。
image>>> import tensorflow as tf >>> str = tf.constant("Hello World!") >>> se = tf.Session() >>> print se.run(str) 没看到 Graph 的创建对不对? 实际上在你创建 Session 的时候,系统自动为你创建了一个 默认Graph,用于接下来所有 OP 的组织和存放。
Session
over