求无GPU环境下基于Stable Diffusion的Python图转图风格化Colab代码链接
基于Google Colab的Stable Diffusion图转图风格化实现方案
一、Colab运行环境配置
- 打开Colab后,点击顶部菜单栏的「代码执行程序」→「更改运行时类型」,选择「GPU」作为硬件加速器,保存设置。
二、安装依赖库
运行以下代码安装所需工具包:
!pip install diffusers transformers accelerate safetensors gradio
三、图转图风格化核心代码
直接运行以下代码,它会加载预训练的Stable Diffusion模型,并生成可视化交互界面:
import torch from diffusers import StableDiffusionImg2ImgPipeline from PIL import Image import gradio as gr # 加载Stable Diffusion图转图模型,自动适配GPU pipe = StableDiffusionImg2ImgPipeline.from_pretrained( "runwayml/stable-diffusion-v1-5", torch_dtype=torch.float16 ).to("cuda") # 定义图转图风格化函数 def img2img_style_transfer(input_image, prompt, strength=0.75, guidance_scale=7.5): # 调整图片尺寸以适配模型要求 input_image = input_image.resize((512, 512)) # 生成风格化图片 output = pipe( prompt=prompt, image=input_image, strength=strength, guidance_scale=guidance_scale ).images[0] return output # 创建可视化交互界面 with gr.Blocks() as demo: gr.Markdown("# Stable Diffusion 图转图风格化工具") with gr.Row(): input_img = gr.Image(type="pil", label="上传原图") output_img = gr.Image(label="风格化结果") prompt = gr.Textbox(label="风格提示词", placeholder="示例:梵高星空油画风格,浓郁色彩,笔触纹理") with gr.Row(): strength_slider = gr.Slider(minimum=0.1, maximum=1.0, value=0.75, label="风格强度(越高越偏离原图)") guidance_slider = gr.Slider(minimum=1.0, maximum=20.0, value=7.5, label="提示词权重(越高越贴合描述)") generate_btn = gr.Button("生成风格化图片") generate_btn.click( fn=img2img_style_transfer, inputs=[input_img, prompt, strength_slider, guidance_slider], outputs=output_img ) # 启动界面 demo.launch(debug=True)
四、使用步骤
- 按顺序运行上述代码块,首次加载模型需要下载权重,耗时约5-10分钟,耐心等待。
- 代码运行完成后,会生成一个带链接的交互界面(点击链接打开新窗口)。
- 上传需要风格化的图片,输入具体的风格描述提示词(比如「赛博朋克都市风格,霓虹灯光,高对比度」「莫奈印象派,柔和光影,朦胧色彩」)。
- 调整滑块参数:
- 风格强度:值越接近1,输出和原图差异越大;越接近0,越保留原图结构。
- 提示词权重:值越高,生成结果越贴合你输入的描述。
- 点击生成按钮,等待3-10秒即可得到风格化后的图片。
注意事项
- 如果遇到显存不足报错,可尝试将模型替换为「CompVis/stable-diffusion-v1-4」,或者把图片尺寸改为256x256。
- 提示词越具体,生成结果越符合预期,建议结合风格流派、色彩、质感、场景等关键词。
内容的提问来源于stack exchange,提问作者DS Marktine
相关产品推荐
相关产品推荐

