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

問題解決。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章