SolidSnacke commited on
Commit
2805761
1 Parent(s): a921998

Rough draft

Browse files
Files changed (1) hide show
  1. gguf-imat.py +25 -21
gguf-imat.py CHANGED
@@ -70,34 +70,34 @@ def download_cudart_if_necessary(latest_release_tag):
70
  def download_model_repo():
71
  base_dir = os.path.dirname(os.path.abspath(__file__))
72
  models_dir = os.path.join(base_dir, "models")
73
- if not os.path.exists(models_dir):
74
- os.makedirs(models_dir)
75
-
76
- model_id = input("Enter the model ID to download (e.g., huggingface/transformers): ")
77
- model_name = model_id.split("/")[-1]
78
- model_dir = os.path.join(models_dir, model_name)
79
-
80
- if os.path.exists(model_dir):
81
- print("Model repository already exists. Using existing repository.")
82
-
83
- delete_model_dir = input("Remove HF model folder after converting original model to GGUF? (yes/no) (default: no): ").strip().lower()
84
 
85
- imatrix_file_name = input("Enter the name of the imatrix.txt file (default: imatrix.txt): ").strip() or "imatrix.txt"
 
 
 
 
86
 
87
- convert_model_to_gguf_f16(base_dir, model_dir, model_name, delete_model_dir, imatrix_file_name)
 
 
88
 
89
- else:
90
- revision = input("Enter the revision (branch, tag, or commit) to download (default: main): ") or "main"
91
 
92
- delete_model_dir = input("Remove HF model folder after converting original model to GGUF? (yes/no) (default: no): ").strip().lower()
93
 
94
- print("Downloading model repository...")
95
- snapshot_download(repo_id=model_id, local_dir=model_dir, revision=revision)
96
- print("Model repository downloaded successfully.")
97
 
98
- imatrix_file_name = input("Enter the name of the imatrix.txt file (default: imatrix.txt): ").strip() or "imatrix.txt"
 
 
99
 
100
- convert_model_to_gguf_f16(base_dir, model_dir, model_name, delete_model_dir, imatrix_file_name)
101
 
102
  def convert_model_to_gguf_f16(base_dir, model_dir, model_name, delete_model_dir, imatrix_file_name):
103
  convert_script = os.path.join(base_dir, "llama.cpp", "convert.py")
@@ -115,7 +115,11 @@ def convert_model_to_gguf_f16(base_dir, model_dir, model_name, delete_model_dir,
115
  print(f"Original model directory '{model_dir}' deleted.")
116
  else:
117
  print(f"Original model directory '{model_dir}' was not deleted. You can remove it manually.")
 
 
 
118
 
 
119
  imatrix_exe = os.path.join(base_dir, "bin", "imatrix.exe")
120
  imatrix_output_src = os.path.join(gguf_dir, "imatrix.dat")
121
  imatrix_output_dst = os.path.join(gguf_dir, "imatrix.dat")
 
70
  def download_model_repo():
71
  base_dir = os.path.dirname(os.path.abspath(__file__))
72
  models_dir = os.path.join(base_dir, "models")
73
+ gguf_dir = os.path.join(base_dir, "models", f"{model_name}-GGUF")
74
+ gguf_model_path = os.path.join(gguf_dir, f"{model_name}-F16.gguf")
75
+ imatrix_file_name = input("Enter the name of the imatrix.txt file (default: imatrix.txt): ").strip() or "imatrix.txt"
76
+ delete_model_dir = input("Remove HF model folder after converting original model to GGUF? (yes/no) (default: no): ").strip().lower()
 
 
 
 
 
 
 
77
 
78
+ if os.path.exists(gguf_model_path):
79
+ create_imatrix(base_dir, gguf_dir, gguf_model_path, model_name, imatrix_file_name)
80
+ else:
81
+ if not os.path.exists(models_dir):
82
+ os.makedirs(models_dir)
83
 
84
+ model_id = input("Enter the model ID to download (e.g., huggingface/transformers): ")
85
+ model_name = model_id.split("/")[-1]
86
+ model_dir = os.path.join(models_dir, model_name)
87
 
88
+ if os.path.exists(model_dir):
89
+ print("Model repository already exists. Using existing repository.")
90
 
91
+ convert_model_to_gguf_f16(base_dir, model_dir, model_name, delete_model_dir, imatrix_file_name)
92
 
93
+ else:
94
+ revision = input("Enter the revision (branch, tag, or commit) to download (default: main): ") or "main"
 
95
 
96
+ print("Downloading model repository...")
97
+ snapshot_download(repo_id=model_id, local_dir=model_dir, revision=revision)
98
+ print("Model repository downloaded successfully.")
99
 
100
+ convert_model_to_gguf_f16(base_dir, model_dir, model_name, delete_model_dir, imatrix_file_name)
101
 
102
  def convert_model_to_gguf_f16(base_dir, model_dir, model_name, delete_model_dir, imatrix_file_name):
103
  convert_script = os.path.join(base_dir, "llama.cpp", "convert.py")
 
115
  print(f"Original model directory '{model_dir}' deleted.")
116
  else:
117
  print(f"Original model directory '{model_dir}' was not deleted. You can remove it manually.")
118
+
119
+
120
+ create_imatrix(base_dir, gguf_dir, gguf_model_path, model_name, imatrix_file_name)
121
 
122
+ def create_imatrix(base_dir, gguf_dir, gguf_model_path, model_name, imatrix_file_name):
123
  imatrix_exe = os.path.join(base_dir, "bin", "imatrix.exe")
124
  imatrix_output_src = os.path.join(gguf_dir, "imatrix.dat")
125
  imatrix_output_dst = os.path.join(gguf_dir, "imatrix.dat")