无法重用张量流中的嵌入

时间:2019-03-06 20:39:25

标签: tensorflow

我正在尝试重用我的张量流语言模型中的输入嵌入。我使用的tf版本是1.13.1。

  

ValueError:变量嵌入/嵌入不存在,或者不是使用tf.get_variable()创建的。您是要在VarScope中设置复用= tf.AUTO_REUSE吗?

我想它应该像这样工作:

import tensorflow as tf

vocab_size = 31
emb_size = 11

x =tf.constant([[2,3,0],[4,0,0],[6,7,8],[5,4,0]],dtype=tf.float32)
rnn_output = tf.keras.layers.Embedding(vocab_size, emb_size)(x)
print(tf.trainable_variables())
with tf.variable_scope("embedding", reuse=True):
    output_embedding_mat = tf.get_variable('embeddings')

可以看出,嵌入层创建了一个变量:

[<tf.Variable 'embedding/embeddings:0' shape=(31, 11) dtype=float32>]

如果我将tf.AUTO_REUSE设置为带有_1的新变量。

如何访问和重用嵌入权重?

0 个答案:

没有答案