Spaces:
Sleeping
Sleeping
import os | |
from transformers import AutoTokenizer | |
from peft import AutoPeftModelForQuestionAnswering | |
from huggingface_hub import login | |
def main(): | |
# Get token from environment (using your existing roberta_token) | |
hf_token = os.environ.get('roberta_token') | |
if not hf_token: | |
print("β roberta_token not found in environment!") | |
print("Make sure roberta_token is set in your Space secrets.") | |
return | |
try: | |
print("π Logging into Hugging Face Hub...") | |
login(token=hf_token) | |
print("β Login successful!") | |
print("π Loading trained model from ./model_output...") | |
# Check if model exists | |
if not os.path.exists("./model_output"): | |
print("β ./model_output directory not found!") | |
print("Make sure you've run training first.") | |
return | |
# Load your already-trained model | |
model = AutoPeftModelForQuestionAnswering.from_pretrained("./model_output") | |
tokenizer = AutoTokenizer.from_pretrained("./model_output") | |
print("β Model loaded successfully!") | |
# Push to Hub | |
model_name = "AvocadoMuffin/roberta-cuad-qa" | |
print(f"β¬οΈ Pushing model to Hub: {model_name}") | |
model.push_to_hub(model_name, private=False) | |
tokenizer.push_to_hub(model_name, private=False) | |
print(f"π SUCCESS! Model pushed to: https://huggingface.co/{model_name}") | |
# Also push training info if it exists | |
training_info_path = "./model_output/training_info.json" | |
if os.path.exists(training_info_path): | |
from huggingface_hub import upload_file | |
upload_file( | |
path_or_fileobj=training_info_path, | |
path_in_repo="training_info.json", | |
repo_id=model_name, | |
repo_type="model" | |
) | |
print("π Training info also uploaded!") | |
except Exception as e: | |
print(f"β Error: {str(e)}") | |
print("Common issues:") | |
print("- Invalid token") | |
print("- Model name already exists (try a different name)") | |
print("- Network issues") | |
if __name__ == "__main__": | |
main() |