问题标签 [sentence-transformers]
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.
python - 在 cpanel 的 python 应用程序中导入 SentenceTransformer 时出现分段错误错误
在 cpanel 我创建了一个 python 程序,它适用于我运行的每个 python 代码,但是在安装并在 python sentence-transformers
withpip
中导入它之后from sentence_transformers import SentenceTransformer
,Segmentation fault
当我运行.py
文件时出现错误。
nlp - 与 BERT 的字符串比较似乎忽略了句子中的“不”
我使用 SentenceTransformers 和 BERT 实现了一个字符串比较方法,如下所示
请注意我的句子示例非常相似但含义相反。问题是余弦相似度返回 0.9,表明这两个字符串在上下文中非常相似,而我期望它返回接近零的值,因为它们具有相反的含义。
如何调整我的代码以返回更准确的结果?
nlp - 限制 BERT 编码器-解码器文本生成的词汇
有没有办法限制 Huggingface BERT 编码器-解码器模型中解码器的词汇量?我想强制解码器在生成文本时从一个小词汇表中进行选择,而不是 BERT 的整个约 30k 词汇表。
python - RuntimeError:堆栈需要一个非空的 TensorList
我正在尝试创建一个嵌入以用于单词匹配技术,但出现以下错误:
我似乎不明白为什么会发生这种情况,因为我的第二个嵌入(2)没有任何错误就很好地完成了?
如果有帮助,这里是一些代码:
bert-language-model - 微调 BERT 句子转换器模型
我正在使用预训练的 BERT 句子转换器模型,如此处所述https://www.sbert.net/docs/training/overview.html来获取句子的嵌入。
我想微调这些预训练的嵌入,我按照上面链接的教程中的说明进行操作。根据本教程,您可以通过输入句子对和一个标签分数来微调预训练模型,该标签分数表示成对中两个句子之间的相似性分数。我了解这种微调是使用下图所示的架构进行的:
对中的每个句子首先使用 BERT 模型进行编码,然后“池化”层聚合(通常通过取平均值)由 Bert 层生成的词嵌入,从而为每个句子生成单个嵌入。在最后一步计算两个句子嵌入的余弦相似度,并与标签分数进行比较。
我的问题是 - 在使用给定架构微调模型时,哪些参数正在优化?是不是只微调了BERT模型最后一层的参数?通过查看教程中显示的微调模型的代码示例,我不清楚这一点。
nlp - 如何从本地路径加载带有 SentenceTransformers 的 Bert 预训练模型?
我正在使用 SentenceTransformer 库来使用 Bert 预训练模型我在 google Colabs 中下载了文件并使用以下命令保存了它:
这些给了我一个包含我的模型的文件夹,然后我下载该文件夹并想在我的本地文件中使用以下代码:
但现在它不能正常工作,我得到这个错误,' NameError: name 'model' is not defined ' 如何加载我保存到路径的模型?
nlp - 如何在变压器和火炬中使用句子 bert
我想使用sentence_transformers
但由于政策限制我无法安装 package sentence-transformers
我有变压器和手电筒包。
我去了这个页面并尝试运行以下代码
在此之前,我去了页面并下载了所有文件
我运行的代码是
我得到的错误如下
我的问题:
- 我应该如何解决这个错误?
- 有没有办法对MiniLM-L6-H384-uncased -使用相同的方法。我想使用它,因为它似乎更快
=============================== 软件包版本如下 -
huggingface-transformers - 为什么三个嵌入结果与 Transformer 模型如此不同?
我想从转换器模型中获得短文本嵌入,所以我测试了 3 种计算方法。所有 3 个案例都使用 Huggingface Hub 的模型。
两种方法都使用中国模式:
第三种方法直接使用句子转换器模型(https://www.sbert.net/):
现在我测试了'这个好'和其他几个句子的相似度,结果如下(基于cosine_similarity):
很明显,这 3 种方法产生了非常不同的相似度分数,第 3 种方法似乎是最好的。如果它们略有不同,那是可以理解的。如果它们如此不同,应该使用哪一个?
我喜欢第三种方法的结果,但是在测试这几句话时,它在 CPU 和 GPU 机器上都非常慢。其他2个要快得多。
python - 在没有 GPU 的情况下提高拥抱面变压器模型的模型预测时间
我在很多任务中使用了拥抱脸变压器模型,效果很好,但唯一的问题是响应时间。生成结果大约需要 6-7 秒,有时甚至需要大约 15-20 秒。我在使用 GPU 的 google collab 上进行了尝试,GPU 的性能在处理结果的几秒钟内太快了。由于我当前服务器上的 GPU 存在限制,是否有任何方法可以增加仅使用 CPU 的模型的响应时间。
目前使用 GooglePegasus 模型进行文本摘要。 https://huggingface.co/google/pegasus-xsum
和 Parrot 释义:内部使用来自变形金刚的 bert 模型 https://huggingface.co/prithivida/parrot_paraphraser_on_T5
这是飞马模型的代码:
稍有改善也会有所帮助!