Views
No views yet
openai/clip-vit-base-patch32) for text conditioningpip install torch torchvision transformers diffusers datasets matplotlib pillow tqdm1import torch
2from model import TextConditionedUNet
3from scheduler import SimpleDDPMScheduler
4from text_encoder import CLIPTextEncoder
5from generate import generate_samples
6
7# Load checkpoint
8checkpoint_path = "text_diffusion_final_epoch_100.pt"
9checkpoint = torch.load(checkpoint_path)
10
11# Initialize model
12model = TextConditionedUNet(text_dim=512).cuda()
13model.load_state_dict(checkpoint['model_state_dict'])
14model.eval()
15
16# Initialize text encoder
17text_encoder = CLIPTextEncoder(model_name="openai/clip-vit-base-patch32", freeze=True).cuda()
18text_encoder.eval()
19
20# Generate samples
21scheduler = SimpleDDPMScheduler(1000)
22prompt = "a drawing of a cat"
23num_samples = 4
24guidance_scale = 5.0
25
26with torch.no_grad():
27 text_embedding = text_encoder(prompt)
28 text_embeddings = text_embedding.repeat(num_samples, 1)
29
30 shape = (num_samples, 1, 64, 64)
31 samples = scheduler.sample_text(model, shape, text_embeddings, 'cuda', guidance_scale)1# Generate samples
2python generate.py --checkpoint text_diffusion_final_epoch_100.pt \
3 --prompt "a drawing of a fire truck" \
4 --num-samples 4 \
5 --guidance-scale 5.0
6
7# Visualize denoising process
8python visualize_generation.py --checkpoint text_diffusion_final_epoch_100.pt \
9 --prompt "a drawing of a cat" \
10 --num-steps 10guidance_scale = 1.0: No guidance (pure conditional generation)guidance_scale = 3.0-7.0: Recommended range (default: 5.0)Input: (batch, 1, 64, 64)
├── Down Block 1: 1 → 256 channels
├── Down Block 2: 256 → 512 channels
├── Down Block 3: 512 → 512 channels
├── Middle Block: 512 channels
├── Up Block 3: 1024 → 512 channels (with skip connections)
├── Up Block 2: 768 → 256 channels (with skip connections)
└── Up Block 1: 512 → 1 channel (with skip connections)
Output: (batch, 1, 64, 64) - predicted noise1@misc{quickdraw-text-diffusion,
2 title={Text-Conditional QuickDraw Diffusion Model},
3 author={Your Name},
4 year={2024},
5 howpublished={\url{https://huggingface.co/YOUR_USERNAME/quickdraw-text-diffusion}}
6}