当前位置: 首页 > article >正文

Stable Diffusion 实战教程:从安装到图像生成

Stable Diffusion 实战教程从安装到图像生成前言Stable Diffusion 是当前最流行的开源图像生成模型之一。它能够根据文字描述生成高质量的图像在创意设计、游戏开发等领域有广泛应用。我在多个项目中使用过 Stable Diffusion从简单的图像生成到风格迁移。今天分享完整的实战指南。环境准备# 创建虚拟环境 conda create -n sd python3.10 conda activate sd # 安装依赖 pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 pip install diffusers transformers accelerate safetensors pip install gradio # 用于可视化基础使用文本到图像from diffusers import StableDiffusionPipeline import torch # 加载模型 pipe StableDiffusionPipeline.from_pretrained( runwayml/stable-diffusion-v1-5, torch_dtypetorch.float16 ).to(cuda) # 生成图像 prompt a beautiful sunset over the ocean, golden hour, photorealistic image pipe(prompt).images[0] # 保存图像 image.save(sunset.png)控制生成参数def generate_image( prompt: str, negative_prompt: str None, num_inference_steps: int 50, guidance_scale: float 7.5, seed: int None ) - Image: 生成图像 generator torch.Generator(cuda).manual_seed(seed) if seed else None image pipe( promptprompt, negative_promptnegative_prompt, num_inference_stepsnum_inference_steps, guidance_scaleguidance_scale, generatorgenerator ).images[0] return image # 使用示例 image generate_image( prompta cute cat playing with a ball, negative_promptugly, blurry, low quality, num_inference_steps30, guidance_scale7.5, seed42 )高级技巧图像到图像from diffusers import StableDiffusionImg2ImgPipeline from PIL import Image # 加载图像到图像模型 img2img_pipe StableDiffusionImg2ImgPipeline.from_pretrained( runwayml/stable-diffusion-v1-5, torch_dtypetorch.float16 ).to(cuda) # 加载输入图像 init_image Image.open(input.jpg).convert(RGB) init_image init_image.resize((512, 512)) # 生成 prompt turn this photo into a painting in the style of Van Gogh image img2img_pipe( promptprompt, imageinit_image, strength0.75 ).images[0] image.save(output.png)深度引导from diffusers import StableDiffusionDepth2ImgPipeline # 加载深度模型 depth_pipe StableDiffusionDepth2ImgPipeline.from_pretrained( stabilityai/stable-diffusion-2-depth, torch_dtypetorch.float16 ).to(cuda) # 使用深度图引导 prompt a futuristic city skyline image depth_pipe( promptprompt, imageinit_image, depth_mapNone # 自动计算深度 ).images[0]模型微调准备数据集from datasets import load_dataset # 加载数据集 dataset load_dataset(lambdalabs/pokemon-blip-captions) # 预处理 def preprocess(examples): images [image.convert(RGB).resize((512, 512)) for image in examples[image]] return {images: images, captions: examples[text]} dataset dataset.map(preprocess, batchedTrue)训练脚本from diffusers import StableDiffusionPipeline from diffusers.training_utils import set_seed # 设置种子 set_seed(42) # 加载模型 model_id runwayml/stable-diffusion-v1-5 pipe StableDiffusionPipeline.from_pretrained(model_id) # 配置训练参数 training_args { output_dir: ./pokemon-model, per_device_train_batch_size: 4, gradient_accumulation_steps: 4, learning_rate: 1e-5, num_train_epochs: 10, logging_steps: 10, save_steps: 100 } # 开始训练简化示例 # trainer.train()Web UI 部署import gradio as gr def generate(prompt, negative_prompt, steps, scale): 生成图像 image pipe( promptprompt, negative_promptnegative_prompt, num_inference_stepssteps, guidance_scalescale ).images[0] return image # 创建界面 with gr.Blocks() as demo: gr.Markdown(# Stable Diffusion Demo) with gr.Row(): with gr.Column(): prompt gr.Textbox(labelPrompt) negative_prompt gr.Textbox(labelNegative Prompt) steps gr.Slider(minimum10, maximum100, value50, labelSteps) scale gr.Slider(minimum1, maximum20, value7.5, labelGuidance Scale) generate_btn gr.Button(Generate) with gr.Column(): output gr.Image(labelOutput) generate_btn.click(generate, inputs[prompt, negative_prompt, steps, scale], outputsoutput) demo.launch()常见问题显存不足# 解决方案使用安全模式 pipe.enable_attention_slicing() # 或使用 CPU 卸载 pipe.enable_model_cpu_offload() # 或减少 batch size pipe.set_progress_bar_config(disableTrue)生成质量差# 提高质量的技巧 # 1. 使用更高的 steps # 2. 调整 guidance_scale # 3. 添加详细的 negative prompt # 4. 使用更好的模型如 SDXL总结Stable Diffusion 是强大的图像生成工具基础用法文本到图像的简单生成高级技巧图像到图像、深度引导微调适应特定风格或主题部署构建 Web 应用关键要点提示词质量直接影响生成结果negative prompt 很重要调整参数需要经验大显存 GPU 能显著提升速度

相关文章:

Stable Diffusion 实战教程:从安装到图像生成

Stable Diffusion 实战教程:从安装到图像生成 前言 Stable Diffusion 是当前最流行的开源图像生成模型之一。它能够根据文字描述生成高质量的图像,在创意设计、游戏开发等领域有广泛应用。 我在多个项目中使用过 Stable Diffusion,从简单的图…...

多模态大模型技术入门:让 AI 看见世界

多模态大模型技术入门:让 AI 看见世界 前言 人类感知世界的方式是多模态的——我们能看到图像、听到声音、读到文字。多模态大模型(Multimodal LLM)正是让 AI 拥有类似能力的关键技术。从 GPT-4V 到 Claude 3,从开源的 LLaVA 到 C…...

“--tile”失效了?深度逆向Midjourney纹理无缝拼接底层逻辑(含Python自动化Tile校验脚本)

更多请点击: https://codechina.net 第一章:Midjourney纹理无缝拼接的核心价值与失效现象洞察 在游戏开发、建筑可视化与数字孪生等高频复用表面材质的场景中,Midjourney生成的纹理若能实现像素级无缝拼接(tiling)&am…...

技术人的人际关系:建立良好的职业网络

技术人的人际关系:建立良好的职业网络 引言 作为一名技术人,人际关系同样重要。良好的人际关系可以帮助我们获得更多机会,提升职业发展。 今天就来分享一下如何建立良好的职业网络。 为什么人际关系重要 职业发展 良好的人际关系有助于职业发…...

LangFuse与LangSmith区别

文章目录🔄 **核心定位对比**🎯 **适用场景差异**💡 **为什么两者并存?**🔄 核心定位对比 LangSmith(LangChain官方): 闭源产品,由LangChain官方提供深度集成&#xff…...

Belkin向范围3排放碳中和目标迈进

该公司发布的《2025年环境影响报告》重点介绍了其在减排、循环设计和负责任包装方面取得的持续进展 发布了《2025年环境影响报告》(2025 Impact Report),重点介绍了关键成就,并重申了其对企业社会责任的承诺。在2025年实现范围1和…...

数字图像质量提升技术【附代码】

✨ 长期致力于图像质量提升、计算机图形处理器、并行加速、非均匀校正、图像超分辨、反射光消除、深度学习、生成对抗网络研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,点击《获取方式》 &#…...

涡流检测驱动的发动机气门硬度分选技术【附算法】

✨ 长期致力于核环境机器人、机器人运动学、机械臂振动抑制、自适应动力学控制研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,点击《获取方式》 (1)核辐射环境下涡流检测机…...

大规模数据降维中迹比率问题与非负矩阵分解的快速算法【附代码】

✨ 长期致力于数据降维、大规模判别分析、迹比率问题、快速算法、非负矩阵分解研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,点击《获取方式》 (1)随机迹比率问题的显式解…...

计算机视觉与深度学习融合的群养猪行为识别与分类算法【附算法】

✨ 长期致力于计算机视觉、深度学习、攻击识别、多物体玩耍识别、饮水和玩耍饮水器分类、进食识别、行为量化研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,点击《获取方式》 (1&…...

RAG 和 NotebookLM 都试过后,我才发现数据库知识库真正缺的不是搜索

很多数据库知识库不好用,不是模型不会答,而是知识没有被整理成可调用、可校验、可维护的资产。 前面几篇一直在聊 DB Agent。 聊 Skill,聊记忆,聊告警风暴,聊编排,也聊到了系统画像、历史案例和当前证据。…...

LangGraph Reducer 深度应用:为什么你的 State 合并总是出问题?

这篇文章帮你搞定 LangGraph Reducer 的高级用法,从源码解析到生产级模式,从并发安全到测试策略 阅读提示 适合谁看:已读过 State 设计模式基础,想深入 Reducer 机制的工程师看完能做什么:能实现生产级 Reducer&#x…...

Kimi LeetCode 2547. 拆分数组的最小代价 C++实现

这道题的核心思路是动态规划 记忆化搜索。我们定义 dfs(i) 为从下标 i 开始拆分数组的最小代价,答案即为 dfs(0)。关键观察子数组的重要性 k trimmed(subarray).length。其中 trimmed 操作会移除子数组中只出现一次的数字。如果我们用 cnt[x] 记录数字 x 在当前子…...

8.C# —— 随机数、DateTime时间、字符串

一、C# 随机数(伪随机 安全随机)1. 核心概念计算机中没有真正的随机数,生成的都是伪随机数(通过算法 种子计算得出)。种子相同 → 生成的随机数序列完全相同不指定种子 → 默认使用系统当前时间作为种子,…...

实测在ubuntu环境下调用taotoken api的延迟与稳定性表现

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 实测在ubuntu环境下调用taotoken api的延迟与稳定性表现 本文旨在分享在Ubuntu 22.04 LTS系统环境下,使用Python脚本持…...

长期使用中观察Taotoken账单的透明度与预测准确性

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 长期使用中观察Taotoken账单的透明度与预测准确性 在将多个大模型API集成到日常开发或业务流后,成本的可观测性与可控性…...

开源 AI Agent Harness Engineering 模型与闭源模型的对比

开源 AI Agent Harness Engineering 模型与闭源模型的对比 摘要 如果把AI Agent比作自动驾驶汽车,那么AI Agent Harness就是这辆车的操作系统:它负责管控任务规划、工具调用、记忆管理、容错重试等所有核心逻辑,是Agent落地工程化的核心支撑…...

软件开发行业的未来:AI编程将如何改变开发行业

在科技飞速发展的今天,人工智能(AI)正以前所未有的速度渗透到各个领域,软件开发行业也不例外。AI编程作为AI技术在软件开发领域的重要应用,正在深刻地改变着开发行业的格局。对于软件测试从业者来说,了解AI…...

智慧校园之考场作弊事实识别图像数据集 考试作弊识别监控 学生作弊识别系统数据集 AI识别作弊数据集

考试违规检测数据集简介 类别 Tags 标签 Object DetectionClasses (2) 类别(2) Cheating 作弊 Not Cheating 未作弊项目详情数据集类别涵盖考试场景下多种违规行为类别,包括但不限于作弊工具使用、交头接耳、擅自离座、抄袭等典型违规场景数据…...

智慧无人机航拍巡检数据集 红外行人车辆识别数据集 行人车辆计数图像识别 红外建筑物识别 夜间低光环境下视觉感知算法 安防、交通等领域红外视觉任务 第10355期

深度学习数据集 README数据集核心信息总览维度详情数据类别目标检测类(建筑物、人们、车辆、路灯、通用物体、单个行人,共 6 类)数据数量图像样本共 60 张,包含训练、验证、测试所需的基础样本量数据集格式图像格式(支…...

抖音无水印下载器:高效保存高清视频与图集的完整解决方案

抖音无水印下载器:高效保存高清视频与图集的完整解决方案 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback su…...

py之代码实现获取字符串中每个字符的unicode值

def print_unicode_values(strings_list):"""接收字符串列表,提取所有字符的Unicode码点并以0x格式升序打印,后面加上对应字符"""unicode_values = set() # 使用集合自动去重for text in strings_list:for char in text...

py每日spider案例之netease搜索接口获取

import requestsheaders = {"accept": "application/json, text/plain, */*","accept-language": "en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7","cache-control": "no-cache",...

pubnub代码示例

import time from pubnub.pnconfiguration import PNConfiguration from pubnub.pubnub import PubNub, SubscribeListener from pubnub.exceptions import PubNubExceptionpublish_key=pub-c-fab-b05a-c355bb3adac5 subscribe_key=sub...

c语言之pubnub库代码示例

好的,这是 PubNub 在 FreeRTOS 平台上的核心接口代码示例: PubNub 核心接口示例 1. 初始化与配置 #include "pubnub_api.h" #include "pubnub_coreapi.h" #include "pubnub_pubsubapi.h"...

《科技代替了我工作》的传播入口:技术焦虑如何落到听众

从内容传播角度看,《科技代替了我工作》有天然的现实入口,但写法必须克制。它不是技术教程,也不是政策评论,而是把技术变化落到一个普通人的饭碗、身份感和安全感上。这个标题容易被记住,因为它把宏大的技术词变成了第…...

知识竞赛裁判怎么当?评分标准与争议处理

知识竞赛裁判怎么当?评分标准与争议处理公平 专业 高效 守护竞赛的生命线🎯 一、裁判的角色与职责知识竞赛裁判是竞赛公平的守护者,不仅要掌握规则,还要具备快速判断和沟通能力。核心职责:📋 赛前熟悉题…...

从被动响应到主动行动:AI Agent的自主性革命

从被动响应到主动行动:AI Agent的自主性革命 标题选项 《从被动响应到主动行动:AI Agent如何开启下一代人工智能的自主性革命》 《告别“一问一答”:拆解AI Agent的自主决策逻辑,看懂下一代AI的核心方向》 《从ChatGPT到自主Agent:人工智能的下一个拐点,到底革了谁的命?…...

聊一聊5家软件许可优化公司,哪个更适合你?

做软件资产管理的朋友应该都有同感:软件许可这事儿,水太深了。尤其这几年大厂审计越来越狠,一不小心就是几百万的罚单。所以很多公司开始找专门做软件许可优化的服务商。今天聊聊5家比较有代表性的:、Flexera、Snow、Anglepoint和…...

从零开始:5分钟掌握Mermaid Live Editor,告别复杂图表绘制烦恼

从零开始:5分钟掌握Mermaid Live Editor,告别复杂图表绘制烦恼 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_Trending/me/…...