cumulo-autumn / StreamDiffusion

StreamDiffusion: A Pipeline-Level Solution for Real-Time Interactive Generation
Apache License 2.0
9.7k stars 692 forks source link

Engine Builder not following opt_image_height or opt_image_width after switching to RTX A4000 GPU. #168

Open potesd opened 3 months ago

potesd commented 3 months ago

Hoping to get someclarification as to possible reasons for this issue.

I've been successfully building tensorrt engines for stream diffusion in all sorts of resolutions, and have a well documented method for consistently changing resolution.

I affect changes to the Engine name in Config.Json "engine": "../engines/Yntec/Film1--lcm_lora-True--tiny_vae-True--max_batch-1--min_batch-1--mode-img2img--width-720--height-720",

in Wrapper.py width: int = 720, height: int = 720,

in Pipeline.py width: int = 720, height: int = 720,

and in Builder.py opt_image_height: int = 720, opt_image_width: int = 720, opt_batch_size: int = 2, min_image_resolution: int = 256, max_image_resolution: int = 1024,

This literally works on every other RTX pc I have, I currently have 3 pcs set up for stream diffusion using the exact same code base and code adjustments, and yet ONLY the A4000 refuses to grab the right OPT Batch width and height.

The error I get is

Building TensorRT engine for ../engines/Yntec/Film1--lcm_lora-True--tiny_vae-True--max_batch-1--min_batch-1--mode-img2img--width-720--height-720\onnx\vae_encoder.opt.onnx: ../engines/Yntec/Film1--lcm_lora-True--tiny_vae-True--max_batch-1--min_batch-1--mode-img2img--width-720--height-720/vae_encoder.engine [I] Configuring with profiles: [Profile().add('images', min=(1, 3, 512, 512), opt=(2, 3, 512, 512), max=(2, 3, 512, 512))]

As you can see, even though I've hard coded the OPT image height and width, the profile ignores this and configures it to be 512 by 512, which literally doesn't exist in my code. I don't have those dimensions in any single script I'm using.

Please oh PLEASE help me understand what has gone wrong with this RTX A4000