rahul7star commited on
Commit
0deec1a
·
verified ·
1 Parent(s): 74442ab

Update app_flash.py

Browse files
Files changed (1) hide show
  1. app_flash.py +30 -38
app_flash.py CHANGED
@@ -67,46 +67,38 @@ from huggingface_hub import hf_hub_download, HfApi
67
  # ------------------------------------------------------------
68
  # Utility to push FlashPack model to HF using upload_file
69
  # ------------------------------------------------------------
70
- def push_flashpack_to_hub_local(model, hf_repo: str, size_limit_mb=100):
71
- """
72
- Saves FlashPack model locally, then uploads files to Hugging Face repo individually.
73
- Avoids push_to_hub() call which may not be compatible.
74
- """
75
- logs = []
76
 
77
- # 1️⃣ Save model locally to temp directory
78
- temp_dir = tempfile.mkdtemp()
79
- model.save_flashpack(temp_dir,target_dtype=torch.float32)
80
- logs.append(f"📦 Model saved locally to {temp_dir}")
81
-
82
- # 2️⃣ List saved files
83
- files = [f for f in os.listdir(temp_dir) if os.path.isfile(os.path.join(temp_dir, f))]
84
- logs.append(f"📄 Found {len(files)} files to upload.")
85
-
86
- api = HfApi()
87
- for i, file in enumerate(files, start=1):
88
- file_path = os.path.join(temp_dir, file)
89
- size_mb = os.path.getsize(file_path) / (1024*1024)
90
- if size_mb > size_limit_mb:
91
- logs.append(f"⏭️ Skipping {file}, size {size_mb:.2f}MB > limit {size_limit_mb}MB")
92
- continue
93
-
94
- logs.append(f"⬆️ Uploading {file} ({i}/{len(files)}) ...")
95
- try:
96
- api.upload_file(
97
- path_or_fileobj=file_path,
98
- path_in_repo=file,
99
- repo_id=hf_repo,
100
- repo_type="model",
101
- commit_message=f"Add {file} from FlashPack training"
102
- )
103
- logs.append(f"✅ Uploaded {file}")
104
- except Exception as e:
105
- logs.append(f"⚠️ Failed to upload {file}: {e}")
106
-
107
- logs.append(f"🎉 Model push complete to {hf_repo}")
108
- return "\n".join(logs)
109
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
110
  def train_and_push_flashpack(
111
  dataset_name: str = "gokaygokay/prompt-enhancer-dataset",
112
  hf_repo: str = "rahul7star/FlashPack",
 
67
  # ------------------------------------------------------------
68
  # Utility to push FlashPack model to HF using upload_file
69
  # ------------------------------------------------------------
70
+ import os
71
+ import tempfile
72
+ from flashpack import FlashPackMixin
73
+ from huggingface_hub import hf_hub_upload
 
 
74
 
75
+ def push_flashpack_to_hub_local(model: FlashPackMixin, hf_repo: str):
76
+ logs = []
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
77
 
78
+ # Create a temporary directory for the pack
79
+ with tempfile.TemporaryDirectory() as tmp_dir:
80
+ logs.append(f"📂 Using temporary directory: {tmp_dir}")
81
+
82
+ # Ensure a proper file path (not just a directory)
83
+ pack_file = os.path.join(tmp_dir, "model.pack")
84
+ logs.append(f"💾 Saving FlashPack model to: {pack_file}")
85
+
86
+ # Save the model
87
+ model.save_flashpack(pack_file, target_dtype=torch.float32)
88
+ logs.append("✅ Model saved successfully.")
89
+
90
+ # Upload to HF Hub
91
+ logs.append(f"🌐 Uploading {pack_file} to Hugging Face repo: {hf_repo}")
92
+ hf_hub_upload(
93
+ repo_id=hf_repo,
94
+ path_or_fileobj=pack_file,
95
+ path_in_repo="model.pack", # filename in the repo
96
+ repo_type="model",
97
+ token=os.environ.get("HF_TOKEN") # make sure HF_TOKEN is set
98
+ )
99
+ logs.append("🚀 Upload successful!")
100
+
101
+ return logs
102
  def train_and_push_flashpack(
103
  dataset_name: str = "gokaygokay/prompt-enhancer-dataset",
104
  hf_repo: str = "rahul7star/FlashPack",