0
我正在跟蹤cifar10示例代碼here 。而我用下面的代碼片段Tensorflow CIFAR10 get_variable未初始化
def _variable_on_cpu(name, shape, initializer):
"""Helper to create a Variable stored on CPU memory.
Args:
name: name of the variable
shape: list of ints
initializer: initializer for Variable
Returns:
Variable Tensor
"""
with tf.device('/cpu:0'):
dtype = tf.float16 if FLAGS.use_fp16 else tf.float32
var = tf.get_variable(name, shape, initializer=initializer, dtype=dtype)
return var
變種似乎並沒有被初始化的一些問題(既不符合global_variables_initializer(),也不var.initializer .run()) 它只是運行完美。
但是下面的測試代碼會引發錯誤:
「FailedPreconditionError:試圖使用未初始化值測試/ X」
import tensorflow as tf
with tf.variable_scope('test') as scope:
x = tf.get_variable('x', shape = [3, 4], initializer = tf.constant_initializer([0,1,2]))
sess = tf.InteractiveSession()
print(sess.run(x))
沒有人有任何想法?
那麼爲什麼上面的cifar10示例代碼片段工作? (看來「var」也沒有初始化。) – CYM
@陳昱名,因爲它只是定義了一個var而沒有做任何事情。當你運行這個功能時,它很可能會抱怨 –