当我在 Tensorflow 中创建变量时,如:
W=tf.Variable(tf.random_normal([10,100]))
有没有办法给随机生成的值一个最大值和最小值?
我的网络启动配置存在问题,我认为这是因为随机值太大。
有tf.random_normal
这样的选项吗?
答案 0 :(得分:2)
不,根据documentation,tf.random_normal
中没有此类选项。这也有点不寻常,因为正态分布仅由均值和方差参数指定。如果你在某个时候裁剪它,你必须考虑重新规范化,如何绘制随机数,以及这样的东西。
但是,如果您想减小初始参数的大小,只需减少平均值(设置为10
)和方差(设置为100
) - 它们是'在我看来,反正相当大。
此外,您可以查看具有适当指定边界的tf.random_uniform
。
答案 1 :(得分:2)
如果您怀疑tf.random_normal
生成了较高的值,则可以使用tf.clip_by_value
剪切值。其余可用选项由@davidhigh列出。