代码:
from theano.tensor.shared_randomstreams import RandomStreams
from theano import function
srng = RandomStreams(seed = 234)
rv_v = srng.uniform((2,2))
rv_n = srng.normal((2,2))
f = function([], rv_v)
g = function([], rv_n, no_default_updates= True)
nearly_zeros = function([], rv_v +rv_v - 2*rv_v )
笔记:
步骤:
引入随机流类 from theano.tensor.shared_randomstreams import RandomStreams
实例化随机流,srng = RandomStreams(seed = 234)
创建随机生成数字公式 rv_v = srng.uniform((2,2))
函数调用公式f = function([], rv_v)
备注:
uniform为生成均匀分布随机数,normal生成正太分布随机数,这两个函数传进参数(n,n)返回一个n行n列的矩阵
function中no_default_updates=True参数可使该函数每次被调用时生成的随机数一样
随机数生成公式在一个函数调用中会生成同一个随机数,不管这个公式在该函数中调用多少次,即nearly_zeros()函数返回的值全都是0
网友评论