【FaceChain风格DIY手把手教程】无限场景风格LoRA与固定人物LoRA的融合(4Kstar!)

news2024/12/24 3:59:13

先看效果

 

 

以上风格LoRA分别为:户外花园婚纱、冬季雪景汉服、火焰女神、仙侠风

环境准备

在魔搭平台ModelScope 魔搭社区中选择PAI-DSW-GPU环境

进入后打开terminal环境,先检查显存需要20G左右(nvidia-smi),然后下载核心文件。

GIT_LFS_SKIP_SMUDGE=1 git clone https://github.com/modelscope/facechain.git

以下进入正题

一、固定人物LoRA训练:

1、新建训练人物的文件夹 imgs,注意放在facechain文件夹下,将需要固定的人脸照片放入该文件夹

2、人物LoRA训练

然后在terminal中运行以下代码启动训练

PYTHONPATH=. CUDA_VISIBLE_DEVICES="0" sh train_lora.sh "ly261666/cv_portrait_model" "v2.0" "film/film" "./imgs" "./processed" "./output"

二、风格LoRA替换:

1、上传风格LoRA文件并修改参数

风格来源:outdoor photo|LiblibAI,主要迁移其户外花团锦簇风格,重新取名wedding

2、修改constants.py文件

主要修改文件名为新上传的风格文件,并在prompt增加wedding dress相关内容。

styles = [
    {'name': '默认风格(default style)'},
    {'name': '凤冠霞帔(Chinese traditional gorgeous suit)',
     'model_id': 'ly261666/civitai_xiapei_lora',
     'revision': 'v1.0.0',
     'bin_file': 'xiapei.safetensors',
     'multiplier_style': 0.35,
     'cloth_name': '汉服风(hanfu)',
     'add_prompt_style': 'red, hanfu, tiara, crown, '},
    {'name': '婚纱(wedding)',
     'model_id': 'ly261666/civitai_xiapei_lora',
     'revision': 'v1.0.0',
     'bin_file': 'wedding.safetensors',
     'multiplier_style': 0.35,
     'cloth_name': '婚纱(wedding)',
     'add_prompt_style': 'bride wearing a white wedding dress,simple and elegant style, <lora:outdoor photo_20230819231754:0.6> --ar 3:4'},
]

3、修改run_inference.py关键参数

修改风格文件夹路径,use_style改为true,顺序编号顺延为2

use_main_model = True
use_face_swap = True
use_post_process = True # 可改为False则不控制数量
use_stylization = False
processed_dir = './processed'
num_generate = 5
base_model = 'ly261666/cv_portrait_model'
revision = 'v2.0'
multiplier_style = 0.25
base_model_sub_dir = 'film/film'
train_output_dir = './output'
output_dir = './generated'
use_style = True

if not use_style:
    style_model_path = None
    pos_prompt = generate_pos_prompt(styles[0]['name'], cloth_prompt[0]['prompt'])
else:
    model_dir =  '/mnt/workspace/wedding'
    style_model_path = os.path.join(model_dir, styles[2]['bin_file'])
    pos_prompt = generate_pos_prompt(styles[2]['name'], styles[2]['add_prompt_style'])  # style has its own prompt

gen_portrait = GenPortrait(pos_prompt, neg_prompt, style_model_path, multiplier_style, use_main_model,
                           use_face_swap, use_post_process,
                           use_stylization)

outputs = gen_portrait(processed_dir, num_generate, base_model,
                       train_output_dir, base_model_sub_dir, revision)

os.makedirs(output_dir, exist_ok=True)

for i, out_tmp in enumerate(outputs):
    cv2.imwrite(os.path.join(output_dir, f'{i}.png'), out_tmp)

三、推理出图:

python run_inference.py

固定人脸+迁移的户外花团锦簇风格+prompt控制的婚纱=婚纱户外写真

附录

1、项目地址:GitHub - modelscope/facechain: FaceChain is a deep-learning toolchain for generating your Digital-Twin.(目前GitHub已超过4Kstar!)

2、原理讲解图文及视频讲解

3张照片打造专属形象!酷蛙FaceChain解密个人写真开源项目,人人AIGC!

3张照片打造AI个人写真!一周3k star /FaceChain开源项目一键部署_哔哩哔哩_bilibili

3、上期周报

酷蛙FaceChain开源项目迭代周记2023-08-19

4、全球开发者招募

酷蛙FaceChain项目已开源,我们计划后续联合开源社区的力量不断打磨该开源项目,解锁更多高阶玩法(比如人物表情包、人物连环画故事、虚拟试衣间……),并进行更深层次的算法创新,发表相应顶会论文。如果你对该开源项目感兴趣,对该开源项目的未来有憧憬与信仰,欢迎报名加入。

此处为语雀内容卡片,点击链接查看:登录 · 语雀

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

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

相关文章

面试题-React(七):React组件通信

在React开发中&#xff0c;组件通信是一个核心概念&#xff0c;它使得不同组件能够协同工作&#xff0c;实现更复杂的交互和数据传递。常见的组件通信方式&#xff1a;父传子和子传父 一、父传子通信方式 父组件向子组件传递数据是React中最常见的一种通信方式。这种方式适用…

什么是可观测性

可观测性是指使用从其组件收集的累积信息来了解系统或应用程序的当前状态&#xff0c;可观测性通常侧重于监视整个系统或应用程序&#xff0c;而不是单独管理元素&#xff0c;完全可观察的环境将深入了解网络堆栈&#xff0c;并始终保持网络基础设施处于最佳工作状态。 什么是…

整数拆分乘积最大

将一个整数拆分为若干个自然数的和&#xff0c;如果要使这些数的乘积最大&#xff0c;应该尽可能的拆分出3。 任意一个数字可以由多个3的n次方的和&#xff08;差&#xff09;表示。 import java.util.Scanner; // 1:无需package // 2: 类名必须Main, 不可修改public class M…

k8s的学习篇1

一 k8s的概念 1.1 k8s k8s是一个轻量级的&#xff0c;用于管理容器化应用和服务的平台。通过k8s能够进行应用的自动化部署和扩容缩容。 1.2 k8s核心部分 1.prod: 最小的部署单元&#xff1b;一组容器的集合&#xff1b;共享网络&#xff1b;生命周期是短暂的&#xff1b; …

<C++> 继承

1.继承的概念和定义 继承是面向对象其中的一个核心概念之一&#xff0c;继承允许一个类&#xff08;称为子类或派生类&#xff09;从另一个类&#xff08;称为父类或基类&#xff09;继承属性和行为&#xff0c;以便在子类中重用已有的代码并添加新的功能。通过继承&#xff0…

yo!这里是Linux基础开发工具介绍

目录 前言 基础开发工具 yum vim 1.基本介绍 2.基本操作 3.正常模式常用命令 4.底行模式常用命令 gcc/g gdb 1.基本介绍 2.常用操作 make/Makefile 1.背景 2.介绍 3.使用 git 1.介绍 2.操作 进度条程序简单实现 后记 前言 在学完初步的基础指令及权限控…

Spring Boot进阶(60):5种判断线程池任务是否全部完成的方案 | 实用技巧分享!

1. 前言&#x1f525; 多线程编程在现代软件开发中非常常见且重要&#xff0c;而线程池是多线程编程的常用技术。在使用线程池时&#xff0c;通常需要判断线程池中的任务是否全部完成&#xff0c;以便决定程序继续执行的下一步操作。本文将介绍5种判断线程池任务是否全部完成的…

MySQL项目迁移华为GaussDB PG模式指南

文章目录 0. 前言1. 数据库模式选择&#xff08;B/PG&#xff09;2.驱动选择2.1. 使用postgresql驱动2.1. 使用opengaussjdbc驱动 3. 其他考虑因素4. PG模式4.1 MySQL和OpenGauss不兼容的语法处理建议4.2 语法差异 6. 高斯数据库 PG模式JDBC 使用示例验证6. 参考资料 本章节主要…

Java的正则

正则表达式 一个正则表达式&#xff0c;就是用某种模式去匹配字符串的一个公式 正则表达式不是只有java才有&#xff0c;实际上很多编程语言都支持正则表达式进行字符串操作 正则表达式语法 限定选择匹配符分组组合和反向引用符特殊字符字符匹配符定位符 元字符(Metacharact…

建议收藏:进销存系统和erp的区别是什么

阅读本文&#xff0c;您可以了解&#xff1a;1、进销存系统是什么&#xff1b;2、erp是什么&#xff1b;3、进销存系统和erp的区别 一、进销存系统是什么 进销存系统&#xff08;Inventory Management System&#xff09;是一种用于跟踪、管理和优化企业库存流动的软件工具或系…

springboot服务端接口外网远程调试,并实现HTTP服务监听

文章目录 前言1. 本地环境搭建1.1 环境参数1.2 搭建springboot服务项目 2. 内网穿透2.1 安装配置cpolar内网穿透2.1.1 windows系统2.1.2 linux系统 2.2 创建隧道映射本地端口2.3 测试公网地址 3. 固定公网地址3.1 保留一个二级子域名3.2 配置二级子域名3.2 测试使用固定公网地址…

汽车电子 -- 笛卡尔坐标系和极坐标系

1.笛卡尔直角坐标系 相较于原点的两条数轴&#xff0c;构成了平面放射坐标系。如两条数轴上的度量单位相等&#xff0c;则称为放射坐标系为笛卡尔坐标系。两条数轴互相垂直的笛卡尔坐标系&#xff0c;称为笛卡尔直角坐标系。 2.极坐标 极坐标是指在平面内由极点、极轴和极径…

重大变动!亚马逊改变佣金规则

1.亚马逊将调整佣金规则 近日&#xff0c;亚马逊在发给卖家的一则邮件中&#xff0c;表示将调整佣金计算方式。根据收到邮件的卖家爆料&#xff0c;该邮件显示&#xff1a;自2023年10月24日起&#xff0c;亚马逊将按照卖家提供的报价计算推荐费&#xff0c;而不是按照消费者支…

数据库访问性能优化

在基于数据库进行业务功能的开发时&#xff0c;如何保证数据库访问的性能是区分普通程序员和高级程序员的分水岭。这里系统的梳理下如何在程序员视角下实现数据库访问性能优化。 本文是面向程序员的数据库访问性能优化法则一文的精简版&#xff0c;有兴趣的同学可以参考下原文。…

【Docker】云原生利用Docker确保环境安全、部署的安全性、安全问题的主要表现和新兴技术产生

前言 Docker 是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。 云原生利用Docker确保环境安全、部署的…

微信小程序开发教学系列(12)- 实战项目案例

十二、实战项目案例 本章将通过一个简单的实战项目案例来帮助读者巩固之前学习到的知识。我们将搭建一个名为“ToDoList”的微信小程序&#xff0c;实现一个简单的任务清单功能。 项目介绍 ToDoList是一个用于记录和管理任务的小程序。用户可以添加、编辑、完成和删除任务&a…

迅为RK3568开发板位置提取ROI

本小节代码在配套资料“iTOP-3568 开发板\03_【iTOP-RK3568 开发板】指南教程 \04_OpenCV 开发配套资料\06”目录下&#xff0c;如下图所示&#xff1a; 在 2.2 小节中学习了 imread()函数用来读取图像文件&#xff0c;以下面的代码为例读取到的信息会被保存到 img 变量中。 …

mybatis:拦截器Interceptor:

Mybatis执行概要图 可以从图中看出Mybatis可以被拦截的类型按先后顺序有以下四种&#xff1a; 1.Executor&#xff1a;拦截执行器的方法。 2.StatementHandler&#xff1a;拦截Sql语法构建的处理。 3.ParameterHandler&#xff1a;拦截参数的处理。 4.ResultHandler&#xff1a…

奥迪A6 C5空调制冷效果差维修(part 1)

一台2003年出厂的一汽奥迪A6 C5 2.8L轿车&#xff0c;装备BBG发动机及双区自动空调&#xff0c;行驶约159000公里。 该车空调制冷效果差。空调面板设定22度&#xff0c;用手感知出风口温度&#xff0c;凉&#xff0c;但不够凉。 压缩机离合器正常吸合、皮带盘正常运行。 该车…

第三讲,旋转向量和欧拉角

1.旋转向量 旋转矩阵来描述旋转&#xff0c;有了变换矩阵描述一个六自由度 的三维刚体运动&#xff0c;是不是已经足够了呢&#xff1f;但是&#xff0c;矩阵表示方式至少有以下几个缺点&#xff1a; SO(3) 的旋转矩阵有九个量&#xff0c;但一次旋转只有三个自由度。因此这种…