栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Huggingface Transformers 安装报错 ImportError: /lib64/libc.so.6: version `GLIBC

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Huggingface Transformers 安装报错 ImportError: /lib64/libc.so.6: version `GLIBC

项目场景:

近期安装transformers的时候发现了这个报错,之前transformers 3.5.0用的很流畅,这次突然遇到这个问题。

问题描述:

这种import error一般不是“缺胳膊少腿”,就是版本不匹配

原因分析:

按照头痛医头,脚痛医脚的思路,先去看看缺的这个包是咋回事。

报错日志不难发现是tokenizers在调用GLIBC 2.18的时候找不到。简单了解了一下GLIBC一个Linux的c运行库(glibc_百度百科),再看一下服务器现有的GLIBC版本,确实没有2.18这个版本。

百度一下有说补装2.18版本的,不过看起来不太靠谱的样子,所以还是去github上的issue看看有没有相似的问题。果然还是可以找到类似的问题:

2.3.0 with pip on CentOS">Cannot install Transformers version >2.3.0 with pip on CentOS

The Conda package doesn't work on CentOS 7 and Ubuntu 18.04

看了一下大佬们的发言,发现似乎部分Linux系统没有GLIBC 2.18版本,所以现在只能考虑换一个tokenizers的版本,换到一个不使用GLIBC 2.18的版本。

解决方案:

这里我选择的是降级transformers以及tokenizers到一个稳定的版本,以适配当前的pytorch1.3.1版本: 

pip uninstall transformers
pip uninstall tokenizers
pip install transformers==3.5.0
pip install tokenizers==0.9.3

当然了,使用tokenizers 0.10.1 / transformers 4.11.3 以适配pytorch 1.5.0+也许也是一个合理的办法。

总结:

所以这个问题总结一下依旧是一个版本不匹配的问题:
新版本的transformers中的tokenizers使用了GLIBC 2.18

但是部分CentOS或Ubuntu18.04之类的版本没有GLIBC 2.18这个版本(https://forums.centos.org/viewtopic.php?t=71740),这个原因可能和它系统本身有关系。

所以为了解决这个问题,考虑把tokenizers降低到一个不使用GLIBC 2.18的版本,然后在降低版本的过程中发现:tokenizers 0.10.1/transformers 4.11.3 要适配pytorch 1.5.0以上版本。

最终选择降低tokenizers 0.9.3/transformers 3.5.0,以适配pytorch 1.3.1来解决这个问题

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/348420.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号