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.