如何初始化slim.fully_connected变量?

时间:2017-08-06 11:12:13

标签: python tensorflow

代码:

tf.reset_default_graph()
init = tf.global_variables_initializer()

with tf.Session() as sess:
    states = np.array(range(3))
    oneh = slim.one_hot_encoding(states, len(states))
    x = slim.fully_connected(oneh,2, \
                                   biases_initializer=None,activation_fn=tf.nn.sigmoid,weights_initializer=tf.ones_initializer())

    sess.run(init)
    print(sess.run(x))

例外:

FailedPreconditionError (see above for traceback): Attempting to use uninitialized value fully_connected/weights
     [[Node: fully_connected/weights/read = Identity[T=DT_FLOAT, _class=["loc:@fully_connected/weights"], _device="/job:localhost/replica:0/task:0/cpu:0"](fully_connected/weights)]]

1 个答案:

答案 0 :(得分:0)

您需要在定义变量后定义初始化操作。

states = np.array(range(3))
oneh = slim.one_hot_encoding(states, len(states))
x = slim.fully_connected(oneh,2,biases_initializer=None,activation_fn=tf.nn.sigmoid,weights_initializer=tf.ones_initializer())
init = tf.global_variables_initializer()
with tf.Session() as sess:
    sess.run(init)
    print(sess.run(x))