Pytorch 报错:“SyntaxError: non-default argument follows default argument”

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!')

问题解决。


版权声明:本文为u014546828原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。