tensorflow2.0 - Universal Sentence Encoder 加载错误“错误:SavedModel 文件不存在于...”
问题描述
我在 Ananconda 的 2 个虚拟环境中安装了 Uiniversal 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 ”下载到本地驱动器并在将来从本地驱动器加载它,而不是从 Web 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}
在您的特定情况下,在模型下载过程中执行代码可能会导致错误。
如评论中所述,删除下载的文件可以解决问题。
如果此答案没有解决您的问题,请告诉我,我很乐意相应地对其进行修改。
推荐阅读
- java - WebFlux 在后台执行请求?
- javascript - 不和谐.js | 随机图像嵌入
- javascript - 如何从java脚本中的xml响应体中获取值
- django - Django:将用户 ID 传递给 settings.py
- configuration - 将运行时配置传递给 Elixir 进程的正确方法
- postgresql - 在 postgresql 中寻找等效的用于在 mssql 中实现的合并更新
- javascript - javascript正则表达式验证输入字段中的字母数字字符
- excel - 我想在 Sumproduct 公式中添加更多标准
- html - 多个无序元素中的 Bootstrap 4 网格“order-3”
- javascript - 如何默认展开所有表格分组