【发布时间】:2021-08-29 15:27:46
【问题描述】:
我一直在尝试使用 torch.save(agent.qnetwork_local.state_dict(), filename) 其中 filename = datetime.now().strftime('%d-%m-%y-%H:%M_dqnweights.pth')
type(filename) 返回str,torch.save() 应该没有问题,它应该输出一个非空文件。相反,我得到一个只有日期和时间的空文件,之后什么都没有。将日期和文件名放在中间会导致一个空文件,其中包含截止日期和时间之后的所有内容。
torch.save(agent.qnetwork_local.state_dict(), 'checkpoint1.pth') 并且任何时候我硬编码字符串都可以工作并给我预期的非空文件。
发生了什么,我该如何解决?
我在 Windows 10 上使用 Pytorch v1.8.1+cpu 在 Python v3.6.8 virtualenv 中运行此代码。
【问题讨论】:
-
你的操作系统是什么?窗户?
-
是的 WIndows 10。现在编辑问题。
-
我认为 Windows 文件名中不允许使用冒号。尝试不使用它。
-
成功了。我曾假设任何文件名问题只会引发错误而不是保存空文件。如果文件与运行程序的操作系统的约定不兼容,是否可以使用异常或其他机制来防止写入文件?
-
没有内置的,AFAIK。看看:stackoverflow.com/questions/295135/…
标签: python pytorch state-dict