@@ -322,7 +322,7 @@ def from_pretrained(cls,
322322 raise ValueError (f'Please pass in a local dir or a model id, not a local file: { model_dir } ' )
323323 extra_state_keys = kwargs .pop ('extra_state_keys' , None )
324324 if extra_state_keys is None and os .path .isfile (os .path .join (model_dir , cls .EXTRA_STATE_DIR , CONFIG_NAME )):
325- with open (os .path .join (model_dir , cls .EXTRA_STATE_DIR , CONFIG_NAME ), 'r' ) as file :
325+ with open (os .path .join (model_dir , cls .EXTRA_STATE_DIR , CONFIG_NAME ), 'r' , encoding = 'utf-8' ) as file :
326326 _json = json .load (file )
327327 extra_state_keys = _json .get ('extra_state_keys' )
328328 if adapter_name is None :
@@ -340,7 +340,7 @@ def from_pretrained(cls,
340340 logger .warning (f'{ _name } is not a valid tuner' )
341341 continue
342342
343- with open (config_file , 'r' ) as file :
343+ with open (config_file , 'r' , encoding = 'utf-8' ) as file :
344344 json_object = json .load (file )
345345
346346 if SWIFT_TYPE_KEY not in json_object :
@@ -395,7 +395,7 @@ def create_or_update_model_card(self, output_dir: str):
395395 if not os .path .exists (os .path .join (output_dir , 'README.md' )):
396396 lines = []
397397 else :
398- with open (os .path .join (output_dir , 'README.md' ), 'r' ) as f :
398+ with open (os .path .join (output_dir , 'README.md' ), 'r' , encoding = 'utf-8' ) as f :
399399 lines = f .readlines ()
400400
401401 quantization_config = None
@@ -426,7 +426,7 @@ def create_or_update_model_card(self, output_dir: str):
426426 lines .append (f'{ base_model_heading } \n \n - BaseModel Class { self .base_model .__class__ .__name__ } \n ' )
427427
428428 # write the lines back to README.md
429- with open (os .path .join (output_dir , 'README.md' ), 'w' ) as f :
429+ with open (os .path .join (output_dir , 'README.md' ), 'w' , encoding = 'utf-8' ) as f :
430430 f .writelines (lines )
431431
432432 def add_weighted_adapter (
@@ -587,13 +587,14 @@ def save_pretrained(self,
587587 os .makedirs (os .path .join (save_directory , self .EXTRA_STATE_DIR ), exist_ok = True )
588588 self ._save_state_dict (output_state_dict , os .path .join (save_directory , self .EXTRA_STATE_DIR ),
589589 safe_serialization )
590- with open (os .path .join (save_directory , self .EXTRA_STATE_DIR , CONFIG_NAME ), 'w' ) as file :
590+ with open (
591+ os .path .join (save_directory , self .EXTRA_STATE_DIR , CONFIG_NAME ), 'w' , encoding = 'utf-8' ) as file :
591592 json .dump ({'extra_state_keys' : self .extra_state_keys }, file )
592593 else :
593594 logger .error ('Full parameter training, save_extra_states will be ignored' )
594595
595596 if not os .path .exists (os .path .join (save_directory , 'configuration.json' )):
596- with open (os .path .join (save_directory , 'configuration.json' ), 'w' ) as f :
597+ with open (os .path .join (save_directory , 'configuration.json' ), 'w' , encoding = 'utf-8' ) as f :
597598 f .write ('{}' )
598599
599600 @staticmethod
@@ -776,7 +777,7 @@ def has_custom_content(_json):
776777 return not LoRAConfig (** _json ).can_be_saved_to_peft ()
777778
778779 for adapter in adapter_names :
779- with open (os .path .join (ckpt_dir , adapter , CONFIG_NAME )) as f :
780+ with open (os .path .join (ckpt_dir , adapter , CONFIG_NAME ), encoding = 'utf-8' ) as f :
780781 _json = json .load (f )
781782 if has_custom_content (_json ):
782783 raise AssertionError ('Cannot transfer to peft format, '
@@ -802,7 +803,7 @@ def has_custom_content(_json):
802803 state_dict = new_state_dict
803804 SwiftModel ._save_state_dict (state_dict , os .path .join (output_dir , adapter ), safe_serialization )
804805 from swift import LoRAConfig
805- with open (os .path .join (output_dir , adapter , CONFIG_NAME )) as f :
806+ with open (os .path .join (output_dir , adapter , CONFIG_NAME ), encoding = 'utf-8' ) as f :
806807 _json = json .load (f )
807808 peft_config = LoRAConfig (** _json ).to_peft_config ()
808809 peft_config .save_pretrained (os .path .join (output_dir , adapter ))
@@ -836,7 +837,7 @@ def from_pretrained(model: Union[nn.Module, SwiftModel, PeftModel],
836837 model_id = snapshot_download (model_id , revision = revision )
837838 is_peft_model = False
838839 if os .path .exists (os .path .join (model_id , CONFIG_NAME )):
839- with open (os .path .join (model_id , CONFIG_NAME ), 'r' ) as f :
840+ with open (os .path .join (model_id , CONFIG_NAME ), 'r' , encoding = 'utf-8' ) as f :
840841 _json = json .load (f )
841842 is_peft_model = SWIFT_TYPE_KEY not in _json
842843
@@ -845,7 +846,7 @@ def from_pretrained(model: Union[nn.Module, SwiftModel, PeftModel],
845846 if isinstance (adapter_name , list ) else list (adapter_name .keys ())[0 ]
846847 _name = _name or ''
847848 if os .path .exists (os .path .join (model_id , _name , CONFIG_NAME )):
848- with open (os .path .join (model_id , _name , CONFIG_NAME ), 'r' ) as f :
849+ with open (os .path .join (model_id , _name , CONFIG_NAME ), 'r' , encoding = 'utf-8' ) as f :
849850 _json = json .load (f )
850851 is_peft_model = SWIFT_TYPE_KEY not in _json and 'extra_state_keys' not in _json
851852 if is_peft_model :
0 commit comments