阅读(7.8k) 书签 (0)

TensorFlow函数:tf.random_gamma

2018-11-22 11:22 更新
tf.random_gamma 函数
random_gamma(
    shape,
    alpha,
    beta=None,
    dtype=tf.float32,
    seed=None,
    name=None
)

定义在:tensorflow/python/ops/random_ops.py.

请参阅指南:生成常量,序列和随机值>随机张量

从每个给定的 Gamma distribution(s) 中绘制 shape 样本.

alpha 是描述 distribution(s) 的形状参数,并且 beta 是反比例参数(s).

例:

samples = tf.random_gamma([10], [0.5, 1.5]) 
# samples 的形状为[10, 2], 其中每个 slice [:, 0] 和 [:, 1] 表示从每个分布中抽取的样本
samples = tf.random_gamma([7, 5], [0.5, 1.5]) 
# samples 形状为[7, 5, 2], 其中每个 slice [:, :, 0] 和 [:, :, 1] 表示从两个分布中的每一个中抽取 7x5 个样本
samples = tf.random_gamma([30], [[1.],[3.],[5.]], beta=[[3., 4.]]) 
# samples 形状为 [30, 3, 2], 每个 3x2 分布有30个样本

注意:因为内部计算是使用 float64 和铸造具有 floor 语义,我们必须手动映射零结果到最小的可能的正浮点值,即,np.finfo(dtype).tiny.这意味着np.finfo(dtype).tiny 比其他情况下更频繁地发生.这种偏差只能发生于 alpha 的小值,即 alpha << 1 或 beta 的大值,即 beta >> 1.

参数:

  • shape:一维整数张量或 Python 数组.输出样本的形状是按照 alpha/beta-parameterized 分布绘制的.
  • alpha:一个张量或者 Python 值或者 dtype 类型的 N-D 数组.alpha 提供描述要采样的 gamma distribution(s) 的形状 parameter(s);必须可以播放 beta.
  • beta:一个张量或者 Python 值或者 dtype 类型的 N-D 数组;默认为1;beta 提供要采样的 gamma distribution(s) 的反比例 parameter(s).必须可以播放alpha.
  • dtype:alpha、beta 的类型,输出:float16,float32 或 float64.
  • seed:一个 Python 整数.用于为分布创建一个随机种子.查看 tf.set_random_seed 行为.
  • name:操作的可选名称.

返回:

  • samples:具有 dtype 类型值的带有形状 tf.concat(shape, tf.shape(alpha + beta)) 的 Tensor.