Closed Wallfacer005CN closed 10 months ago
我打算pr,写好了,先给你看一下 如果用app.py启动的话,webui上面直接切换就行,有两个:leosamsMoonfilm_filmGrain20和MajicmixRealistic_v6
如果不想启动服务,而是直接在命令行进行开发调试等工作,FaceChain也支持在python环境中直接运行脚本进行训练和推理。在克隆后的文件夹中直接运行如下命令来进行训练:
目前有两种基模型:
base_models = [
{
'name': 'leosamsMoonfilm_filmGrain20',
'model_id': 'ly261666/cv_portrait_model',
'revision': 'v2.0',
'sub_path': "film/film",
'style_list': ['工作服(Working suit)',
'盔甲风(Armor)',
'T恤衫(T-shirt)',
'汉服风(Hanfu)',
'女士晚礼服(Gown)',
'赛博朋克(Cybernetics punk)',
'凤冠霞帔(Chinese traditional gorgeous suit)']
},
{
'name': 'MajicmixRealistic_v6',
'model_id': 'YorickHe/majicmixRealistic_v6',
'revision': 'v1.0.0',
'sub_path': "realistic",
'style_list': ['冬季汉服(Chinese winter hanfu)',
'校服风(School uniform)',
'婚纱风(Wedding dress)',
'夜景港风(Hong Kong night style)',
'雨夜(Rainy night)',
'模特风(Model style)',
'机车风(Motorcycle race style)',
'婚纱风-2(Wedding dress 2)',
'拍立得风(Polaroid style)',
'仙女风(Fairy style)',
'古风(traditional chinese style)',
'壮族服装风(Zhuang style)',
'欧式田野风(European fields)']
},
]
不同的基模型提供的风格不一样,根据自己的需要切换基模型以及对应的配置信息,例如:
PYTHONPATH=. sh train_lora.sh "ly261666/cv_portrait_model" "v2.0" "film/film" "./imgs" "./processed" "./output"
PYTHONPATH=. sh train_lora.sh "YorickHe/majicmixRealistic_v6" "v1.0.0" "realistic" "./imgs" "./processed" "./output"
参数含义(两个基模型配置参数同理):
ly261666/cv_portrait_model: ModelScope模型仓库的stable diffusion基模型,该模型会用于训练,可以不修改
v2.0: 该基模型的版本号,可以不修改
film/film: 该基模型包含了多个不同风格的子目录,其中使用了film/film目录中的风格模型,可以不修改
./imgs: 本参数需要用实际值替换,本参数是一个本地文件目录,包含了用来训练和生成的原始照片
./processed: 预处理之后的图片文件夹,这个参数需要在推理中被传入相同的值,可以不修改
./output: 训练生成保存模型weights的文件夹,可以不修改
等待5-20分钟即可训练完成。用户也可以调节其他训练超参数,训练支持的超参数可以查看train_lora.sh
的配置,或者facechain/train_text_to_image_lora.py
中的完整超参数列表。
进行推理时,请编辑run_inference.py中的代码:
use_main_model = True
use_face_swap = True
# 使用姿态处理,默认False
use_post_process = False
# 使用风格化,默认False
use_stylization = False
# 使用深度控制,默认False,仅在使用姿态控制时生效
use_depth_control = False
# 使用姿态控制,默认False
use_pose_model = False
# 姿态控制图片路径,仅在使用姿态控制时生效
pose_image = 'poses/man/pose1.png'
# 填入上述的预处理之后的图片文件夹,需要和训练时相同
processed_dir = './processed'
# 推理生成的图片数量
num_generate = 5
# 基模型
base_model = 'ly261666/cv_portrait_model'
# 该基模型的版本号
revision = 'v2.0'
multiplier_style = 0.25
multiplier_human = 0.85
# 该基模型包含了多个不同风格的子目录,其中使用了film/film目录中的风格模型,可以不修改
base_model_sub_dir = 'film/film'
# 训练生成保存模型weights的文件夹,需要保证和训练时相同
train_output_dir = './output'
# 指定一个保存生成的图片的文件夹,本参数可以根据需要修改
output_dir = './generated'
# 用来训练和生成的原始照片文件夹
input_dir = './imgs'
# 默认使用工作服(Working suit)风格
style = styles[0]
model_id = style['model_id']
之后执行(若不指定参数推理,则使用run_inference.py文件中的默认参数):
python run_inference.py
即可在output_dir
中找到生成的个人数字形象照片。
也可以执行(若指定参数推理,需要和训练时保持一致,模型,版本号等其他信息):
python run_inference.py --base_model "YorickHe/majicmixRealistic_v6" --revision "v1.0.0" --base_model_sub_dir "realistic" --input_dir "./imgs" --processed_dir "./processed" --output_dir "./generated"
即可在output_dir
中找到生成的个人数字形象照片。
除了这两个之外,可以更换其他sd模型做基模吗?
除了这两个之外,可以更换其他sd模型做基模吗?
可以的。
closed as completed.
@Nomination-NRB 请问你pr了吗,下面这个base_models在哪查看
base_models = [
{
'name': 'leosamsMoonfilm_filmGrain20',
'model_id': 'ly261666/cv_portrait_model',
'revision': 'v2.0',
'sub_path': "film/film",
'style_list': ['工作服(Working suit)',
'盔甲风(Armor)',
'T恤衫(T-shirt)',
'汉服风(Hanfu)',
'女士晚礼服(Gown)',
'赛博朋克(Cybernetics punk)',
'凤冠霞帔(Chinese traditional gorgeous suit)']
},
{
'name': 'MajicmixRealistic_v6',
'model_id': 'YorickHe/majicmixRealistic_v6',
'revision': 'v1.0.0',
'sub_path': "realistic",
'style_list': ['冬季汉服(Chinese winter hanfu)',
'校服风(School uniform)',
'婚纱风(Wedding dress)',
'夜景港风(Hong Kong night style)',
'雨夜(Rainy night)',
'模特风(Model style)',
'机车风(Motorcycle race style)',
'婚纱风-2(Wedding dress 2)',
'拍立得风(Polaroid style)',
'仙女风(Fairy style)',
'古风(traditional chinese style)',
'壮族服装风(Zhuang style)',
'欧式田野风(European fields)']
},
]
@Nomination-NRB 请问你pr了吗,下面这个base_models在哪查看 base_models = [ { 'name': 'leosamsMoonfilm_filmGrain20', 'model_id': 'ly261666/cv_portrait_model', 'revision': 'v2.0', 'sub_path': "film/film", 'style_list': ['工作服(Working suit)', '盔甲风(Armor)', 'T恤衫(T-shirt)', '汉服风(Hanfu)', '女士晚礼服(Gown)', '赛博朋克(Cybernetics punk)', '凤冠霞帔(Chinese traditional gorgeous suit)'] }, { 'name': 'MajicmixRealistic_v6', 'model_id': 'YorickHe/majicmixRealistic_v6', 'revision': 'v1.0.0', 'sub_path': "realistic", 'style_list': ['冬季汉服(Chinese winter hanfu)', '校服风(School uniform)', '婚纱风(Wedding dress)', '夜景港风(Hong Kong night style)', '雨夜(Rainy night)', '模特风(Model style)', '机车风(Motorcycle race style)', '婚纱风-2(Wedding dress 2)', '拍立得风(Polaroid style)', '仙女风(Fairy style)', '古风(traditional chinese style)', '壮族服装风(Zhuang style)', '欧式田野风(European fields)'] }, ]
在这里,但这个是非功能性pr,他们好像没有接受 pull requests: update run_inference.py and README_ZH.md and README.md #219
base_models原本是在facechain/facechain/constants.py里面,现在仓库最新版只保留了ly261666/cv_portrait_model
我fork过,你可以去我仓库看https://github.com/Nomination-NRB/facechain/blob/main/facechain/constants.py
cv_portrait_model是比majic好吗,为什么他们只保留cv_portrait_model,我一般常用majic
cv_portrait_model是比majic好吗,为什么他们只保留cv_portrait_model,我一般常用majic
这个我就不知道了,最开始因为两种模型提供的风格不一样才区分开的,现在用cv_portrait好像都可以使用那些风格了
我看现在版本的base_models里有majic哇,可以直接使用PYTHONPATH=. sh train_lora.sh "YorickHe/majicmixRealistic_v6" "v1.0.0" "realistic" "./imgs" "./processed" "./output"来训练majic的lora吗
我看现在版本的base_models里有majic哇,可以直接使用PYTHONPATH=. sh train_lora.sh "YorickHe/majicmixRealistic_v6" "v1.0.0" "realistic" "./imgs" "./processed" "./output"来训练majic的lora吗
哦哦,我看错了,是app.py界面上不显示了,可以直接这样训练,但你推理的时候也需要用majic,要统一,所以我之前才弄了那个pr,通过命令行传参,若不传就用默认cv_portrait
如何更换基模?