ByteDream / QUICK_REFERENCE.md
Enzo8930302's picture
Upload QUICK_REFERENCE.md with huggingface_hub
35a7998 verified

Quick Reference - Hugging Face Integration

Upload Model to HF Hub

Option 1: Interactive (Easiest)

python publish_to_hf.py
# Enter token when prompted
# Enter repo_id when prompted (e.g., Enzo8930302/ByteDream)

Option 2: Command Line

python publish_to_hf.py hf_xxxxxxxxxxxxx Enzo8930302/ByteDream

Option 3: Python Code

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

from bytedream import ByteDreamGenerator

generator = ByteDreamGenerator(hf_repo_id="Enzo8930302/ByteDream")
image = generator.generate("Your prompt")
image.save("output.png")

Python - Pipeline

from bytedream.pipeline import ByteDreamPipeline

pipeline = ByteDreamPipeline.from_pretrained("Enzo8930302/ByteDream")
result = pipeline("Your prompt")
result[0].save("output.png")

Command Line

python infer.py --prompt "Dragon flying" --hf_repo "Enzo8930302/ByteDream" --output dragon.png

Web Interface

# 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:
    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

Check Model Exists

# List files in your HF repo
huggingface-cli ls Enzo8930302/ByteDream

Download Model Manually

from huggingface_hub import snapshot_download

snapshot_download(repo_id="Enzo8930302/ByteDream")

Test Installation

python -c "from huggingface_hub import login; print('OK')"

Environment Variables

# 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

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

# Make repo public or provide token
from huggingface_hub import login
login(token="hf_xxxxx")

Error: Out of memory

# Reduce size
generator.generate(width=256, height=256)
# Fewer steps
generator.generate(num_inference_steps=20)

Error: Model not trained

# 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

# 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

# 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

# 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