问题标签 [tensorflow-hub]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
718 浏览

tensorflow - 使用 TensorFlow 和 Keras 防止迁移学习中的过拟合

我有一个 TensorFlow 2 模型,其中包含来自 TensorFlow Hub 的预训练 Keras 层。我想微调这个子模型中的权重以适合我的数据集,但如果我通过设置trainable=Trueand天真地做到这一点training=True,我的模型将严重过度拟合。

如果我控制了底层模型的实际层,我会在这些单独的层上插入 dropout 层或设置 L2 系数。KerasLayer但是这些层是使用 TensorFlow Hub方法导入我的网络的。另外,我怀疑底层模型非常复杂。

我想知道解决此类问题的标准做法是什么。

也许有一种方法可以以某种方式强制对整个网络进行正则化?我知道在 TensorFlow 1 中,有类似的优化器ProximalAdagradOptimizer采用 L2 系数。在 TensorFlow 2 中,像这样的唯一优化器是FTRL,但我很难让它适用于我的数据集。

0 投票
1 回答
581 浏览

python - TensorFlow 2.0 和 TensorFlow Hub:load_module_spec 等效?

当使用 TensorFlow 1.x 和 TensorFlow hub 时,我们可以加载模块的规范来检查预期的输出形状(可能还有其他有用的规范!),如下所示:

当尝试对兼容 TF 2.0 的集线器模块执行相同操作时,我在调用时遇到以下错误消息load_module_spec

缺少支持的实现:loader(*('/tmp/tfhub_modules/82c4aaf4250ffb09088bd48368ee7fd00e5464fe',), **{})

是否有其他方法可以检查 TF 2.0 集线器模块的输出形状?

0 投票
1 回答
2360 浏览

python-3.x - 模块“tensorflow_hub”没有属性“KerasLayer”

当我尝试使用 tensorflow 重新训练模型时,它显示错误:

代码是:

错误是这样的:

通过使用 tensorflow 集线器通过添加新的 dence 全连接层来重新训练以前的集线器模型。运行代码时,它显示上述错误。是否有任何想法。请帮助

0 投票
2 回答
619 浏览

python - 将 retrain.py 的输出转换为 tensorflow.js

How to Retrain an Image Classifier for New Categories中描述的脚本 retrain.py运行为

并生成了输出文件/tmp/output_graph.pb将其转换

失败了

IOError:SavedModel 文件不存在于:/tmp/output_graph.pb/{saved_model.pbtxt|saved_model.pb}

如果文件output_graph.pb被重命名为saved_model.pb@edkeveked),错误变为

RuntimeError:在 SavedModel 中找不到与标签“serve”关联的 MetaGraphDef。要检查 SavedModel 中的可用标签集,请使用 SavedModel CLI:saved_model_cli

saved_model_cli show --dir .报告一个空的标签集。

如何解决这个问题?

0 投票
1 回答
797 浏览

python - 如何使用包含 Tensorflow 会话的函数映射数据集?

我有一个 TensorflowDatasetV1Adapter对象形式的数据集。

如您所见,它包含一个带有和OrderedDict键的对象。后者基本上很重要,因为它包含我希望使用句子嵌入将其转换为向量的文本字符串。labelssnippets

为此,我决定使用来自 tensorflow hub的Universal Sentence Encoder (USE)。它基本上接受一个句子列表作为输入,并将输出一个长度为 512 的向量作为其输出。需要注意的一件事是,如果启用了急切执行,则无法执行 tensorflow hub。因此,我们必须定义一个会话才能将 USE 与 tensorflow hub 一起使用。

但是,我希望使用maptensorflow 提供的。但问题是我应该如何定义一个在其中包含 tensorflow 会话的函数?并且要使用该函数并将其映射到数据集上,我是否需要定义另一个 tensorflow 会话?

我的第一种方法是真正做到这一点。具体来说,通过定义一个包含 tensorflow 会话的函数。然后,启动一个新的 tensorflow 会话并尝试将函数映射到该会话中的该数据集。

请注意,我在会话之外定义了 USE 句子嵌入模型。

但我最后得到了这个错误

或者,我尝试在 tensorflow 会话中定义函数,就像这样

但这没有用,我仍然遇到同样的错误。在做了一些搜索之后,我偶然发现了这篇文章这篇文章,说我必须定义 atf.Graph并在会话中传递它。

然而,我仍然收到同样的错误。我还尝试在会话中定义 USE ,但仍然导致相同的错误。

从那里开始,我对如何做到这一点感到很困惑。有人对我错过的东西有任何想法吗?提前致谢。

0 投票
1 回答
900 浏览

python-3.x - 如何正确保存 keras 模型以便能够使用 hub.Module() 加载?

我正在尝试在新图像集上重新训练 inception v3。

当我尝试保存模型时,我收到一个错误。

我努力了:

都给我一个类似的错误,Module has no ' name '

我附上了与问题相关的代码。

这应该保存一个“.h5”模型文件,但我收到一个命名错误:

我想以 tf_hub 模型的格式保存模型。

0 投票
1 回答
335 浏览

tensorflow - 在简单的 colab 教程中使用 ELMo 交换 gnews

我正在研究这个 colab 笔记本:

https://colab.research.google.com/github/tensorflow/hub/blob/master/examples/colab/tf2_text_classification.ipynb

我想用 ELMo 嵌入替换 gnews 旋转嵌入。

所以,更换

和:

这里有一连串的变化,比如需要

但我不了解成功进行此替换所需的图形形状。具体来说,我看到了。

生产

这似乎很好。但:

然后这给出:

图表尺寸还有什么变化,我该如何解决?

0 投票
2 回答
864 浏览

python-3.x - 在预测期间使用来自 tensorflow hub 的 Elmo 作为自定义 tf.keras 层的问题

我正在尝试将 tensorflow hub 中的 Elmo 与 tf.keras 一起使用来执行 NER。训练很好,损失在减少,测试集也给出了很好的结果。但我无法预测,因为我收到以下错误:

256 是我在训练期间的批量大小。我试图只预测一句话。

我试图在互联网上搜索很多,但一切都在风向标。任何帮助深表感谢。如果我重复我的向量 256 次并在预测期间将 batch_size 设置为 256,我绝对可以得到预测。但正如您所见,这是一种非常低效的解决方法。

这是自定义图层的代码

这是我的模型架构: 模型架构

0 投票
0 回答
316 浏览

keras - 从 TensorFlow hub 冻结 Graph 以在 Google Coral 上使用

我正在尝试使用 Google Colab 构建用于 Google Coral 设备的模型。为此,我需要冻结图表,然后将其转换为 TfLite。我可以使用教程成功创建模型并对其进行测试,但我无法弄清楚如何冻结图形。在教程结束时,模型以 Saved_Model 格式保存。我的 Google Colab 笔记本可在此处找到:https ://drive.google.com/file/d/1F6wvz4yUp6Iz2hY3n7bQYnYBJe7H5JUE/view?usp=sharing

我尝试了在网上找到的各种代码示例,但都以错误告终。目前我正在尝试使用此代码来冻结图形

但我得到了错误:

它还提到了这个错误

0 投票
1 回答
687 浏览

tensorflow - 如何从现有的冻结 pb 模型文件创建新的 tensorflow hub 模块

我正在尝试将现有的冻结 Tensorflow 模型转换为用于图像分类迁移学习的 tensorflow_hub 模块,转换没有错误,但新模块的推理精度很低,只有 40%~50%,我是什么在这里失踪?

我正在使用来自 Tensorflow-hub git 存储库的图像分类转移学习示例代码“retrain.py”。“retrain.py”脚本使用 Tensorflow-hub 模块作为输入,所以我从“ http://download.tensorflow.org/models/mobilenet_v1_2018_02_22/mobilenet_v1_1.0_224.tgz ”下载了一个冻结的预训练模型,并且将其转换为集线器模块,然后将此新模块用作重新训练脚本的输入。我的设置是 ubuntu14.04、python2.7、Tensorflow-1.12 和 Tensorflow-hub-0.4.0。