tensorflow变量的赋值

tensorflow中某两个变量的声明如下:

w1=tf.Variable(tf.random_normal([2, 3], stddev=1, seed=1))

w2=tf.Variable(tf.random_normal([3, 1], stddev=1, seed=1))


x=tf.constant([[0.7, 0.9]])


a=tf.matmul(x, w1)

y=tf.matmul(a, w2)


在上述的tensorflow代码中,w1、w2和y都不会被赋值,要想得到它们的值,必须声明一个会话session,并通过会话计算结果。代码如下:

sess=tf.session()

sess.run(w1.initializer)

sess.run(w2.initializer)

sess.run(y)

但是这样做的后果是,当变量很多且有些变量之间存在依赖关系时,逐个初始化所有变量将会变成一项巨大的工程,不利于代码的编写。而tf.initialize_all_variables函数解决了这个问题,其使用方式如下:

init_op=tf.initialize_all_variables()

sess.run(init_op)

这样,就将所有的变量进行了初始化。同时,initialize_all_variables还可以自动实现函数之间的依赖关系。

你可能感兴趣的:(tensorflow)