执行torch.save(net.state_dict(), save_path_pth)报错:

RuntimeError: Parent directory D:\xxxxxxxxxxx\weights does not exist.

解决办法

原报错代码

save_path = r'D:\迁移学习实验\resnet50_network\weights'
...
...
save_path_pth = os.path.join(save_path,
                                         'update_{}_val_acc_{:.3f}.pth'.format(epoch + 1, best_acc))
torch.save(net.state_dict(), save_path_pth)

修改后的代码

save_path = r'D:\transfer_learning\resnet50_network\weights'
...
...
save_path_pth = os.path.join(save_path,
                                         'update_{}_val_acc_{:.3f}.pth'.format(epoch + 1, best_acc))
torch.save(net.state_dict(), save_path_pth)

结论

没错!聪明的你应该已经发现了,问题就出在save_path中出现了中文路径导致找不到该路径,全部修改中文就好了。
如果你的保存路径很长,实在不想改那么多怎么办?可以使用相对路径,只要保证脚本所在的同级目录往后都是英文就可以了。

save_path = r'.\weights'

记录一下,毕竟这个问题我找了一个晚上。希望能够帮助大家少走点弯路。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐