# Quick Reference - Hugging Face Integration ## Upload Model to HF Hub ### Option 1: Interactive (Easiest) ```bash python publish_to_hf.py # Enter token when prompted # Enter repo_id when prompted (e.g., Enzo8930302/ByteDream) ``` ### Option 2: Command Line ```bash python publish_to_hf.py hf_xxxxxxxxxxxxx Enzo8930302/ByteDream ``` ### Option 3: Python Code ```python from bytedream import ByteDreamGenerator generator = ByteDreamGenerator(model_path="./models/bytedream") generator.push_to_hub( repo_id="Enzo8930302/ByteDream", token="hf_xxxxx" ) ``` --- ## Load Model from HF Hub ### Python - Generator ```python from bytedream import ByteDreamGenerator generator = ByteDreamGenerator(hf_repo_id="Enzo8930302/ByteDream") image = generator.generate("Your prompt") image.save("output.png") ``` ### Python - Pipeline ```python from bytedream.pipeline import ByteDreamPipeline pipeline = ByteDreamPipeline.from_pretrained("Enzo8930302/ByteDream") result = pipeline("Your prompt") result[0].save("output.png") ``` ### Command Line ```bash python infer.py --prompt "Dragon flying" --hf_repo "Enzo8930302/ByteDream" --output dragon.png ``` ### Web Interface ```bash # Set environment variable export HF_REPO_ID=Enzo8930302/ByteDream # Run app python app.py ``` --- ## Deploy to Hugging Face Spaces 1. **Create Space**: https://huggingface.co/spaces → Create new Space 2. **Choose**: Gradio SDK + CPU Basic 3. **Push files**: ```bash git clone https://huggingface.co/spaces/YOUR_USERNAME/SPACE_NAME cp -r ../Byte\ Dream/* SPACE_NAME/ cd SPACE_NAME git add . git commit -m "Deploy Byte Dream" git push ``` 4. **Set env var**: In Space settings → Add `HF_REPO_ID=Enzo8930302/ByteDream` 5. **Done!** Available at: `https://huggingface.co/spaces/YOUR_USERNAME/SPACE_NAME` --- ## Common Commands ### Get HF Token - Go to: https://huggingface.co/settings/tokens - Click "New token" - Copy token (starts with `hf_`) ### Check Model Exists ```bash # List files in your HF repo huggingface-cli ls Enzo8930302/ByteDream ``` ### Download Model Manually ```python from huggingface_hub import snapshot_download snapshot_download(repo_id="Enzo8930302/ByteDream") ``` ### Test Installation ```bash python -c "from huggingface_hub import login; print('OK')" ``` --- ## Environment Variables ```bash # Load model from HF in app.py export HF_REPO_ID=Enzo8930302/ByteDream # Custom model path export MODEL_PATH=./models/bytedream # Set HF cache directory export HF_HOME=~/.cache/huggingface ``` --- ## Example Prompts ```python prompts = [ "A beautiful sunset over mountains, digital art", "Cyberpunk city at night, neon lights, futuristic", "Fantasy dragon breathing fire, dramatic lighting", "Peaceful cottage in meadow, flowers, sunny day", "Underwater coral reef, tropical fish, sunlight", "Abstract geometric art, colorful shapes, modern", ] from bytedream import ByteDreamGenerator generator = ByteDreamGenerator(hf_repo_id="Enzo8930302/ByteDream") for i, prompt in enumerate(prompts): image = generator.generate(prompt, num_inference_steps=50) image.save(f"image_{i}.png") ``` --- ## Troubleshooting Quick Fixes **Error: Repository not found** ```python # Make repo public or provide token from huggingface_hub import login login(token="hf_xxxxx") ``` **Error: Out of memory** ```python # Reduce size generator.generate(width=256, height=256) # Fewer steps generator.generate(num_inference_steps=20) ``` **Error: Model not trained** ```bash # Train first python train.py # Or download from HF python infer.py --hf_repo username/model --prompt "test" ``` --- ## File Structure on HF ``` username/ByteDream/ ├── unet/ │ └── pytorch_model.bin ├── vae/ │ └── pytorch_model.bin ├── scheduler/ │ └── scheduler_config.json ├── model_index.json ├── config.yaml └── README.md ``` --- ## API Methods Summary ### ByteDreamGenerator ```python # Initialize with HF model ByteDreamGenerator(hf_repo_id="username/repo") # Upload to HF generator.push_to_hub(repo_id="username/repo", token="hf_xxx") # Save locally generator.save_pretrained("./models/bytedream") ``` ### ByteDreamPipeline ```python # Load from HF pipeline = ByteDreamPipeline.from_pretrained("username/repo") # Load from local pipeline = ByteDreamPipeline.from_pretrained("./models/bytedream") # Save to HF pipeline.save_pretrained("./models/bytedream") ``` --- ## Complete Workflow Example ```python # 1. Train (if needed) # python train.py # 2. Load model from bytedream import ByteDreamGenerator generator = ByteDreamGenerator(model_path="./models/bytedream") # 3. Test generation image = generator.generate("Test prompt") image.save("test.png") # 4. Upload to HF generator.push_to_hub( repo_id="Enzo8930302/ByteDream", token="hf_xxxxxxxx" ) print("✓ Uploaded to HF!") # 5. Use from HF (new session) generator2 = ByteDreamGenerator(hf_repo_id="Enzo8930302/ByteDream") image2 = generator2.generate("Amazing prompt") image2.save("amazing.png") ``` --- **More Info**: See `HF_INTEGRATION_GUIDE.md` for detailed documentation