我无法加载模型,因为无法放置PosixPath

单肩包

我正在设置一个脚本,我需要使用fast-ai软件包中的某些功能事实是我在Windows上,并且在定义路径时,fast-ainamed中的函数load_learner无法加载模型。

我试图将功能更改为包为:

state = pickle.load(open(str(path) + '/' + str(fname), 'rb'))

代替:

state = pickle.load(open(path/fname, 'rb'))

但我收到此错误:

 File "lib\site-packages\fastai\basic_train.py", line 462, in load_learner
    state = pickle.load(open(path/fname, 'rb'))
  File "\lib\pathlib.py", line 1006, in __new__
    % (cls.__name__,))
NotImplementedError: cannot instantiate 'PosixPath' on your system

我的路径定义为:

folder_path = './models/model1'
fname = 'model.pkl'

我将函数称为: model = load_learner(folder_path, fname)

如何在此功能中使用Windows路径?


更新1

发布的答案仅在Linux上是正确的。我在Windows上仍然有问题。我没有找到在Windows上通过PosixPath的方法。我发现的唯一解决方案是更改模块中的内部软件包,但这不是解决此类问题的安全方法。


提前致谢。

单肩包

根据我自己的问题,我找到了一种使用方法:

from pathlib import Path

folder_path = Path('./models/model1')

更新1

此解决方案仅在Linux上有效,在Windows上我仍然出现错误。


本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章