Spaces:
Runtime error
Runtime error
| import argparse | |
| import shutil | |
| import os | |
| from huggingface_hub import HfApi | |
| USEFUL_FILES = [ | |
| "adapter_config.json", | |
| "adapter_model.bin", | |
| "config.json", | |
| "non_lora_trainables.bin", | |
| "README.md", | |
| "special_tokens_map.json", | |
| "tokenizer.model", | |
| "tokenizer_config.json", | |
| "trainer_state.json", | |
| "model_named_parameters.txt", | |
| ] | |
| def main(args): | |
| api = HfApi() | |
| api.create_repo(args.repo, exist_ok=True, repo_type="model") | |
| checkpoints = [fn for fn in os.listdir(args.model_folder) if fn.startswith("check")] | |
| checkpoints.sort(key=lambda x: int(x.split("-")[-1])) | |
| if ( | |
| not os.path.exists(os.path.join(args.model_folder, "config.json")) | |
| and len(checkpoints) > 0 | |
| ): | |
| last_checkpoint = os.path.join(args.model_folder, checkpoints[-1]) | |
| for fn in USEFUL_FILES: | |
| checkpoint_fn = os.path.join(last_checkpoint, fn) | |
| new_fn = os.path.join(args.model_folder, fn) | |
| if os.path.exists(checkpoint_fn) and not os.path.exists(new_fn): | |
| shutil.copy(checkpoint_fn, args.model_folder) | |
| api.upload_folder( | |
| repo_id=args.repo, allow_patterns=USEFUL_FILES, folder_path=args.model_folder | |
| ) | |
| if __name__ == "__main__": | |
| parser = argparse.ArgumentParser() | |
| parser.add_argument("-r", "--repo", type=str) | |
| parser.add_argument("-m", "--model_folder", type=str) | |
| args = parser.parse_args() | |
| main(args) | |