| # Hugging Face Upload Guide for ConceptFrameMet |
|
|
| This guide will help you upload your ConceptFrameMet model to the Hugging Face Hub. |
|
|
| ## Prerequisites |
|
|
| 1. **Hugging Face Account**: Create an account at [huggingface.co](https://huggingface.co) |
| 2. **Install Hugging Face CLI**: |
| ```bash |
| pip install huggingface_hub |
| ``` |
|
|
| ## Step 1: Login to Hugging Face |
|
|
| ```bash |
| huggingface-cli login |
| ``` |
|
|
| Enter your Hugging Face token when prompted. You can create a token at: |
| https://huggingface.co/settings/tokens |
|
|
| ## Step 2: Create a New Model Repository |
|
|
| ### Option A: Via Web Interface (Recommended) |
|
|
| 1. Go to https://huggingface.co/new |
| 2. Choose a repository name: `ConceptFrameMet` |
| 3. Select visibility (Public or Private) |
| 4. Click "Create model" |
|
|
| ### Option B: Via CLI |
|
|
| ```bash |
| huggingface-cli repo create ConceptFrameMet --type model |
| ``` |
|
|
| ## Step 3: Prepare Your Model Files |
|
|
| Your ConceptFrameMet directory should contain: |
|
|
| ``` |
| ConceptFrameMet/ |
| ├── pytorch_model.bin # Main model weights (1.5GB) |
| ├── config.json # Model configuration |
| ├── vocab.json # Tokenizer vocabulary |
| ├── merges.txt # BPE merges |
| ├── README.md # Model card |
| ├── requirements.txt # Dependencies |
| ├── modeling_conceptframemet.py # Custom model class |
| ├── inference.py # Inference script |
| └── HUGGINGFACE_UPLOAD_GUIDE.md # This file |
| ``` |
|
|
| ## Step 4: Upload Files to Hugging Face |
|
|
| ### Method 1: Using Git LFS (Recommended for Large Files) |
|
|
| ```bash |
| cd /data/gpfs/projects/punim0478/otmakhovay/ConceptFrameMet |
| |
| # Clone your model repository |
| git clone https://huggingface.co/YOUR_USERNAME/ConceptFrameMet |
| cd ConceptFrameMet |
| |
| # Install Git LFS if not already installed |
| git lfs install |
| |
| # Track large files |
| git lfs track "*.bin" |
| git lfs track "pytorch_model.bin" |
| |
| # Copy all files |
| cp ../pytorch_model.bin . |
| cp ../config.json . |
| cp ../vocab.json . |
| cp ../merges.txt . |
| cp ../README.md . |
| cp ../requirements.txt . |
| cp ../modeling_conceptframemet.py . |
| cp ../inference.py . |
| |
| # Add, commit, and push |
| git add . |
| git commit -m "Upload ConceptFrameMet model with frame and source prediction" |
| git push |
| ``` |
|
|
| ### Method 2: Using Hugging Face Hub Python API |
|
|
| ```python |
| from huggingface_hub import HfApi, create_repo |
| |
| # Initialize API |
| api = HfApi() |
| |
| # Create repository (if not done via web) |
| create_repo("ConceptFrameMet", exist_ok=True) |
| |
| # Upload files |
| api.upload_folder( |
| folder_path="/data/gpfs/projects/punim0478/otmakhovay/ConceptFrameMet", |
| repo_id="YOUR_USERNAME/ConceptFrameMet", |
| repo_type="model", |
| ) |
| ``` |
|
|
| ### Method 3: Manual Upload via Web Interface |
|
|
| 1. Go to your model page: `https://huggingface.co/YOUR_USERNAME/ConceptFrameMet` |
| 2. Click "Files" tab |
| 3. Click "Add file" → "Upload files" |
| 4. Drag and drop or select files |
| 5. Click "Commit changes" |
|
|
| **Note**: For large files (>100MB), use Git LFS or the Python API. |
|
|
| ## Step 5: Create Model Card (README.md) |
|
|
| The README.md is already created with model information. You can enhance it with: |
|
|
| - Training metrics |
| - Example outputs |
| - Your contact information |
| - License information |
|
|
| ## Step 6: Test Your Model |
|
|
| After uploading, test that others can use your model: |
|
|
| ```python |
| from transformers import AutoTokenizer, AutoModel |
| |
| # Load model |
| model_name = "YOUR_USERNAME/ConceptFrameMet" |
| tokenizer = AutoTokenizer.from_pretrained(model_name) |
| |
| print(f"✓ Model successfully loaded from Hugging Face Hub!") |
| ``` |
|
|
| ## Step 7: Add Model Tags and Metadata |
|
|
| Edit your model card to include: |
|
|
| ```yaml |
| --- |
| language: |
| - en |
| tags: |
| - metaphor-detection |
| - semantic-frames |
| - source-domains |
| - nlp |
| - text-classification |
| license: mit # or your license |
| datasets: |
| - vua |
| metrics: |
| - f1 |
| - accuracy |
| widget: |
| - text: "The company is navigating through troubled waters" |
| example_title: "Metaphor Example" |
| --- |
| ``` |
| |
| ## Troubleshooting |
| |
| ### Large File Issues |
| |
| If `pytorch_model.bin` is too large: |
| |
| ```bash |
| # Make sure Git LFS is tracking it |
| git lfs track "pytorch_model.bin" |
| git add .gitattributes |
| git add pytorch_model.bin |
| git commit -m "Add model weights with LFS" |
| git push |
| ``` |
| |
| ### Authentication Issues |
| |
| ```bash |
| # Re-login |
| huggingface-cli logout |
| huggingface-cli login |
| ``` |
| |
| ### Upload Timeout |
| |
| For very large files, use the Python API with chunks: |
| |
| ```python |
| from huggingface_hub import HfApi |
| |
| api = HfApi() |
| api.upload_file( |
| path_or_fileobj="/path/to/pytorch_model.bin", |
| path_in_repo="pytorch_model.bin", |
| repo_id="YOUR_USERNAME/ConceptFrameMet", |
| repo_type="model", |
| ) |
| ``` |
| |
| ## Model Usage After Upload |
| |
| Users can then use your model like this: |
| |
| ```python |
| from transformers import RobertaTokenizer |
| |
| model_name = "YOUR_USERNAME/ConceptFrameMet" |
| tokenizer = RobertaTokenizer.from_pretrained(model_name) |
| |
| # Your inference code here |
| ``` |
| |
| ## Additional Features |
| |
| ### Add Model to a Collection |
| |
| Create collections on Hugging Face to organize related models. |
| |
| ### Enable Spaces Demo |
| |
| Create a Gradio or Streamlit demo in Hugging Face Spaces to showcase your model. |
| |
| ### Add DOI |
| |
| Get a DOI for your model through Hugging Face for academic citations. |
| |
| ## Resources |
| |
| - Hugging Face Documentation: https://huggingface.co/docs |
| - Model Card Guide: https://huggingface.co/docs/hub/model-cards |
| - Git LFS Guide: https://git-lfs.github.com/ |
| - Hugging Face CLI: https://huggingface.co/docs/huggingface_hub/guides/cli |
| |
| ## Next Steps |
| |
| 1. Upload your model following the steps above |
| 2. Test that it loads correctly |
| 3. Share your model with the community! |
| 4. Consider creating a Space demo for interactive use |
| |
| --- |
|
|
| **Your Model**: ConceptFrameMet |
| **Model Type**: Metaphor Detection with Frame & Source Prediction |
| **Base Model**: RoBERTa-base |
| **Size**: ~1.5GB |
|
|