在TensorFlow中创建变量时,我们可以指定数据类型。但是,我认为这个论点只是被忽略了。例如:
In [26]: b = tf.Variable([3.0, 4.0, 5.0], tf.float64)
In [27]: b.dtype
Out[27]: tf.float32_ref
In [28]: b = tf.Variable(np.array([3.0, 4.0, 5.0]), tf.float64)
In [29]: b.dtype
Out[29]: tf.float64_ref
In [30]: b = tf.Variable(np.array([3.0, 4.0, 5.0]), tf.float32)
In [31]: b.dtype
Out[31]: tf.float64_ref
因此,如果我从Python列表中初始化值,我会得到tf.float32_ref
作为类型(即使我将tf.float64
作为Value
函数的第二个参数)。如果我使用numpy数组进行值初始化,情况则相反(即使我将tf.float64_ref
作为tf.float32
函数的第二个参数),我也得到Value
作为数据类型。
我猜数据类型取自用于值初始化的对象的数据类型。哪种有意义,但为什么我们需要Value
函数中的dtype参数?
答案 0 :(得分:1)