当前位置: 首页 > 知识库问答 >
问题:

Tensorflow集线器:恢复经过重新训练的通用句子编码器模块

殷建弼
2023-03-14

我一直在尝试重新训练通用句子编码器模块(使用),但我似乎无法从任何更新/重新训练的模块权重生成新的嵌入。

我已经遵循了elmo分类器示例,并将其替换为use模块。分类器工作正常,我似乎不知道如何访问新模块嵌入。我可以恢复保存的模型,但不确定如何实际调用嵌入函数?
例如,之前我通过设置路径

m=hub.module(path) then generate the embeddings via

m(sentences)

但是,我如何使用恢复的分类器模型进行这个调用呢?请注意,我将参数设置为< code > trainible = True ,如示例教程中所示。

我是否只需进行相同的调用,它就会自动拾取经过分类器再培训的新权重?我检查过类似的问题,但大多数都与操作元图有关。我只想简单地使用新的权重来生成一些新的嵌入,看看它们在对其他数据进行微调后是否有所不同。也许这是不可能的?

如有任何澄清,将不胜感激。

共有1个答案

乜元魁
2023-03-14

因此,当我运行分布式张量流并且损失没有改变时,我实际上遇到了这个问题。

诀窍是,当您第一次下载它时,您需要设置trainable=True,否则权重将被锁定。

因此,在您的情况下,使用可训练 = True 重新下载模块以解锁权重。

 类似资料:
  • 我使用通用句子编码器精简版创建了一个保存的模型。如果我使用tf.saved_model加载器加载已保存的模型,它工作得很好。 但是,如果我尝试使用Tensorflow服务为模型提供服务,我会得到以下错误: “错误”: “索引[3] = 1 不在 [0, 1)\n\t [[节点: lite_module_apply_default/Encoder_en/柯纳转换器/ClipToMax长度/Gathe

  • 我想从这里尝试通用句子编码器链接。 这是我在Ubuntu 18.04和Jupyter笔记本上运行的代码 它一直在运行,什么也没发生。它在下载什么东西吗?我已经等了很长时间了。除了以下内容,它什么也没显示: 我检查了我的tensorflow装置。看起来很好。有什么故障排除建议吗?

  • 问题内容: 我正在张量流中训练一个生成对抗网络(GAN),基本上我们有两个不同的网络,每个网络都有自己的优化器。 问题是我先训练一个网络(g),然后再一起训练g和d。但是,当我调用load函数时: 我有这样的错误(回溯很多): 我可以恢复g网络并继续使用该功能进行训练,但是当我想从头开始盯着d并从存储的模型中盯着g时,我会遇到该错误。 问题答案: 要还原变量的子集,您必须创建一个新变量并将变量的特

  • 问题内容: 我想知道是否有可能保存经过部分训练的Keras模型并在再次加载模型后继续进行训练。 这样做的原因是,将来我将拥有更多的训练数据,并且我不想再次对整个模型进行训练。 我正在使用的功能是: 编辑1:添加了完全正常的示例 对于10个纪元后的第一个数据集,最后一个纪元的损失将为0.0748,精度为0.9863。 保存,删除和重新加载模型后,第二个数据集上训练的模型的损失和准确性分别为0.171

  • 我试图使用官方OpenNLP网站手册示例来训练一个新模型,以下是示例: 问题出在2º线上, 帮我说:不赞成。改用PlainTextByLineStream(InputStreamFactory,Charset)。但是我不知道如何使用这个构造函数。我想举一个例子,使用同一个语料库文件使用这个未弃用的构造函数。 我已经编写了下一段代码,使用opennlp帮助和两种使用train方法的方法,不推荐的和建

  • 如何保存已训练的模型? 以后如何还原此保存的模型?