echarlaix HF Staff commited on
Commit
7be838c
·
1 Parent(s): 707043a
Files changed (1) hide show
  1. app.py +14 -39
app.py CHANGED
@@ -72,52 +72,27 @@ def export(
72
  folder = os.path.join(d, repo_folder_name(repo_id=model_id, repo_type="models"))
73
  os.makedirs(folder)
74
  try:
75
- api.snapshot_download(
76
- repo_id=model_id, local_dir=folder, allow_patterns=["*.json"]
77
- )
78
-
79
- ov_model = eval(auto_model_class).from_pretrained(model_id, export=True)
80
  ov_model.save_pretrained(folder)
81
-
82
- """
83
- if not isinstance(ov_model, OVStableDiffusionPipelineBase):
84
- model = TasksManager.get_model_from_task(task, model_id)
85
- exporter_config_class = TasksManager.get_exporter_config_constructor(
86
- exporter="openvino",
87
- model=model,
88
- task=task,
89
- model_name=model_id,
90
- model_type=model.config.model_type.replace("_", "-"),
91
- )
92
- openvino_config = exporter_config_class(model.config)
93
- inputs = openvino_config.generate_dummy_inputs(framework="pt")
94
- ov_outputs = ov_model(**inputs)
95
- outputs = model(**inputs)
96
-
97
- for output_name in ov_outputs:
98
- if isinstance(outputs, torch.Tensor) and not torch.allclose(outputs[output_name], ov_outputs[output_name], atol=1e-3):
99
- raise ValueError(
100
- "The exported model does not have the same outputs as the original model. Export interrupted."
101
- )
102
- """
103
  new_repo_url = api.create_repo(repo_id=new_repo_id, exist_ok=True, private=private_repo)
104
  new_repo_id = new_repo_url.repo_id
105
  print("Repo created successfully!", new_repo_url)
106
 
107
  folder = Path(folder)
108
- folder_parts = len(folder.parts)
109
- for file_path in folder.glob("**/*"):
110
- name = Path(*file_path.parts[folder_parts:])
111
- if not file_path.is_file() or any(part_name.startswith(".") for part_name in name.parts):
112
  continue
113
- try:
114
- api.upload_file(
115
- path_or_fileobj=file_path,
116
- path_in_repo=str(name),
117
- repo_id=new_repo_id,
118
- )
119
- except Exception as e:
120
- raise Exception(f"Error uploading file {file_path}: {e}")
 
 
121
 
122
  try:
123
  card = ModelCard.load(model_id, token=oauth_token.token)
 
72
  folder = os.path.join(d, repo_folder_name(repo_id=model_id, repo_type="models"))
73
  os.makedirs(folder)
74
  try:
75
+ api.snapshot_download(repo_id=model_id, local_dir=folder, allow_patterns=["*.json"])
76
+ ov_model = eval(auto_model_class).from_pretrained(model_id, export=True, cache_dir=folder)
 
 
 
77
  ov_model.save_pretrained(folder)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
78
  new_repo_url = api.create_repo(repo_id=new_repo_id, exist_ok=True, private=private_repo)
79
  new_repo_id = new_repo_url.repo_id
80
  print("Repo created successfully!", new_repo_url)
81
 
82
  folder = Path(folder)
83
+ for dir_name in ("", "vae_encoder", "vae_decoder", "text_encoder", "text_encoder_2", "unet", "tokenizer", "tokenizer_2", "scheduler"):
84
+ if not (folder / dir_name).is_dir():
 
 
85
  continue
86
+ for file_path in (folder / dir_name).iterdir():
87
+ if file_path.is_file():
88
+ try:
89
+ api.upload_file(
90
+ path_or_fileobj=file_path,
91
+ path_in_repo=os.path.join(dir_name, file_path.name),
92
+ repo_id=new_repo_id,
93
+ )
94
+ except Exception as e:
95
+ raise Exception(f"Error uploading file {file_path}: {e}")
96
 
97
  try:
98
  card = ModelCard.load(model_id, token=oauth_token.token)