首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >joblib:无法从另一个目录加载已转储的joblib文件

joblib:无法从另一个目录加载已转储的joblib文件
EN

Stack Overflow用户
提问于 2020-10-17 16:21:12
回答 1查看 1.4K关注 0票数 2

我正在尝试从另一个目录加载一个转储的load文件,它会给出以下错误

代码语言:javascript
复制
Traceback (most recent call last):
  File "D:\dir\loader.py", line 5, in <module>
    foob = joblib.load(r'D:\foob.joblib')
  File "C:\programming\programmeFiles\anaconda\envs\tensor_gpu\lib\site-packages\joblib\numpy_pickle.py", line 585, in load
    obj = _unpickle(fobj, filename, mmap_mode)
  File "C:\programming\programmeFiles\anaconda\envs\tensor_gpu\lib\site-packages\joblib\numpy_pickle.py", line 504, in _unpickle
    obj = unpickler.load()
  File "C:\programming\programmeFiles\anaconda\envs\tensor_gpu\lib\pickle.py", line 1088, in load
    dispatch[key[0]](self)
  File "C:\programming\programmeFiles\anaconda\envs\tensor_gpu\lib\pickle.py", line 1376, in load_global
    klass = self.find_class(module, name)
  File "C:\programming\programmeFiles\anaconda\envs\tensor_gpu\lib\pickle.py", line 1426, in find_class
    __import__(module, level=0)
ModuleNotFoundError: No module named 'foo'  

再现错误的最小代码

目录如下所示

代码语言:javascript
复制
D-
   \
    foo.py
    dumper.py
    foob.joblib
    dir-
        \
         loader.py 

foo.py

代码语言:javascript
复制
class Foo:
    def __init__(self):
        self.s = "here at Foo"
    def __repr__(self):
        return "fooObject"

dumper.py

代码语言:javascript
复制
import joblib
import foo

foob = foo.Foo()
joblib.dump(foob,'foob.joblib')

loader.py

代码语言:javascript
复制
import joblib
foob = joblib.load(r'D:\foob.joblib')
print(foob)  

如果我试图从同一个目录(D)加载foob.joblib,那么在从不同目录运行loader.py时会发生错误

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-03 08:27:23

joblib.load()需要所有需要的模块才能在路径中进行无酸洗。因此,您需要在加载时添加foo.py的位置,即系统路径。

例如,添加:

代码语言:javascript
复制
import sys
import os
this_dir = os.path.dirname(__file__) # Path to loader.py
sys.path.append(os.path.join(this_dir, <rel_path_to_foo.py>))

loader.py的顶端

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

https://stackoverflow.com/questions/64404643

复制
相关文章

相似问题

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