电子书 人工智能

[中英对照] 使用 Python 玩转 Stable Dif

¥2.90 已售 0
✓ 自动发货 ✓ 永久有效 ✓ 售后保障

资源介绍

fusion:借助 Python 掌控并自动化高质量 AI 图像生成(双语版电子书) 在 AI 图像生成领域飞速发展的当下,Stable Diffusion 凭借其开源特性与强大的图像生成能力,成为众多开发者和创作者的首选工具。由 Andrew Zhu(朱树东)撰写的《使用 Python 玩转 Stable Diffusion:借助 Python 掌控并自动化高质量 AI 图像生成》(2024 年由 Packt Publishing Pvt Ltd 出版),为想要深入掌握 Stable Diffusion 技术的读者,提供了一份全面且实用的指南。 全书共分为四个部分,从基础理论到实际应用,层层递进,帮助读者逐步解锁 Stable Diffusion 的潜力。 第一部分 “Stable Diffusion 快速入门”,是读者开启 Stable Diffusion 之旅的基础。第 1 章首先介绍了 Stable Diffusion 的基本概念,追溯其从扩散模型的演变历程,对比了它与其他生成模型(如 DALL-E 2)的差异,阐述了其开源特性带来的优势,以及为何选择用 Python 来操控它。同时,还解答了 “该使用哪款 Stable Diffusion 工具” 的疑问,明确本书聚焦于通过纯 Python 结合 Diffusers 库进行开发。第 2 章详细讲解了运行 Stable Diffusion 的软硬件需求,从 GPU、系统内存、存储的硬件配置,到 CUDA、Python、PyTorch 的软件安装步骤,甚至为没有 GPU 的用户提供了 Google Colaboratory 等替代方案,并给出了环境搭建过程中的常见问题排查方法。第 3 章则带领读者实战操作,学习如何登录 Hugging Face、生成图像,以及理解生成种子、采样调度器、模型切换和引导尺度等关键参数对图像生成的影响。第 4 章和第 5 章深入理论层面,分别剖析了扩散模型的理论基础(图像到噪声、噪声到图像的过程等)和 Stable Diffusion 的工作原理( latent 空间运作、各组件如 CLIP 文本编码器、UNet 的作用等)。第 6 章聚焦 Stable Diffusion 模型的使用,包括加载 Diffusers 模型、处理 safetensors 和 ckpt 格式的模型 checkpoint 文件、关闭模型安全检查器,以及使用 Stable Diffusion XL 等内容。 第二部分 “为 Diffusers 添加自定义功能”,旨在帮助读者突破 Diffusers 库的固有局限,打造更贴合自身需求的工具。第 7 章围绕性能和显存优化展开,提出了六种实用方案,如使用 float16 或 bfloat16 数据类型、启用 VAE 切片、使用 Xformers 或 PyTorch 2.0、启用顺序 CPU 卸载、模型 CPU 卸载以及 Token Merging(ToMe)技术,每种方案都详细说明了原理和实现代码,助力读者在不同硬件条件下高效运行模型。第 8 章介绍了如何使用社区共享的 LoRA(低秩适应)模型,从 LoRA 的工作原理,到借助 Diffusers 和 PEFT 库加载 LoRA、调整 LoRA 权重,再到深入 LoRA 内部结构手动加载和更新模型权重,最后还解释了 LoRA 为何能高效微调模型。第 9 章探讨了文本反转(Textual Inversion)技术,讲解如何利用 Diffusers 进行文本反转推理,剖析其工作机制,并构建自定义的文本反转加载器,支持不同格式(pt、bin)的文本反转文件。第 10 章解决了 Stable Diffusion 的 77token 限制问题,提供了突破该限制的实现方法,同时实现了带权重的长提示词功能,还介绍了利用社区管道快速实现该功能的途径。第 11 章聚焦图像修复与超分辨率技术,解释相关术语,分别介绍了利用 Img2img 扩散进行图像超分辨率(单步和多步)以及借助 ControlNet Tile 进行超分辨率的方法,并对比了不同方法的效果。第 12 章则介绍了定时提示解析,包括使用 Compel 包实现提示词混合,以及构建自定义的定时提示管道,支持按步骤切换提示词或交替使用提示词。 第三部分 “高级主题”,带领读者探索 Stable Diffusion 更前沿、更复杂的应用。第 13 章介绍了 ControlNet 技术,对比了 ControlNet 与文本嵌入、LoRA、Img2img 等控制方法的差异,讲解了如何使用单个和多个 ControlNet 进行图像生成,深入剖析其工作原理,还介绍了更多 ControlNet 类型以及 Stable Diffusion XL 对应的 ControlNet 使用方法。第 14 章探讨了如何利用 Stable Diffusion 生成视频,以 AnimateDiff 为例,讲解了文本到视频生成的原理、AnimateDiff 的实际应用,以及借助 Motion LoRA 控制动画运动。第 15 章介绍了使用 BLIP-2 和 LLaVA 两款模型生成图像描述,分别讲解了它们的工作机制、安装步骤和使用方法,帮助读者实现从图像到文字描述的自动化转换。第 16 章深入探索 Stable Diffusion XL,分析其在 VAE、UNet、文本编码器等组件上的新特性,以及两阶段设计(基础模型 + 优化模型),并介绍了使用 Stable Diffusion XL 社区模型、进行图像到图像增强、加载 LoRA 模型和使用无限制长度提示词等实用操作。第 17 章聚焦提示词优化,总结了撰写优质提示词的原则(清晰具体、详细描述、术语一致、参考艺术风格、加入负面提示词、迭代优化),同时介绍了利用大语言模型自动生成高质量提示词的方法。 第四部分 “将 Stable Diffusion 集成到应用中”,指导读者将所学技术落地到实际应用开发。第 18 章介绍了基于 Stable Diffusion 的物体编辑和风格迁移应用,讲解了利用 CLIPSeg 进行图像内容检测以替换或移除图像背景,借助 Rembg 工具更精准地移除背景,以及通过 IP-Adapter 实现物体和风格的迁移。第 19 章探讨了生成数据持久化,介绍了 PNG 文件结构,讲解如何在 PNG 图像文件中保存 Stable Diffusion 生成图像时的提示词和参数等元数据,以及如何提取这些元数据。第 20 章聚焦交互式用户界面开发,以 Gradio 框架为例,介绍其基本概念和使用方法,包括 Gradio Blocks 组件、输入输出控件、进度条构建,最终实现一个带进度条的 Stable Diffusion 文本到图像生成的 Web 界面。第 21 章深入扩散模型迁移学习,从使用 PyTorch 训练简单线性模型入手,介绍了 Hugging Face Accelerate 库在单 GPU 和多 GPU 训练中的应用,最后详细讲解了训练 Stable Diffusion V1.5 LoRA 模型的完整流程,包括超参数定义、模型组件准备、训练数据加载、训练组件定义和训练过程实现。第 22 章则跳出技术细节,探讨了 Stable Diffusion 之外的 AI 发展,分析当前 AI 浪潮的特点,强调数学和编程的持久价值,给出了跟进 AI 创新、培养负责任且安全的 AI 使用意识,以及思考人与 AI 关系的建议。 本书适合 AI 图像与艺术生成爱好者、希望精准控制扩散模型的艺术家、想要开发 AI 图像生成应用的 Python 开发者,以及需要通过 Python 程序化控制 Stable Diffusion 流程的数据分析科学家、机器学习工程师和研究人员。读者只需具备一定的 Python 编程经验,若熟悉神经网络和 PyTorch 则更易上手。通过阅读本书,读者不仅能掌握使用 Python 生成和编辑图像的技能,还能借助书中提供的解决方案,为商业场景和用户构建稳定、高效的 Stable Diffusion 应用,开启 AI 图像生成领域的创新之旅。