File size: 4,965 Bytes
a9fdace |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 |
#!/usr/bin/env python3
"""
Hugging Face upload script for Isaac Sim model
"""
import os
import json
import subprocess
from pathlib import Path
def create_model_card():
"""Create a comprehensive model card for Hugging Face"""
model_card = """---
language:
- en
- code
license: mit
model_creator: Isaac Sim Development Team
model_name: Isaac Sim Qwen2.5 Coder 7B
model_type: qwen2
pipeline_tag: text-generation
prompt_template: |
<|im_start|>system
You are an expert in Isaac Sim 5.0, Isaac Lab 2.1, and Omniverse Kit 107.3 robotics development. You help users with:
- Isaac Sim simulation setup and configuration
- Isaac Lab Jupyter notebook workflows
- Omniverse Kit extension development
- Robot and sensor integration
- USD (Universal Scene Description) workflows
- Python robotics programming
- Synthetic data generation for training
Always provide accurate, up-to-date information and code examples.
<|im_end|>
<|im_start|>user
{prompt}
<|im_end|>
<|im_start|>assistant
{response}
<|im_end|>
quantized_by: bitsandbytes
tags:
- isaac-sim
- robotics
- omniverse
- code-generation
- synthetic-data
- qwen2
---
# Isaac Sim Qwen2.5 Coder 7B
A specialized version of Qwen2.5-Coder-7B-Instruct fine-tuned for Isaac Sim 5.0, Isaac Lab 2.1, and Omniverse Kit 107.3 development.
## Model Description
This model is specifically trained to assist with:
- Isaac Sim robotics simulation development
- Isaac Lab Jupyter notebook workflows
- Omniverse Kit extension development
- Robot and sensor integration
- USD (Universal Scene Description) workflows
- Python robotics programming
- Synthetic data generation for training
## Training Data
The model was fine-tuned on a comprehensive dataset of:
- Isaac Sim 5.0 documentation and examples
- Isaac Lab 2.1 tutorials and workflows
- Omniverse Kit 107.3 extension development
- Robotics simulation scenarios
- USD workflow examples
- Python robotics code samples
## Usage
The model supports the Qwen2 chat template format and can be used for:
- Code generation and completion
- Technical documentation
- Robotics simulation guidance
- Extension development assistance
- Troubleshooting and debugging
## Quantization
This repository provides multiple quantization levels:
- **Full Precision (f16):** Highest quality, requires ~14GB VRAM
- **8-bit Quantized (q8_0):** Good balance, requires ~7GB VRAM
- **4-bit Quantized (q4_0):** Memory efficient, requires ~4GB VRAM
## Hardware Requirements
- **Minimum:** 4GB VRAM (4-bit quantized)
- **Recommended:** 8GB VRAM (8-bit quantized)
- **Optimal:** 16GB+ VRAM (full precision)
## License
This model is based on Qwen2.5-Coder-7B-Instruct and follows the same license terms.
"""
return model_card
def create_repo_structure():
"""Create the repository structure for Hugging Face"""
# Create directories
hf_dir = "huggingface_repo"
if os.path.exists(hf_dir):
shutil.rmtree(hf_dir)
os.makedirs(hf_dir)
os.makedirs(os.path.join(hf_dir, "gguf"))
# Copy GGUF files
gguf_files = [
"isaac_sim_qwen2.5_coder.gguf",
"isaac_sim_qwen2.5_coder_q8_0.gguf",
"isaac_sim_qwen2.5_coder_q4_0.gguf"
]
for file in gguf_files:
src = os.path.join(".", file)
dst = os.path.join(hf_dir, "gguf", file)
if os.path.exists(src):
shutil.copy2(src, dst)
print(f"✅ Copied vocab.json")
# Create model card
model_card = create_model_card()
with open(os.path.join(hf_dir, "README.md"), "w") as f:
f.write(model_card)
# Create .gitattributes
gitattributes = """*.gguf filter=lfs diff=lfs merge=lfs -text
*.safetensors filter=lfs diff=lfs merge=lfs -text
*.bin filter=lfs diff=lfs merge=lfs -text
*.json text
*.md text
*.py text
"""
with open(os.path.join(hf_dir, ".gitattributes"), "w") as f:
f.write(gitattributes)
# Create requirements.txt
requirements = """llama-cpp-python>=0.2.0
transformers>=4.52.0
torch>=2.0.0
"""
with open(os.path.join(hf_dir, "requirements.txt"), "w") as f:
f.write(requirements)
print(f"✅ Hugging Face repository structure created successfully")
return True
def main():
"""Main function"""
print("🚀 Creating Hugging Face repository structure...")
create_repo_structure()
print(f"
📁 Repository created successfully!")
print("
📋 Next steps:")
print("1. Review the repository structure")
print("2. Initialize git repository")
print("3. Push to Hugging Face")
print("
💡 Commands:")
print("cd huggingface_repo")
print("git init")
print("git add .")
print("git commit -m 'Initial commit: Isaac Sim Qwen2.5 Coder model'")
print("git remote add origin https://huggingface.co/YOUR_USERNAME/isaac-sim-qwen2.5-coder")
print("git push -u origin main")
if __name__ == "__main__":
main()
|