在以下代码段中,即使初始值与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)))
它不应该抛出错误吗?
答案 0 :(得分:2)
截至目前,建议使用tf.get_variable并尽可能避免使用变量。
现在回答你关于为什么expected_shape
没有任何影响的问题,如果你研究source code,它会被提及,因为它已被弃用并被忽略。如果您进一步查看_init_from_args
的函数,则expected_shape
的参数将被完全忽略,并且该值不会用于进一步处理。