【发布时间】:2021-12-26 22:24:41
【问题描述】:
我一直在尝试使用一个使用 src+img 的模型来训练一些数据。运行训练脚本时,我遇到了一个错误,即:RuntimeError: PytorchStreamReader failed locating file data.pkl: file not found
这里的 .pkl 文件应该是腌制的 .pt 文件。
首先我想也许我没有正确指定预处理的 training.pt 文件,但它实际上是正确指定的。
data.pkl 没有被转储到任何地方(或者我找不到它)。我猜它与文档的泡菜accordimg有关:
"这个保存/加载过程使用最直观的语法,涉及的代码最少。以这种方式保存模型将使用Python的pickle模块保存整个模块。这种方法的缺点是序列化data 绑定到特定的类和保存模型时使用的确切目录结构。这样做的原因是因为 pickle 不保存模型类本身,而是保存包含该类的文件的路径,使用在加载期间。因此,您的代码在其他项目中使用或重构后可能会以各种方式中断。"
我尝试了很多方法,例如更改脚本中的 data.pkl 以查看是否生成了损坏的文件,但似乎并非如此。
如果有人愿意提供帮助,我将不胜感激:
完全错误:
File "train_mm.py", line 448, in <module>
main()
File "train_mm.py", line 423, in main
first_dataset = next(lazily_load_dataset("train"))
File "train_mm.py", line 314, in lazily_load_dataset
yield lazy_dataset_loader(pt, corpus_type)
File "train_mm.py", line 305, in lazy_dataset_loader
dataset = torch.load(pt_file)
File "/usr/local/lib/python3.7/dist-packages/torch/serialization.py", line 607, in load
return _load(opened_zipfile, map_location, pickle_module, **pickle_load_args)
File "/usr/local/lib/python3.7/dist-packages/torch/serialization.py", line 878, in _load
data_file = io.BytesIO(zip_file.get_record(pickle_file))
RuntimeError: PytorchStreamReader failed locating file data.pkl: file not found
已解决:我重新运行了预处理脚本,它生成了新的 .pt 文件,错误已解决
【问题讨论】:
标签: python pytorch google-colaboratory pickle recurrent-neural-network