获取BERT(Tensorflow)的最后4层的输出

时间:2020-02-02 20:43:26

标签: tensorflow tensorflow2.0 tpu bert-language-model tf-hub

我正在浏览Andreas Poyiatzis的文章,该文章发布在对datadata.com上。下面是文章的链接。

https://towardsdatascience.com/nlp-extract-contextualized-word-embeddings-from-bert-keras-tf-67ef29f60a7b#--responses

通过使用TPU生成嵌入。但是我想在不支持TPU的本地计算机上运行它。有人可以让我知道如何在CPU上运行相同的代码吗?您的帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:0)

按照链接的说明,如果没有可用的TPU,则Estimator会退回到CPU或GPU。只要确保在显示的所有地方设置use_tpu = False

  # If TPU is not available, this will fall back to normal Estimator on CPU
  # or GPU.
  estimator = tf.contrib.tpu.TPUEstimator(
      use_tpu=False,
      model_fn=model_fn,
      config=run_config,
      predict_batch_size=BATCH_SIZE,
      train_batch_size=BATCH_SIZE)

也直接位于model_fn_builder调用中。像这样:

model_fn = model_fn_builder(
      bert_config=bert_config,
      init_checkpoint=INIT_CHECKPOINT,
      layer_indexes=layer_indexes,
      use_tpu=False,
      use_one_hot_embeddings=True)