expected_shape变量在tensorflow中没有任何影响

时间:2017-11-28 12:11:32

标签: python tensorflow tensorflow-gpu

在以下代码段中,即使初始值与expected_shape不匹配,代码也会运行并将输出显示为1.0。这是代码。

import tensorflow as tf
import numpy as np

X = tf.placeholder(dtype=tf.float32)
y = tf.placeholder(dtype=tf.float32)
W = tf.Variable(0.0, expected_shape=(3,1))
b = tf.Variable(1.0)

sess = tf.Session()
init = tf.global_variables_initializer()
sess.run(init)

print(sess.run(tf.add(W,b)))

它不应该抛出错误吗?

1 个答案:

答案 0 :(得分:2)

截至目前,建议使用tf.get_variable并尽可能避免使用变量。

现在回答你关于为什么expected_shape没有任何影响的问题,如果你研究source code,它会被提及,因为它已被弃用并被忽略。如果您进一步查看_init_from_args的函数,则expected_shape的参数将被完全忽略,并且该值不会用于进一步处理。