Tensorflow中常用函数说明(random相关函数)

tf常用函数

tf.cast(张量名,dtype=数据类型)

强制将tensor转换为,dtype类型的数据类型

tf.reduce_min(张量名)

计算张量维度上元素的最小值

tf.reduce_max(张量名)

计算张量维度上元素的最大值

axis参数控制操作维度

tf.random函数

tf.random_uniform随机均匀分布

目前来看我用这个比较多,主要用于生成一些参数,例如w矩阵
格式 : tf.random_uniform(shape, minval=0.0, maxval=1.0, dtype=tf.float32, seed=None, name=None)
参数说明

  • shape 定义维度
  • minval 区间最小值
  • maxval 区间最大值
  • dtype 定义类型,比如float,int
  • seed 定义种子
  • name 定义名称

示例

import tensorflow as tf
# 定义 W 的shape[5,3],最小值-1.0,最大值1.0
w1 = tf.random_uniform([5,3], -1.0, 1.0)
# 推荐w2写法,提高代码可读性
w2 = tf.random_uniform(shape=[5,3], minval=-1.0, maxval=1.0)
with tf.Session() as sess:
    print(sess.run(w1))
    print(sess.run(w2))

rf.random_normal随机正态分布

产生的数据是按照正态分布来的,意如其名
格式 : tf.random_normal(shape,mean=0.0,stddev=1.0,dtype=tf.float32,seed=None,name=None)
参数说明

  • shape 定义维度(同上)
  • mean 定义均值
  • stddev 定义方差
  • dtype 定义类型(同上)
  • seed 定义种子
  • name 定义名称

示例

import tensorflow as tf
# 定义 W 的shape[5,3],均值-1.0,方差 4.0
w1 = tf.random_normal([5,3], -1.0, 4.0)
# 推荐w2写法,提高代码可读性
w2 = tf.random_normal(shape=[5,3], mean=-1.0, stddev=4.0)
with tf.Session() as sess:
    print(sess.run(w1))
    print(sess.run(w2))

tf.truncated_normal 标准正态分布

相比较random_normal随机正态分布,truncated_normal 截断正态分布随机数,只保留[mean-2stddev,mean+2stddev]范围内的随机数
格式 :tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)
参数说明

  • shape 定义维度(同上)
  • mean 定义均值
  • stddev 定义方差
  • dtype 定义类型(同上)
  • seed 定义种子
  • name 定义名称

示例

import tensorflow as tf
# 定义 W 的shape[5,3],均值-1.0,方差 4.0
w1 = tf.truncated_normal([5,3], 0.0, 1.0)
# 推荐w2写法,提高代码可读性
w2 = tf.truncated_normal(shape=[5,3], mean=0.0, stddev=1.0)
with tf.Session() as sess:
    print(sess.run(w1))
    print(sess.run(w2))

tf.random_shuffle随机的交换位置(洗牌)

这个我用到的很少
格式 :tf.random_shuffle(value, seed=None, name=None)
参数说明

  • value 是一个给定的张量
  • seed 定义的种子
  • name 定义名称

示例

import tensorflow as tf
#定义一个张量
vec = tf.constant([[1,2],[3,4],[5,6],[7,8],[9,10],[11,12]])
#定一随机交换位置(打乱)计算
shuff = tf.random_shuffle(value=vec,seed=1,name="shuff")
with tf.Session() as sess:
    print (sess.run(shuff))

借鉴:https://cloud.tencent.com/developer/article/1392320 稍加修饰说明

猜你喜欢

转载自blog.csdn.net/m0_47220500/article/details/108194057