""" Usage examples: Various calling methods for TextToImagePipeline """ from DiffusionNFT.model import TextToImagePipeline, load_pipeline from PIL import Image def example_basic_usage(): """Basic usage example""" # Method 1: Direct initialization pipeline = TextToImagePipeline.from_pretrained( model_path="/data/phd/yaozhengjian/zjYao_Exprs/BLIP-3o-next/Face-Restore_restoration-FFHQ+CelebA/checkpoint-30800", device="cuda:0" ) # Generate image result = pipeline( prompt="Please reconstruct the given image.", image="path/to/your/image.jpg" ) # Save result result.save("output.jpg") print(f"Generated {len(result.images)} images") def example_with_pil_image(): """Example using PIL Image object""" # Load pipeline pipeline = load_pipeline( model_path="your_model_path", device="cuda:0", dtype="bfloat16" ) # Use PIL Image object input_image = Image.open("input.jpg") result = pipeline( prompt="Please enhance and reconstruct this image.", image=input_image ) # Access original image and generated images original = result.original_image generated = result.images[0] # Save generated.save("enhanced_output.jpg") def example_batch_processing(): """Batch processing example""" import os from pathlib import Path # Initialize pipeline pipeline = TextToImagePipeline.from_pretrained("your_model_path") # Batch process images in a folder input_folder = Path("input_images") output_folder = Path("output_images") output_folder.mkdir(exist_ok=True) for image_file in input_folder.glob("*.jpg"): try: result = pipeline( prompt="Please reconstruct the given image.", image=str(image_file) ) output_path = output_folder / f"restored_{image_file.name}" result.save(str(output_path)) print(f"Processed: {image_file.name}") except Exception as e: print(f"Error processing {image_file.name}: {e}") def example_custom_config(): """Custom configuration example""" from DiffusionNFT.model import PipelineConfig # Create custom configuration config = PipelineConfig( model_path="your_model_path", device="cuda:1", # Use a different GPU scale=1, # Adjust scale parameter seq_len=1024, # Adjust sequence length top_p=0.9, # Adjust sampling parameters top_k=1000, image_size=1024 # Use a larger image size ) pipeline = TextToImagePipeline(config) result = pipeline( prompt="Please reconstruct and enhance this image with high quality.", image="high_res_input.jpg" ) result.save("high_quality_output.jpg") if __name__ == "__main__": # Run examples (please modify paths according to actual situation) print("TextToImagePipeline usage examples") print("Please modify the paths in the code according to your actual model path and image path") # example_basic_usage() # example_with_pil_image() # example_batch_processing() # example_custom_config()