问题标签 [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.
tensorflow - 使用 TensorFlow 和 Keras 防止迁移学习中的过拟合
我有一个 TensorFlow 2 模型,其中包含来自 TensorFlow Hub 的预训练 Keras 层。我想微调这个子模型中的权重以适合我的数据集,但如果我通过设置trainable=True
and天真地做到这一点training=True
,我的模型将严重过度拟合。
如果我控制了底层模型的实际层,我会在这些单独的层上插入 dropout 层或设置 L2 系数。KerasLayer
但是这些层是使用 TensorFlow Hub方法导入我的网络的。另外,我怀疑底层模型非常复杂。
我想知道解决此类问题的标准做法是什么。
也许有一种方法可以以某种方式强制对整个网络进行正则化?我知道在 TensorFlow 1 中,有类似的优化器ProximalAdagradOptimizer
采用 L2 系数。在 TensorFlow 2 中,像这样的唯一优化器是FTRL,但我很难让它适用于我的数据集。
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 集线器模块的输出形状?
python-3.x - 模块“tensorflow_hub”没有属性“KerasLayer”
当我尝试使用 tensorflow 重新训练模型时,它显示错误:
代码是:
错误是这样的:
通过使用 tensorflow 集线器通过添加新的 dence 全连接层来重新训练以前的集线器模型。运行代码时,它显示上述错误。是否有任何想法。请帮助
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 .
报告一个空的标签集。
如何解决这个问题?
python - 如何使用包含 Tensorflow 会话的函数映射数据集?
我有一个 TensorflowDatasetV1Adapter
对象形式的数据集。
如您所见,它包含一个带有和OrderedDict
键的对象。后者基本上很重要,因为它包含我希望使用句子嵌入将其转换为向量的文本字符串。labels
snippets
为此,我决定使用来自 tensorflow hub的Universal Sentence Encoder (USE)。它基本上接受一个句子列表作为输入,并将输出一个长度为 512 的向量作为其输出。需要注意的一件事是,如果启用了急切执行,则无法执行 tensorflow hub。因此,我们必须定义一个会话才能将 USE 与 tensorflow hub 一起使用。
但是,我希望使用map
tensorflow 提供的。但问题是我应该如何定义一个在其中包含 tensorflow 会话的函数?并且要使用该函数并将其映射到数据集上,我是否需要定义另一个 tensorflow 会话?
我的第一种方法是真正做到这一点。具体来说,通过定义一个包含 tensorflow 会话的函数。然后,启动一个新的 tensorflow 会话并尝试将函数映射到该会话中的该数据集。
请注意,我在会话之外定义了 USE 句子嵌入模型。
但我最后得到了这个错误
或者,我尝试在 tensorflow 会话中定义函数,就像这样
但这没有用,我仍然遇到同样的错误。在做了一些搜索之后,我偶然发现了这篇文章和这篇文章,说我必须定义 atf.Graph
并在会话中传递它。
然而,我仍然收到同样的错误。我还尝试在会话中定义 USE ,但仍然导致相同的错误。
从那里开始,我对如何做到这一点感到很困惑。有人对我错过的东西有任何想法吗?提前致谢。
python-3.x - 如何正确保存 keras 模型以便能够使用 hub.Module() 加载?
我正在尝试在新图像集上重新训练 inception v3。
当我尝试保存模型时,我收到一个错误。
我努力了:
和
和
都给我一个类似的错误,Module has no ' name '
我附上了与问题相关的代码。
这应该保存一个“.h5”模型文件,但我收到一个命名错误:
我想以 tf_hub 模型的格式保存模型。
tensorflow - 在简单的 colab 教程中使用 ELMo 交换 gnews
我正在研究这个 colab 笔记本:
我想用 ELMo 嵌入替换 gnews 旋转嵌入。
所以,更换
和:
这里有一连串的变化,比如需要
但我不了解成功进行此替换所需的图形形状。具体来说,我看到了。
生产
这似乎很好。但:
然后这给出:
图表尺寸还有什么变化,我该如何解决?
python-3.x - 在预测期间使用来自 tensorflow hub 的 Elmo 作为自定义 tf.keras 层的问题
我正在尝试将 tensorflow hub 中的 Elmo 与 tf.keras 一起使用来执行 NER。训练很好,损失在减少,测试集也给出了很好的结果。但我无法预测,因为我收到以下错误:
256 是我在训练期间的批量大小。我试图只预测一句话。
我试图在互联网上搜索很多,但一切都在风向标。任何帮助深表感谢。如果我重复我的向量 256 次并在预测期间将 batch_size 设置为 256,我绝对可以得到预测。但正如您所见,这是一种非常低效的解决方法。
这是自定义图层的代码
这是我的模型架构: 模型架构
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
我尝试了在网上找到的各种代码示例,但都以错误告终。目前我正在尝试使用此代码来冻结图形
但我得到了错误:
它还提到了这个错误
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。