首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Joblib.load错误:没有名为“scipy.sparse._csr”的模块

Joblib.load错误:没有名为“scipy.sparse._csr”的模块
EN

Stack Overflow用户
提问于 2022-06-15 12:10:11
回答 2查看 1.5K关注 0票数 2
  • Python版本: 3.7 (我必须使用这个版本)
  • 操作系统: Linux
  • 云平台: Azure
  • 资源:使用python的 Azure函数
  • 目标:安装了以下依赖项的加载了一个由SKIT-SearchVersion1.0.2创建的模型:

numpy: 1.17.3 j强有力b: 1.1.0枕木: 1.7.3

我正在使用joblib加载我训练过的短剧学习模型(通过使用python3.9在我的机器中本地创建模型的方式)。但是,我得到了以下错误:

代码语言:javascript
复制
Traceback (most recent call last):
File \"/home/site/wwwroot/sortierung/__init__.py\", line 51, in main
prediction_file_path)
File \"/home/site/wwwroot/shared_code/custom_functions_prediction.py\", line 255, in predict
result.update(classify_mail(m,s,X, stop_words, model_folder_path))
File \"/home/site/wwwroot/shared_code/custom_functions_prediction.py\", line 105, in classify_mail
model = load(modelFilePath)
File \"/home/site/wwwroot/.python_packages/lib/site-packages/joblib/numpy_pickle.py\", line 587, in load
obj = _unpickle(fobj, filename, mmap_mode)
File \"/home/site/wwwroot/.python_packages/lib/site-packages/joblib/numpy_pickle.py\", line 506, in _unpickle
obj = unpickler.load()
File \"/usr/local/lib/python3.7/pickle.py\", line 1088, in load
dispatch[key[0]](self)
File \"/usr/local/lib/python3.7/pickle.py\", line 1385, in load_stack_global
self.append(self.find_class(module, name))
File \"/usr/local/lib/python3.7/pickle.py\", line 1426, in find_class
__import__(module, level=0)\nModuleNotFoundError: No module named 'scipy.sparse._csr'

我签入了已安装的find文件夹,找不到这个模块。我怎样才能解决这个问题?Tks预先

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-06-15 14:01:26

若要解决此ModuleNotFoundError: No module named 'scipy.sparse._csr'错误,请尝试以下方式:

发生此错误是因为您在Python3.9中创建了一个模型,但在Python3.7上运行它。

您可以尝试在Python3.7中创建模型,或者将Azure函数应用程序升级到特定版本的Python3.9

根据文档,将Python更改为3.9

  • 您可以使用linuxFxVersion set命令更新函数应用程序中的az functionapp config设置。
代码语言:javascript
复制
az functionapp config set --name <FUNCTION_APP> \
--resource-group <RESOURCE_GROUP> \
--linux-fx-version "python|3.9"

参考文献:csr‘如何更改python版本的azure函数

票数 2
EN

Stack Overflow用户

发布于 2022-09-20 03:03:47

我同意最后一个答案。

在本地windows环境中,我使用python3.7.10sply1.8.1来转储带有csr矩阵的dict。然后,通过python3.8.10sply1.7.1加载linux环境中的文件。

self.word_multi_model_feature = pickle.load(f_dict_feature) ModuleNotFoundError:没有名为“scipy.sparse._csr”的模块

您应该将load环境更改为与转储环境相同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72631150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档