Pytorch 报错:“SyntaxError: non-default argument follows default argument”
调试代码如下:
def load_network(self, network, network_label, save_dir='', which_premodel): save_filename = '33_net_%s_epdn_pretrained_%s_dataset.pth' % (network_label, which_premodel) if not save_dir: save_dir = self.save_dir save_path = os.path.join(save_dir, save_filename) if not os.path.isfile(save_path): print('%s not exists yet!' % save_path) if network_label == 'G': raise('Generator must exist!')
出现如下报错:SyntaxError: non-default argument follows default argument
原因是将带默认值的形参 save_dir 放在了不带默认值 which_premodel 的形参前面,换一下顺序即可 (第一行)。
def load_network(self, network, network_label, which_premodel, save_dir=''):
save_filename = '33_net_%s_epdn_pretrained_%s_dataset.pth' % (network_label, which_premodel)
if not save_dir:
save_dir = self.save_dir
save_path = os.path.join(save_dir, save_filename)
if not os.path.isfile(save_path):
print('%s not exists yet!' % save_path)
if network_label == 'G':
raise('Generator must exist!')
问题解决。