欢迎光临散文网 会员登陆 & 注册

AIGC | 十行代码用TensorRT加速Stable Diffusion模型

2023-07-16 17:45 作者:扫地的小何尚  | 我要投稿

环境配置:

!docker run --rm -it --gpus all -p 8888:8888 -v $PWD:/workspace nvcr.io/nvidia/tensorrt:23.04-py3 /bin/bash


#进入镜像内安装所需工具

!pip install --upgrade "torch <2.0.0"


!pip install --upgrade "tensorrt>=8.6"


!pip install --extra-index-url https://pypi.ngc.nvidia.com --upgrade "onnx-graphsurgeon" "onnxruntime" "polygraphy"


!pip install --upgrade "accelerate" "diffusers>=0.16" "transformers"



执行代码:

import diffusers

import torch

import tensorrt

from diffusers.pipelines.stable_diffusion import StableDiffusionPipeline

from diffusers import DDIMScheduler

scheduler = DDIMScheduler.from_pretrained("stabilityai/stable-diffusion-2-1", subfolder="scheduler")


pipe_trt = StableDiffusionPipeline.from_pretrained(

  "stabilityai/stable-diffusion-2-1",

  custom_pipeline="stable_diffusion_tensorrt_txt2img",

  revision='fp16',

  torch_dtype=torch.float16,

  scheduler=scheduler,

  image_height=512,

  image_width=512)


pipe_trt.set_cached_folder("stabilityai/stable-diffusion-2-1", revision='fp16')


pipe_trt = pipe_trt.to("cuda")


prompt = "A hyper realistic avatar of a guy riding on a black KTM duke 390 in leather suit,high detail, high quality,8K,photo realism"


neg_prompt = " flying mirrors,low quality"


image = pipe_trt(prompt, negative_prompt=neg_prompt).images[0]

display(image)


for _ in range(5):

  image = pipe_trt(prompt, negative_prompt=neg_prompt, num_inference_steps=20).images[0]

  display(image)

AIGC | 十行代码用TensorRT加速Stable Diffusion模型的评论 (共 条)

分享到微博请遵守国家法律