运行deepparse神经网络脚本遇SentencePiece文件找不到错误求助
解决deepparse bpemb模型SentencePiece文件存在却找不到的OSError问题
问题重现
运行deepparse官方地址解析代码时,触发文件不存在错误,但目标路径下的模型文件实际存在:
_sentencepiece.SentencePieceProcessor_LoadFromFile(self, arg) OSError: Not found: "C:\Users\MyUserName\.cache\deepparse\multi\multi.wiki.bpe.vs100000.model": No such file or directory
执行的代码:
from deepparse.parser import AddressParser from deepparse.dataset_container import CSVDatasetContainer address_parser = AddressParser(model_type="bpemb", device=0) parsed_address = address_parser( ["350 rue des Lilas Ouest Québec Québec G1L 1B6", "777 Brockton Avenue, Abington MA 2351", "Ansgarstr. 4, Wallenhorst, 49134", "221 B Baker Street", "서울특별시 종로구 사직로3길 23"]) print(parsed_address)
环境信息:
- Python 3.10
- Windows 10
- fasttext 通过
fasttext-0.9.2-cp310-cp310-win_amd64.whl安装
可行解决方案
1. 适配SentencePiece版本
SentencePiece在Windows下的路径解析存在版本兼容问题,回退到稳定版本:
pip uninstall sentencepiece -y pip install sentencepiece==0.1.97
2. 显式指定缓存路径(正斜杠格式)
初始化AddressParser时手动指定缓存目录,强制使用正斜杠路径避免转义问题:
from deepparse.parser import AddressParser cache_dir = "C:/Users/MyUserName/.cache/deepparse" address_parser = AddressParser(model_type="bpemb", device=0, cache_dir=cache_dir)
3. 重置模型缓存
删除C:\Users\MyUserName\.cache\deepparse\multi下的所有文件,重新运行代码让deepparse自动重新下载模型,排除缓存文件损坏的可能。
4. 检查目录权限
确保当前用户对C:\Users\MyUserName\.cache\deepparse目录拥有读写权限:右键目录→属性→安全,确认当前用户组具备完全控制或读写权限。
5. 手动加载SentencePiece模型
绕开deepparse内部的路径处理逻辑,手动加载模型后注入到解析器:
import sentencepiece as spm from deepparse.parser import AddressParser # 手动加载模型(用正斜杠路径) sp_processor = spm.SentencePieceProcessor() sp_processor.Load("C:/Users/MyUserName/.cache/deepparse/multi/multi.wiki.bpe.vs100000.model") # 初始化解析器并替换tokenizer address_parser = AddressParser(model_type="bpemb", device=0) address_parser.tokenizer = sp_processor # 继续执行地址解析 parsed_address = address_parser( ["350 rue des Lilas Ouest Québec Québec G1L 1B6", "777 Brockton Avenue, Abington MA 2351", "Ansgarstr. 4, Wallenhorst, 49134", "221 B Baker Street", "서울특별시 종로구 사직로3길 23"]) print(parsed_address)
内容的提问来源于stack exchange,提问作者MR.Max
相关产品推荐
相关产品推荐

