ypeError: __init__() got an unexpected keyword argument 'shape'

采用TensorFlow支持通过tf.Graph函数来生成新的向量图,代码如下:

import tensorflow as tf

# a = tf.constant([1.0,2.0],name="a")
# b = tf.constant([2.0,3.0],name="b")
# result = a+b
# print(a.graph is tf.get_default_graph())

g1 = tf.Graph()
with g1.as_default():
    v = tf.get_variable("v",initializer=tf.zeros_initializer(shape=[1]))

g2 = tf.Graph()
with g2.as_default():
    v = tf.get_variable("v",initializer=tf.ones_initializer(shape=[1]))
with tf.Session(graph=g1) as sess:
    tf.global_variables_initializer().run()
    with tf.variable_scope("",reuse=True):
        print(sess.run(tf.get_variable("v")))

# with tf.Session(graph=g2) as sess:
#     tf.global_variables_initializer().run()
#     with tf.variable_scope("",reuse=True):
#         print(sess.run(tf.get_variable("v")))

执行后发生如下错误:

ypeError: __init__() got an unexpected keyword argument 'shape' 

解决办法:因为上述代码写法是TensorFlow旧版本的写法,将Line6 和Line10 改如下如下可以实现代码的正常运行:

v = tf.get_variable("v",initializer=tf.zeros_initializer()(shape = [1]))

v = tf.get_variable( "v",initializer=tf.ones_initializer()(shape = [1]))

ypeError: __init__() got an unexpected keyword argument 'shape'