Universal Sentence Encoder load error "Error: SavedModel file does not exist at..."

Universal Sentence Encoder load error "Error: SavedModel file does not exist at..."

我使用 Ananconda 在 2 个虚拟环境中安装了 Uuniversal Sentence Encoder (Tensorflow 2)。一个在 Mac,另一个在 Ubuntu。

全部与以下工作:

  module_url = "https://tfhub.dev/google/universal-sentence-encoder/4" 
  model = hub.load(module_url)

安装了:

conda create -n my-tf2-env python=3.6 tensorflow
conda init bash
conda activate my-tf2-env
conda install -c conda-forge tensorflow-hub

但是,由于 3 周后的未知原因,Mac 无法正常工作,并出现以下错误:

model = hub.load(module_url)

Error: SavedModel file does not exist at: /var/folders/99/8rwn_9hx3jj9x3qz6yf0j2f00000gp/T/tfhub_modules/063d866c06683311b44b4992fd46003be952409c/{saved_model.pbtxt|saved_model.pb}

在 Mac,我用相同的程序重新创建了新环境,但出现了同样的错误。

在 Ubuntu 上,一切正常。

我想知道如何修复 Mac。谢谢你的帮助。

我在 Mac 上尝试的是我尝试将“https://tfhub.dev/google/universal-sentence-encoder/4”下载到本地驱动器并在将来从本地驱动器加载它,而不是从网络 url。这个过程还没有完成,也没有成功。我不记得这次尝试是否有任何东西下载到 Mac,这可能会损坏我 Mac.

的登录用户帐户上的 Tensorflow-hub

此错误通常发生在 saved_model.pb 不在 module_url 指定的路径中时。

例如,如果我们考虑如下截图所示的文件夹结构,

代码,

import tensorflow_hub as hub

module_url = "https://tfhub.dev/google/universal-sentence-encoder/4" 
model = hub.load(module_url)

import tensorflow_hub as hub

module_url = "/home/mothukuru/Downloads/Hub" 
model = hub.load(module_url)

工作顺利。

但是如果 saved_model.pb 不存在于该文件夹中,如下所示,

正在执行代码,

import tensorflow_hub as hub

module_url = "/home/mothukuru/Downloads/Hub" 
model = hub.load(module_url)

导致以下错误,

OSError: SavedModel file does not exist at: /home/mothukuru/Downloads/Hub/{saved_model.pbtxt|saved_model.pb}

在您的特定情况下,在模型下载过程中执行代码可能会导致错误。

如评论中所述,删除下载的文件可以解决问题。

如果这个答案没有解决您的问题,请告诉我,我很乐意相应地修改它。