在Linux环境下训练好了模型,再使用Windows系统加载模型使用报错,原来是使用了PosixPath这个高级库。
由于 Windows 操作系统 和 Linux 操作系统 文件系统设计存差异。路径字符串的表示方法有所不同,例如Linux 使用 “ / ” 分隔符而 Windows 使用 “ \ ”,根目录表示方式也不同。因此针对两套系统创建了WindowsPath类 和 PosixPath类。
在 Windows 操作系统下,默认创建的 Path 对象是 WindowsPath 对象,其余Linux,unix 等满足 POSIX规范的操作系统都将被创建为 PosixPath 对象。
在Windows系统中使用pathlib库加载PyTorch训练好的模型时遇到PosixPath错误。博主通过修改pathlib.py源码,将PosixPath替换为WindowsPath以解决不兼容问题,确保模型在Windows环境下正常实例化。
windows环境下使用pathlib库加载pytorch训练好的模型出现不能实例化PosixPath错误。
在pathlib.py文件的1081行做如下修改:
def __new__(cls, *args, **kwargs):
# 源码
# if cls is Path:
# cls = WindowsPath if o