训练保存模型checkpoint时报错SyntaxError: invalid syntax

文章讲述了在使用PyTorch训练模型时,尝试将超参数head_num添加到checkpoint文件名中,导致SyntaxError。问题出在f-string的嵌套单引号上,解决方法是将单引号替换为双引号。
摘要由CSDN通过智能技术生成

在使用pytorch训练保存checkpoint时,出现如下报错:

root@autodl-container-745411b452-c5cebfed:~/kvasir-seg-main# python train_transunet.py --loss_function="IoULoss" --training_augmentation=0
  File "train_transunet.py", line 306
    torch.save(state, f'checkpoints/{SETTINGS["model_name"]}_{'headnum6'}.pth')
                                                               ^
SyntaxError: invalid syntax

报错的代码是这句这一句原本代码如下:

torch.save(state, f'checkpoints/{SETTINGS["model_name"]}.pth')

因为我修改了一个超参数head_num,希望把这个超参数加入到checkpoint名称里,以区分每次训练保存的结果。于是增加了_{'headnum6'}。

出错的原因,是 f-string 本身也是用单引号包围的,而我又在单引号内部又用了一次但引导,导致f-string产生了混淆,无法正确解析。

所以只要把单引号替换成双引号就可以了

torch.save(state, f'checkpoints/{SETTINGS["model_name"]}_{"headnum6"}.pth')

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝海渔夫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值