tf.random_normal:

产生正态分布的随机数。

参数(shape,stddev,mean,dtype)

tf.random_uniform:

产生[0,1)之间的随机数,也可制定产生[minval,maxval)的随机数

例子:

x = tf.constant(1.0,dtype=tf.float32)
random_number = tf.cast(tf.squeeze(tf.random_uniform((1, 1)))*2, dtype=tf.int32)
y = tf.cond(tf.equal(random_number, 2), lambda: x-1, lambda: x+1)

用来随机翻转:


    random_ud = tf.squeeze(tf.random_uniform((1, 1)))
    image = tf.cond(tf.less(random_ud, 0.5), lambda: image, lambda: tf.image.flip_up_down(image))
    gt_GT = tf.cond(tf.less(random_ud, 0.5), lambda: gt_GT, lambda: tf.image.flip_up_down(gt_GT))

    random_lr = tf.squeeze(tf.random_uniform((1, 1)))
    image = tf.cond(tf.less(random_lr, 0.5), lambda: image, lambda: tf.image.flip_left_right(image))
    gt_GT = tf.cond(tf.less(random_lr, 0.5), lambda: gt_GT, lambda: tf.image.flip_left_right(gt_GT))

    random_rot = tf.squeeze(tf.random_uniform((1, 1)))
    image = tf.cond(tf.less(random_rot, 0.5), lambda: image, lambda: tf.image.rot90(image))
    gt_GT = tf.cond(tf.less(random_rot, 0.5), lambda: gt_GT, lambda: tf.image.rot90(gt_GT))