二次调用 tf.get_variable 例如双塔模型时解决方法

二次调用 tf.get_variable
出错提示:Did you mean to set reuse=tf.AUTO_REUSE in VarScope?

例如双塔模型

解决方法

embedding_table = tf.get_variable(# [vocab_size, embedding_size]
    name=word_embedding_name,
    shape=[vocab_size, embedding_size],
    initializer=create_initializer(initializer_range))

后面加一行
tf.get_variable_scope().reuse_variables()

如上所示可解决

不过最好的解决方法是

with tf.variable_scope("foo", reuse=False):
    embedding_table = tf.get_variable(# [vocab_size, embedding_size]
        name=word_embedding_name,
        shape=[vocab_size, embedding_size],
        initializer=create_initializer(initializer_range))

参考:
https://blog.csdn.net/thormas1996/article/details/81129379

你可能感兴趣的:(一些错误问题,tensorflow,深度学习,人工智能)