【问题标题】:Error Loading Fasttext model in GCP Dataflow from GCS Bucket从 GCS 存储桶加载 GCP 数据流中的 Fasttext 模型时出错
【发布时间】:2021-10-16 00:24:46
【问题描述】:

我无法在 Dataflow 中加载 fasttext 模型。我将模型存储在存储桶中,路径为
gs://fasttext_models/model1.bin

以下是我的称呼方式:

model_1= fasttext.load_model('gs://fasttext_models/model1.bin')

我收到以下错误:
ValueError: gs://fasttext_models/model1.bin 无法打开加载!

PS:
当我在本地加载 fasttext 时,我曾经遇到过同样的错误。但是添加绝对路径解决了这个问题..我不明白如何在 GCP 中解决这个问题

【问题讨论】:

  • fasttext可以直接从GCS加载模型吗?如果没有,则需要使用 fasttext 理解的更标准的库。例如,您可以尝试 gcsfs。

标签: google-cloud-platform google-cloud-storage google-cloud-dataflow bucket fasttext


【解决方案1】:

可能fasttext.load_model(str) 只能从本地文件系统加载文件。看起来它不能接受任意打开的文件句柄,所以最好的办法是将数据复制到本地文件系统,然后从那里加载,例如

from google.cloud import storage

with tempfile.NamedTemporaryFile() as tmp_file:
  local_model_file = tmp_file.name
  remote_model_file = storage.Client().bucket('fasttext_models'). blob('model1.bin')
  blob.download_to_filename(local_model_file)
  model_1 = fasttext.load_model(local_model_file)

【讨论】:

  • 是的!这行得通!我们必须下载文件然后加载它
猜你喜欢
  • 2021-02-07
  • 2019-02-17
  • 2020-11-07
  • 2021-09-20
  • 2021-11-09
  • 2021-08-14
  • 2019-01-09
  • 1970-01-01
  • 2020-09-17
相关资源
最近更新 更多