我想使用AML中的sentence_transformers来运行XLM-Roberta模型进行句子嵌入。我有一个脚本,其中我导入sentence_transformers:
from sentence_transformers import SentenceTransformer
运行AML管道后,此脚本的运行失败,并出现以下错误:
AzureMLCompute job failed.
UserProcessKilledBySystemSignal: Job failed since the user script received system termination signal usually due to out-of-memory or segfault.
Cause: segmentation fault
TaskIndex:
NodeIp: #####
NodeId: #####
我很确定是这个导入导致了这个错误,因为如果我注解掉这个导入,脚本的其余部分就会运行,这很奇怪,因为sentence_transformers的安装成功了。
这是我的计算的详细信息:
Virtual machine size
STANDARD_NV24 (24 Cores, 224 GB RAM, 1440 GB Disk)
Processing Unit
GPU - 4 x NVIDIA Tesla M60
代理池:
Azure Pipelines
药剂规格:
ubuntu-16.04
要求. txt文件:
torch==1.4.0
sentence-transformers
有人能解决这个错误吗?
2条答案
按热度按时间jgovgodb1#
我通过将pytorch版本从1.4.0更改为1.6.0修复了这个问题。因此requirements.txt看起来如下所示:
一开始我尝试了一个旧版本的sentence-transformers,它兼容pytorch1.4.0,但是旧版本不支持“xml-roberta-base”模型,所以我尝试升级pytorch1.4.0版本。
dgsult0t2#
我在Python 10环境中安装sentence-transformers 2.2.2时遇到了类似的问题。安装过程失败,并显示错误消息。经过一些故障排除,我找到了一个适合我的解决方案。我将Python安装从版本10降级到版本8。然后我就可以毫无问题地安装sentence-transformers 2.2.2了。看起来sentence-transformers和Python 10之间存在一些不兼容性。如果您遇到类似的问题,我建议试试这个解决方案,当然,如果你使用的是其他需要Python 10的软件包,那么降级Python安装可能并不理想。