从Tensorflow Hub获取本地化嵌入

时间:2019-08-02 06:46:04

标签: tensorflow

众所周知,Tensorflow-Hub通过运行以下代码即可提供预训练的嵌入。

让我们说我们想要句子的嵌入,但是对于单词的预训练嵌入也需要针对本地上下文进行调整。说唐纳德和特朗普在保留嵌入中可能存在较大的余弦距离,但是在我的本地系统中,由于它们经常发生,因此它们应该具有更小的余弦距离。

我知道Trainable = True。但这只是解冻模块。我不认为仅设置Trainable = True即可在调用嵌入时自动调整权重并为您返回微调的权重。如果我错了请纠正我。

那么问题是如何获得微调的嵌入?请注意,没有分类任务。我只是想获取嵌入内容,并根据本地语料库上下文进行微调。

!pip install "tensorflow_hub==0.4.0"
  !pip install "tf-nightly"

  import tensorflow as tf
  import tensorflow_hub as hub

  tf.enable_eager_execution()

  module_url = "https://tfhub.dev/google/tf2-preview/nnlm-en-dim128/1"
  embed = hub.KerasLayer(module_url)
  embeddings = embed(["A long sentence.", "single-word",
                      "http://example.com"])
  print(embeddings.shape)

0 个答案:

没有答案