比迪丽LoRA部署教程:Ubuntu+Docker环境下GPU算力高效利用

news2026/3/17 11:32:52
比迪丽LoRA部署教程UbuntuDocker环境下GPU算力高效利用1. 前言为什么选择这个方案如果你玩过AI绘画肯定遇到过这样的烦恼想画个特定角色比如《龙珠》里的比迪丽但用通用模型画出来的总是不太像。要么脸型不对要么发型有偏差要么就是少了那种独特的英气。这时候LoRA模型就派上用场了。它就像给AI模型加了个“角色插件”专门学习某个特定角色的特征让你能稳定生成这个角色的各种图片。今天要部署的比迪丽LoRA模型就是这样一个专门为生成比迪丽角色设计的模型。但问题来了怎么部署才能既简单又高效特别是当你手头有GPU资源时怎么让它发挥最大作用这就是本文要解决的问题。我将带你一步步在Ubuntu系统上用Docker方式部署比迪丽LoRA模型并且重点讲解如何充分利用GPU算力让你生成图片的速度快人一步。2. 环境准备检查你的装备在开始之前我们先确认一下你的环境是否满足要求。别担心要求并不高。2.1 硬件要求项目最低要求推荐配置GPUNVIDIA显卡4GB显存NVIDIA显卡8GB以上显存内存8GB16GB以上存储20GB可用空间50GB以上可用空间系统Ubuntu 20.04或更高Ubuntu 22.04 LTS重点说一下GPU这个模型支持CUDA加速有GPU的话生成速度能快好几倍。如果你用的是云服务器确保选择带GPU的实例如果是自己的电脑确认一下显卡型号和驱动。2.2 软件要求需要提前安装好的软件Docker容器化部署的核心NVIDIA Container Toolkit让Docker能用上GPUGit下载代码和模型如果你不确定这些软件是否安装别急接下来的步骤会包含安装方法。3. 一步步部署从零到可用好了准备工作说完咱们正式开始部署。我会把每个步骤都讲清楚确保你跟着做就能成功。3.1 第一步安装Docker和NVIDIA支持打开你的Ubuntu终端依次执行以下命令# 更新系统包列表 sudo apt update # 安装Docker的依赖包 sudo apt install -y apt-transport-https ca-certificates curl software-properties-common # 添加Docker官方GPG密钥 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - # 添加Docker仓库 sudo add-apt-repository deb [archamd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable # 安装Docker sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io # 将当前用户加入docker组避免每次都要sudo sudo usermod -aG docker $USER # 安装NVIDIA Container Toolkit distribution$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt update sudo apt install -y nvidia-docker2 sudo systemctl restart docker重要提示执行完usermod命令后你需要重新登录系统或者新开一个终端这样docker组权限才会生效。3.2 第二步验证GPU支持安装完成后我们来测试一下Docker能不能用上GPU# 运行一个简单的测试容器 sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi如果看到类似下面的输出说明GPU支持已经配置好了----------------------------------------------------------------------------- | NVIDIA-SMI 470.161.03 Driver Version: 470.161.03 CUDA Version: 11.4 | |--------------------------------------------------------------------------- | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | || | 0 Tesla T4 Off | 00000000:00:04.0 Off | 0 | | N/A 34C P8 9W / 70W | 0MiB / 15109MiB | 0% Default | | | | N/A | ---------------------------------------------------------------------------3.3 第三步下载比迪丽LoRA模型现在我们来获取比迪丽LoRA模型文件。这里有两种方式你可以选择其中一种。方式一直接下载推荐# 创建模型存放目录 mkdir -p ~/models/lora cd ~/models/lora # 下载比迪丽LoRA模型 # 注意这里需要替换为实际的模型下载链接 # 假设模型文件名为bidili_lora.safetensors wget https://example.com/models/bidili_lora.safetensors方式二从Hugging Face下载如果你有Hugging Face账号也可以从那里下载# 安装huggingface-hub pip install huggingface-hub # 下载模型 python -c from huggingface_hub import snapshot_download; snapshot_download(repo_idusername/bidili-lora, local_dir~/models/lora)模型文件说明文件格式通常是.safetensors或.ckpt文件大小一般在100MB-500MB之间存放位置记住你存放的路径后面会用到3.4 第四步准备WebUI Docker镜像比迪丽LoRA模型需要配合一个Web界面来使用。我们选择用Automatic1111的Stable Diffusion WebUI因为它对LoRA支持很好。创建一个部署目录并准备配置文件# 创建项目目录 mkdir -p ~/bidili-webui cd ~/bidili-webui # 创建docker-compose.yml文件 cat docker-compose.yml EOF version: 3.8 services: webui: image: ghcr.io/automatic1111/stable-diffusion-webui:latest container_name: bidili-webui runtime: nvidia deploy: resources: reservations: devices: - driver: nvidia count: all capabilities: [gpu] ports: - 7860:7860 volumes: - ./models:/stable-diffusion-webui/models - ./outputs:/stable-diffusion-webui/outputs - ./config:/stable-diffusion-webui/config environment: - CLI_ARGS--listen --port 7860 --enable-insecure-extension-access restart: unless-stopped EOF # 创建必要的目录结构 mkdir -p models/{Stable-diffusion,Lora,VAE,ControlNet} mkdir -p outputs config # 将之前下载的LoRA模型复制到正确位置 cp ~/models/lora/bidili_lora.safetensors ./models/Lora/3.5 第五步启动WebUI服务现在一切准备就绪可以启动服务了# 进入项目目录 cd ~/bidili-webui # 启动服务第一次运行会下载基础模型时间较长 sudo docker-compose up -d # 查看服务状态 sudo docker-compose ps # 查看日志观察启动过程 sudo docker-compose logs -f webui第一次启动时Docker会下载Automatic1111 WebUI的镜像然后容器内部会自动下载Stable Diffusion的基础模型。这个过程可能需要一些时间具体取决于你的网络速度。耐心等待当你看到日志中出现类似这样的信息时说明服务已经启动成功Running on local URL: http://0.0.0.0:78603.6 第六步配置比迪丽LoRA模型服务启动后打开浏览器访问http://你的服务器IP:7860第一次访问时WebUI会进行一些初始化。完成后我们需要配置LoRA模型点击左上角的Show extra networks按钮图标像一个小卡片切换到Lora标签页你应该能看到bidili_lora这个模型点击它它会被添加到提示词中格式类似lora:bidili_lora:14. GPU算力优化让生成速度飞起来现在服务已经跑起来了但你可能发现生成图片的速度还不够快。别急我们来优化GPU的使用。4.1 检查GPU使用情况首先看看当前GPU的使用情况# 在宿主机上查看 nvidia-smi # 或者在容器内查看 sudo docker exec bidili-webui nvidia-smi你应该能看到GPU正在被使用但可能利用率不高。4.2 调整WebUI参数优化性能在WebUI的设置页面Settings有几个关键参数可以调整Cross attention optimization选择xFormers如果可用或者选择Doggettx兼容性更好Token merging ratio设置为0.2-0.3可以在几乎不影响质量的情况下提升速度GPU memory usage如果显存充足8GB以上选择Full precision如果显存紧张选择FP16或BF16Batch size根据显存调整一般设置为1-2可以在txt2img标签页的Batch count和Batch size中调整4.3 Docker容器GPU资源限制如果你在同一台机器上运行多个服务可能需要限制每个容器使用的GPU资源# 修改docker-compose.yml中的deploy部分 deploy: resources: reservations: devices: - driver: nvidia count: 1 # 只使用1个GPU device_ids: [0] # 使用GPU 0 capabilities: [gpu] limits: cpus: 4.0 # 限制CPU使用 memory: 8G # 限制内存使用4.4 使用TensorRT加速高级优化如果你使用的是NVIDIA RTX系列显卡可以尝试使用TensorRT进一步加速# 进入容器 sudo docker exec -it bidili-webui bash # 安装TensorRT扩展在容器内 cd /stable-diffusion-webui/extensions git clone https://github.com/NVIDIA/TensorRT.git cd TensorRT pip install -r requirements.txt # 转换模型为TensorRT格式 # 这需要一些时间但转换后推理速度能提升2-3倍注意TensorRT优化需要模型转换第一次使用时会比较耗时但后续生成速度会有显著提升。4.5 监控和调优工具安装一些监控工具帮助你了解GPU使用情况# 安装nvtopGPU监控工具 sudo apt install nvtop # 运行nvtop查看实时GPU使用情况 nvtop在nvtop界面中你可以看到GPU利用率Util%显存使用情况Memory温度Temp功耗Power根据这些信息你可以调整生成参数找到速度和质量的平衡点。5. 使用技巧画出完美的比迪丽现在服务优化好了我们来聊聊怎么用好这个模型。5.1 基础提示词模板要生成比迪丽角色记得在提示词中加入触发词。根据你的输入内容触发词可以是bidilividel比迪丽基础模板bidili, 1girl, [姿势描述], [场景描述], [服装描述], masterpiece, best quality, highly detailed示例1战斗姿态bidili, 1girl, martial arts stance, determined expression, wearing fighting gi, in tournament arena, dynamic pose, action scene, masterpiece, best quality示例2日常装扮videl, 1girl, smiling, casual clothes, sitting in cafe, soft lighting, peaceful atmosphere, anime style, masterpiece5.2 LoRA权重调整在提示词中LoRA的权重可以调整lora:bidili_lora:1.0标准权重lora:bidili_lora:0.8减弱特征更通用lding:bidili_lora:1.2增强特征更接近原角色技巧权重不是越高越好0.7-1.0之间通常效果最佳。5.3 与其他LoRA组合比迪丽LoRA可以和其他LoRA组合使用创造更多样化的效果lora:bidili_lora:0.8, lora:anime_style:0.6, 1girl, school uniform, classroom setting这样既能保留比迪丽的特征又能加入动漫风格的画风。5.4 参数设置建议根据你的GPU性能调整这些参数GPU性能图片尺寸步数批量大小预估时间低端GPU4GB512×51220110-15秒中端GPU8GB768×7683018-12秒高端GPU12GB1024×102450215-20秒小技巧先用小尺寸和低步数测试构图满意后再用高参数生成最终图。6. 常见问题解决部署和使用过程中可能会遇到一些问题这里整理了一些常见问题的解决方法。6.1 服务启动失败问题Docker容器启动失败提示端口被占用。解决# 检查7860端口是否被占用 sudo lsof -i :7860 # 如果被占用可以修改docker-compose.yml中的端口映射 # 将7860:7860改为7861:7860然后通过7861端口访问6.2 GPU不被识别问题容器内无法使用GPUnvidia-smi命令失败。解决# 检查NVIDIA Container Toolkit是否安装正确 docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi # 重新安装NVIDIA Container Toolkit sudo apt purge nvidia-docker2 sudo apt install nvidia-docker2 sudo systemctl restart docker6.3 生成速度慢问题图片生成时间超过30秒。解决检查GPU使用率nvidia-smi查看Util%是否接近100%降低图片尺寸从1024×1024降到768×768减少推理步数从50步降到30步启用xFormers优化在WebUI设置中6.4 显存不足问题生成时提示CUDA out of memory。解决# 修改WebUI启动参数在docker-compose.yml中添加 environment: - CLI_ARGS--listen --port 7860 --medvram --always-batch-cond-uncond # 或者在WebUI设置中 # 1. 启用Low VRAM模式 # 2. 使用FP16精度代替FP32 # 3. 减少Batch size到16.5 模型加载失败问题LoRA模型在WebUI中不显示。解决# 进入容器检查模型文件 sudo docker exec -it bidili-webui bash ls /stable-diffusion-webui/models/Lora/ # 如果文件不存在重新复制 sudo docker cp ~/models/lora/bidili_lora.safetensors bidili-webui:/stable-diffusion-webui/models/Lora/ # 重启WebUI sudo docker-compose restart webui7. 进阶配置让系统更稳定高效如果你打算长期使用这个服务可以考虑以下优化。7.1 设置自动重启修改docker-compose.yml确保服务异常时能自动恢复services: webui: # ... 其他配置 ... restart: always healthcheck: test: [CMD, curl, -f, http://localhost:7860] interval: 30s timeout: 10s retries: 3 start_period: 40s7.2 配置资源限制防止WebUI占用过多资源影响其他服务services: webui: # ... 其他配置 ... deploy: resources: limits: cpus: 4.0 memory: 12G reservations: devices: - driver: nvidia count: 1 capabilities: [gpu]7.3 设置定期清理AI绘画会生成大量图片定期清理可以节省空间# 创建清理脚本 cat ~/cleanup.sh EOF #!/bin/bash # 删除7天前的输出文件 find ~/bidili-webui/outputs -type f -mtime 7 -delete # 删除空目录 find ~/bidili-webui/outputs -type d -empty -delete EOF # 添加执行权限 chmod x ~/cleanup.sh # 添加到crontab每周清理一次 (crontab -l 2/dev/null; echo 0 2 * * 0 /home/$(whoami)/cleanup.sh) | crontab -7.4 配置反向代理可选如果你希望通过域名访问可以配置Nginx反向代理server { listen 80; server_name your-domain.com; location / { proxy_pass http://localhost:7860; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }8. 总结通过这篇教程你应该已经成功在Ubuntu系统上部署了比迪丽LoRA模型并且学会了如何优化GPU使用让生成速度最大化。让我简单回顾一下关键点部署其实不难用Docker可以避免环境配置的麻烦一条命令就能启动服务GPU是关键有GPU和没GPU的速度差异很大一定要确保GPU驱动和Docker的GPU支持配置正确优化有技巧通过调整WebUI参数、使用xFormers、合理设置图片尺寸等可以进一步提升性能使用要讲究好的提示词加上合适的LoRA权重才能生成理想的图片这个方案有几个明显的优势隔离性好Docker容器让环境干净不会影响宿主机可移植性强配置好的服务可以轻松迁移到其他机器资源可控可以精确控制CPU、内存、GPU的使用维护简单更新、备份、恢复都很方便如果你在部署或使用过程中遇到问题不要着急。AI绘画的部署确实会有一些小坑但大多数问题都有解决方案。多看看日志输出按照错误信息去搜索通常都能找到答案。最后别忘了享受创作的过程。比迪丽这个角色有很多可以挖掘的特点——她的英气、她的成长、她和悟饭的故事。用AI把这些瞬间画出来本身就是一件很有趣的事情。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2419267.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…