记一次windows环境下PaddleNLP的模型下载bug排除

简介: 记一次windows环境下PaddleNLP的模型下载bug排除

一、问题描述


由于计划做一个智能代码提示生成的工具,所以晚上就消耗大量时间在coding。。。。。。


平时都在aistudio的linux环境下干活,这次想着作为插件部署到jupyter下,所以就本地干活了,然而平时跑的很溜的代码,就出现了不可思议的错误。具体如下:

image.png

平时都用的好好的,为什么这次就错了呢?为此我打开虚拟环境,挨个代码查看, 看看到底什么地方出错,看代码都很平静,那问题出在哪儿呢?修改下paddlenlp代码打印下日志:

https://bj.bcebos.com/paddlenlp/models/community/Salesforce/codegen-350M-mono\vocab.json
https://bj.bcebos.com/paddlenlp/models/community/Salesforce/codegen-350M-mono\merges.txt
https://bj.bcebos.com/paddlenlp/models/community/Salesforce/codegen-350M-mono\added_tokens.json


二、问题分析


发现下载模型等链接,且报404,心有不甘,手动点链接,文件下载文件成功,那这个是什么锅?


心有不甘,仔细对比发现最末尾的斜杠不一样,会不会是这个问题呢?我对比下发现:

image.png


那,不同的斜杠,request 下载结果截然不同,那锅找到了。


三、解决办法


分析道问题了,那么这个杠怎么来的?大胆猜测,这里的杠是采用了os.path.join来连接 url 的。殊不知不论win还是linux等系统,url格式都是一致的,反而会导致python访问异常。那么就按部就班解决问题,把原先的path.join修改为“/”。


1.修改transformers\model_utils.py


对该文件第1539行修改

# vocab_files["tokenizer_config_file"] = os.path.join(
            #     COMMUNITY_MODEL_PREFIX, pretrained_model_name_or_path,
            #     cls.tokenizer_config_file)
            vocab_files["tokenizer_config_file"] = COMMUNITY_MODEL_PREFIX+ '/'+ pretrained_model_name_or_path +'/'+ cls.tokenizer_config_file


2.修改transformers\tokenizer_utils_base.py


对该文件248行修改

# Assuming from community-contributed pretrained models
            for file_id, file_name in cls.resource_files_names.items():
                # full_file_name = os.path.join(COMMUNITY_MODEL_PREFIX,
                #                               pretrained_model_name_or_path,
                #                               file_name)
                full_file_name = COMMUNITY_MODEL_PREFIX +'/'+  pretrained_model_name_or_path +'/'+file_name
                resource_files[file_id] = full_file_name
            # resource_files["model_config_file"] = os.path.join(
            #     COMMUNITY_MODEL_PREFIX, pretrained_model_name_or_path,
            #     cls.model_config_file)
            resource_files["model_config_file"] = COMMUNITY_MODEL_PREFIX +'/'+ pretrained_model_name_or_path +'/'+cls.model_config_file

这样就解决了win下模型下载出错问题。


目录
相关文章
|
9月前
|
安全 数据安全/隐私保护 虚拟化
Windows Server 2022 中文版、英文版下载 (2025 年 10 月更新)
Windows Server 2022 中文版、英文版下载 (2025 年 10 月更新)
2287 2
Windows Server 2022 中文版、英文版下载 (2025 年 10 月更新)
|
9月前
|
安全 物联网 API
Windows 11 25H2 | 24H2 | 23H2 中文版、英文版 (x64、ARM64) 下载 (2025 年 10 月更新)
Windows 11 25H2 | 24H2 | 23H2 中文版、英文版 (x64、ARM64) 下载 (2025 年 10 月更新)
17210 1
Windows 11 25H2 | 24H2 | 23H2 中文版、英文版 (x64、ARM64) 下载 (2025 年 10 月更新)
|
9月前
|
安全 Unix 物联网
Windows 7 & Windows Server 2008 R2 简体中文版下载 (2025 年 10 月更新)
Windows 7 & Windows Server 2008 R2 简体中文版下载 (2025 年 10 月更新)
1005 0
Windows 7 & Windows Server 2008 R2 简体中文版下载 (2025 年 10 月更新)
|
9月前
|
存储 SQL 人工智能
Windows Server 2025 中文版、英文版下载 (2025 年 10 月更新)
Windows Server 2025 中文版、英文版下载 (2025 年 10 月更新)
1220 0
|
Linux Windows
Windows 10/11从官网下载ISO的方法
本文介绍了两种从微软官网下载Windows 10/11 ISO镜像的方法。一是通过修改浏览器User Agent为Linux系统,使官网提供ISO下载链接;二是使用UUPDUMP工具,从官网下载并转换为ISO格式,支持最新开发版,操作简便。
|
9月前
|
安全 物联网 API
Windows 11 25H2 中文版、英文版 (x64、ARM64) 下载 (2025 年 9 月发布)
Windows 11 25H2 中文版、英文版 (x64、ARM64) 下载 (2025 年 9 月发布)
8551 15
Windows 11 25H2 中文版、英文版 (x64、ARM64) 下载 (2025 年 9 月发布)
|
10月前
|
存储 SQL 人工智能
Windows Server 2025 中文版、英文版下载 (2025 年 9 月更新)
Windows Server 2025 中文版、英文版下载 (2025 年 9 月更新)
9494 3
Windows Server 2025 中文版、英文版下载 (2025 年 9 月更新)
|
10月前
|
安全 Unix 物联网
Windows 7 & Windows Server 2008 R2 简体中文版下载 (2025 年 9 月更新)
Windows 7 & Windows Server 2008 R2 简体中文版下载 (2025 年 9 月更新)
3343 2