tensorflow - Tensorflow hub:恢复重新训练的通用句子编码器模块
问题描述
我一直在尝试重新训练通用句子编码器模块(use),但我似乎无法从任何更新/重新训练的模块权重中生成新的嵌入。
我遵循了分类器示例elmo
并将其替换为使用模块。分类器工作我似乎无法弄清楚如何访问新模块embeddings
。我可以恢复保存的模型,但不确定我实际上是如何调用嵌入函数的?
例如,以前我通过设置路径
m=hub.module(path) then generate the embeddings via
m(sentences)
但是如何使用恢复的分类器模型进行此调用?请注意,我确实将参数设置trainable=True
为与示例教程中一样。
我是否只需进行相同的调用,它就会自动获取已通过分类器再训练训练的新权重?我检查了类似的问题,但大多数都与操纵元图有关。我只想简单地使用新的权重来生成一些新的嵌入,看看它们是否在对其他数据进行微调后有所不同。也许这是不可能的?
任何澄清将不胜感激。
解决方案
所以我在运行分布式张量流时实际上遇到了这个问题,并且损失没有改变。
诀窍是,当您第一次下载它时,您需要设置 trainable = True 否则权重将被锁定。
因此,在您的情况下,使用 trainable = True 重新下载模块以解锁权重。
推荐阅读
- python - 断言 0, 'error' 与 raise AssertionError('error')
- javascript - 如何在我的 Stimulus JS 控制器中声明一个 const 字符串?
- android - Kotlin 代码在编译时会“缩小”吗?
- angular - 在获得角度响应后,如何在选择标签上将其余 api 调用中的值设置为 ngModel
- gtk - 如何在 GTK4 中使窗口居中?
- hbase - 具有设置字段的记录的 Bigtable 行键设计
- r - GLMM - R 的 Huber-White 稳健标准误差
- winapi - SRW Lock 可以用作二进制信号量吗?
- python - 如何使用 tensorflow 注意力层?
- c# - 如何在一段时间内和外部从列表中获取元素