gpt4 book ai didi

python - 如何获取 Tensorflow seq2seq 嵌入输出

转载 作者:太空狗 更新时间:2023-10-30 02:42:06 26 4
gpt4 key购买 nike

我正在尝试使用 tensorflow 训练序列到序列模型,并一直在查看他们的示例代码。

我希望能够访问由编码器创建的向量嵌入,因为它们似乎具有一些有趣的属性。

但是,我真的不清楚这是怎么回事。

在单词向量表示示例中,他们讨论了很多关于这些嵌入的用途,但似乎没有提供访问它们的简单方法,除非我弄错了。

如果您能提供有关如何访问它们的任何帮助,我们将不胜感激。

最佳答案

与所有 Tensorflow 操作一样,大多数变量都是动态创建的。有不同的方法来访问这些变量(及其值)。在这里,您感兴趣的变量是经过训练的变量集的一部分。要访问这些,我们可以使用 tf.trainable_variables() 函数:

for var in tf.trainable_variables():
print var.name

这将为我们提供 - 对于 GRU seq2seq 模型,以下列表:

embedding_rnn_seq2seq/RNN/EmbeddingWrapper/embedding:0
embedding_rnn_seq2seq/RNN/GRUCell/Gates/Linear/Matrix:0
embedding_rnn_seq2seq/RNN/GRUCell/Gates/Linear/Bias:0
embedding_rnn_seq2seq/RNN/GRUCell/Candidate/Linear/Matrix:0
embedding_rnn_seq2seq/RNN/GRUCell/Candidate/Linear/Bias:0
embedding_rnn_seq2seq/embedding_rnn_decoder/embedding:0
embedding_rnn_seq2seq/embedding_rnn_decoder/rnn_decoder/GRUCell/Gates/Linear/Matrix:0
embedding_rnn_seq2seq/embedding_rnn_decoder/rnn_decoder/GRUCell/Gates/Linear/Bias:0
embedding_rnn_seq2seq/embedding_rnn_decoder/rnn_decoder/GRUCell/Candidate/Linear/Matrix:0
embedding_rnn_seq2seq/embedding_rnn_decoder/rnn_decoder/GRUCell/Candidate/Linear/Bias:0
embedding_rnn_seq2seq/embedding_rnn_decoder/rnn_decoder/OutputProjectionWrapper/Linear/Matrix:0
embedding_rnn_seq2seq/embedding_rnn_decoder/rnn_decoder/OutputProjectionWrapper/Linear/Bias:0

这告诉我们嵌入称为 embedding_rnn_seq2seq/RNN/EmbeddingWrapper/embedding:0,然后我们可以使用它在我们之前的迭代器中检索指向该变量的指针:

for var in tf.trainable_variables():
print var.name
if var.name == 'embedding_rnn_seq2seq/RNN/EmbeddingWrapper/embedding:0':
embedding_op = var

然后我们可以将其与其他操作一起传递给我们的 session 运行:

_, loss_t, summary, embedding = sess.run([train_op, loss, summary_op, embedding_op], feed_dict)

我们自己有嵌入的(批处理列表)......

关于python - 如何获取 Tensorflow seq2seq 嵌入输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37660685/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com