I'm setting up a script and I need to use some functions from fast-ai
package. The fact is that I'm on Windows and when I define my paths, the function from fast-ai
named load_learner
can't load the model.
I've tried to change the function into the package as:
state = pickle.load(open(str(path) + '/' + str(fname), 'rb'))
instead of:
state = pickle.load(open(path/fname, 'rb'))
but I obtain this error:
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
My paths are defined as:
folder_path = './models/model1'
fname = 'model.pkl'
and I call the function as:
model = load_learner(folder_path, fname)
How can I use Windows paths in this function?
UPDATE 1
The answer posted was correct only on Linux. I still have the issue on Windows. I didn't find a way to pass through the PosixPath on Windows. The only solution that I found is to change the internal packages from my modules but it is not a secure way to solve this kind of issue.
Thanks in advance.
\\
for paths, you can easily obtain the right separator for all systems by usingos.sep
see. Try to replace all/
with the windows format separator – Bessiebessy