joblib加载模型报错 ModuleNotFoundError: No module named ‘lib‘

69 篇文章 22 订阅
2 篇文章 0 订阅

执行如下语句的时候报错

model = joblib.load(filename=file_path)

文件目录树如下:

som
-- train(保存模型)
	-- lib
		-- minisom.py
		
-- predict(加载模型)

报错信息:

Traceback (most recent call last):
  File "D:/SOM/self_organizing_maps/predict/test_som_predict.py", line 55, in <module>
    model = joblib.load(filename=file_path)
  File "D:\softwear_install_position\anaconda3\envs\py3.7\lib\site-packages\joblib\numpy_pickle.py", line 585, in load
    obj = _unpickle(fobj, filename, mmap_mode)
  File "D:\softwear_install_position\anaconda3\envs\py3.7\lib\site-packages\joblib\numpy_pickle.py", line 504, in _unpickle
    obj = unpickler.load()
  File "D:\softwear_install_position\anaconda3\envs\py3.7\lib\pickle.py", line 1088, in load
    dispatch[key[0]](self)
  File "D:\softwear_install_position\anaconda3\envs\py3.7\lib\pickle.py", line 1376, in load_global
    klass = self.find_class(module, name)
  File "D:\softwear_install_position\anaconda3\envs\py3.7\lib\pickle.py", line 1427, in find_class
    __import__(module, level=0)
ModuleNotFoundError: No module named 'lib'

试着把最后一行错误的地方打印出来看看,即在 __import__(module, level=0) 的前一行 print("model:", model),得到如下:

module: lib.minisom

很明显,就是因为使用第三方包 minison 的时候,只在 train 文件夹下有 lib/minisom.py

所以在 predict 文件夹下加载模型的话,就找不到对应的 lib/minisom.py

最终修改的文件目录树为:

som
-- train(保存模型)
	-- lib
		-- minisom.py
		
-- predict(加载模型)
	-- lib
		-- minisom.py
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值