John6666 commited on
Commit
d566283
·
verified ·
1 Parent(s): 16aefb1

Upload 3 files

Browse files
Files changed (3) hide show
  1. README.md +1 -1
  2. app.py +1 -1
  3. convert_repo_to_safetensors_gr.py +8 -7
README.md CHANGED
@@ -1,5 +1,5 @@
1
  ---
2
- title: Convert diffusers SDXL repo to single Safetensors
3
  emoji: 🐶
4
  colorFrom: yellow
5
  colorTo: red
 
1
  ---
2
+ title: Convert diffusers SDXL repo to single Safetensors V2
3
  emoji: 🐶
4
  colorFrom: yellow
5
  colorTo: red
app.py CHANGED
@@ -5,7 +5,7 @@ os.environ['HF_OUTPUT_REPO'] = 'John6666/safetensors_converting_test'
5
 
6
  css = """"""
7
 
8
- with gr.Blocks(theme="NoCrypt/miku@>=1.2.2", css=css) as demo:
9
  gr.Markdown(
10
  f"""
11
  - [A CLI version of this tool is available here](https://huggingface.co/spaces/John6666/convert_repo_to_safetensors/tree/main/local).
 
5
 
6
  css = """"""
7
 
8
+ with gr.Blocks(theme="NoCrypt/miku@>=1.2.2", fill_width=True, css=css, delete_cache=(60, 3600)) as demo:
9
  gr.Markdown(
10
  f"""
11
  - [A CLI version of this tool is available here](https://huggingface.co/spaces/John6666/convert_repo_to_safetensors/tree/main/local).
convert_repo_to_safetensors_gr.py CHANGED
@@ -21,13 +21,13 @@ def get_token():
21
  token = ""
22
  return token
23
 
24
- def is_repo_exists(repo_id: str):
25
  api = HfApi(token=get_token())
26
  try:
27
- if api.repo_exists(repo_id=repo_id): return True
28
  else: return False
29
  except Exception as e:
30
- print(f"Error: Failed to connect {repo_id}. {e}")
31
  return True # for safe
32
 
33
  # =================#
@@ -356,6 +356,7 @@ def convert_diffusers_to_safetensors(model_path, checkpoint_path, dtype="fp16",
356
 
357
  def download_repo(repo_id, dir_path, progress=gr.Progress(track_tqdm=True)):
358
  try:
 
359
  snapshot_download(repo_id=repo_id, local_dir=dir_path, token=get_token())
360
  except Exception as e:
361
  print(f"Error: Failed to download {repo_id}. {e}")
@@ -366,11 +367,11 @@ def upload_safetensors_to_repo(filename, repo_id, repo_type, is_private, progres
366
  output_filename = Path(filename).name
367
  api = HfApi(token=get_token())
368
  try:
369
- if not is_repo_exists(repo_id): api.create_repo(repo_id, repo_type=repo_type, private=is_private)
370
  progress(0, desc="Start uploading...")
371
  api.upload_file(path_or_fileobj=filename, path_in_repo=output_filename, repo_type=repo_type, repo_id=repo_id)
372
  progress(1, desc="Uploaded.")
373
- url = hf_hub_url(repo_id=repo_id, filename=output_filename)
374
  except Exception as e:
375
  print(f"Error: Failed to upload to {repo_id}. {e}")
376
  return None
@@ -391,11 +392,11 @@ def convert_repo_to_safetensors_multi(repo_id, hf_token, files, urls, dtype="fp1
391
  if hf_token: HfFolder.save_token(hf_token)
392
  else: HfFolder.save_token(os.environ.get("HF_TOKEN"))
393
  if not newrepo_id: newrepo_id = os.environ.get("HF_OUTPUT_REPO")
394
- file = convert_repo_to_safetensors(repo_id, dtype)
395
  if not urls: urls = []
396
  url = ""
397
  if is_upload:
398
- url = upload_safetensors_to_repo(file, newrepo_id, repo_type, is_private)
399
  if url: urls.append(url)
400
  md = ""
401
  for u in urls:
 
21
  token = ""
22
  return token
23
 
24
+ def is_repo_exists(repo_id: str, repo_type: str="model"):
25
  api = HfApi(token=get_token())
26
  try:
27
+ if api.repo_exists(repo_id=repo_id, repo_type=repo_type): return True
28
  else: return False
29
  except Exception as e:
30
+ print(f"Error: Failed to connect {repo_id} ({repo_type}). {e}")
31
  return True # for safe
32
 
33
  # =================#
 
356
 
357
  def download_repo(repo_id, dir_path, progress=gr.Progress(track_tqdm=True)):
358
  try:
359
+ progress(0, desc="Start downloading...")
360
  snapshot_download(repo_id=repo_id, local_dir=dir_path, token=get_token())
361
  except Exception as e:
362
  print(f"Error: Failed to download {repo_id}. {e}")
 
367
  output_filename = Path(filename).name
368
  api = HfApi(token=get_token())
369
  try:
370
+ if not is_repo_exists(repo_id, repo_type): api.create_repo(repo_id, repo_type=repo_type, private=is_private)
371
  progress(0, desc="Start uploading...")
372
  api.upload_file(path_or_fileobj=filename, path_in_repo=output_filename, repo_type=repo_type, repo_id=repo_id)
373
  progress(1, desc="Uploaded.")
374
+ url = hf_hub_url(repo_id=repo_id, repo_type=repo_type, filename=output_filename, token=get_token())
375
  except Exception as e:
376
  print(f"Error: Failed to upload to {repo_id}. {e}")
377
  return None
 
392
  if hf_token: HfFolder.save_token(hf_token)
393
  else: HfFolder.save_token(os.environ.get("HF_TOKEN"))
394
  if not newrepo_id: newrepo_id = os.environ.get("HF_OUTPUT_REPO")
395
+ file = convert_repo_to_safetensors(repo_id, dtype, progress)
396
  if not urls: urls = []
397
  url = ""
398
  if is_upload:
399
+ url = upload_safetensors_to_repo(file, newrepo_id, repo_type, is_private, progress)
400
  if url: urls.append(url)
401
  md = ""
402
  for u in urls: